天天看点

庖丁解牛数据库系统结构

标题索引

追朔原因

软件结构

文件分类

总结分析

    提及数据系统让人望其项背、难以起及,思考良久日:"不识庐山真面目,只缘身在此山中",此山看彼山或许才能识得彼山雄壮真容,为识数据库大山,望一步一印爬彼山。

    数据库系统软件系统自称数据存储的生态系统,因此类似完整操作系统,拥有不同引擎、连接接口、管理系统、线程等等完整的生态系统节点,具体可参考如下官方结构图:

<a href="https://s5.51cto.com/oss/201711/22/b5e43f1b24eed4b8353d3de23b13d3ff.png" target="_blank"></a>

图1-1 mysql数据库系统结构图

    由图可知数据系统主要由Connectors、Connection pool、Management Services、Utillties、SQL interface、Parser、Optimizer、Caches&amp;Buffers和Pluggable Storage Engines组成。

    Connectors:是连接数据库的组件,不同开发语言及不同的应用场景所用的数据库连接管理工具不同,其主要目的是连接登陆管理数据库。

    Connection Pool:由图可知在线程池的组件中又有各个子功能,分别如下:

        Authentication:客户端验证功能

        Thread Reuse:线程重用功能,当线程处理完请求会并不会销毁线程,而是调会空闲线程池中以供处理其他请求;

        Connetion limits:连接限制,由线程池中的线程数量决定连接数量;

        Check Memory:内存资源检测。

    Management Services &amp; Utillties:服务器的管理如备份、备份恢复、集群配置等等相关配置文件;

    SQL interface:

        DML,DDL,Stored Procedures Views,Triggers等SQL语句的接口功能

    Parser:解析器,SQL语句通过在解释器进行查询授权的权限;

    Optimizer:通过将SQL语句进行优化,优化后进行路径查询;

    Storage Engines:不同的存储引擎,引擎不一致存储方式和存储结构等不一致;

    File system:文件所存储的文件系统;

    File &amp; logs:文件存储及日志文件的的相关信息,如Redo、Undo、Data、Index、Binary、Error、Query and Slow;

    在数据文件基本上分为两大类数据文件和日志文件

    数据文件:数据库文件和索引文件

    日志文件:重做日志、撤销日志、二进制日志、错误日志、查询日志、慢查询日志和中继日志

本文转自 薛伟博 51CTO博客,原文链接:http://blog.51cto.com/weiboxue/2043356,如需转载请自行联系原作者