数据库管理系统DBMS系统构架
赵锴 Kai Zhao kingaim AT gmail DOT com
数据库在大数据分析中仍然占有非常重要的地位。因此,对数据库内核的掌握也是大数据分析的必要条件。
模块化设计是数据库管理系统内核开发的一种重要的设计思想。将数据库管理系统的功能进行合理划分,每一个功能对应一个模块,最后通过模块之间的组合形成最终的系统。
图2.1.1给出了数据库管理系统的基本组成,其包括:
(1) 操作系统相关模块:通用数据结构、操作系统封装
(2) 存储相关模块:内存管理模块、缓存模块、多版本控制模块、空间管理模块
(3) 文件系统相关模块:Heap文件、Btree索引、Bitmap索引、Hash索引等文件系统
(4) 查询相关模块:查询编译、权限验证、查询语义分析、查询重写、查询优化、查询执行
(5) 运行实例相关模块: 多线程/多进程管理模块、Session管理模块
(6) 网络通信与客户端模块:网络通信协议模块、ODBC/JDBC等客户端数据库访问API
(7) 并发相关模块:事务模块、锁模块
(8) 数据恢复相关模块:日志模块、Checkpoint(检查点)模块和Recovery(系统恢复)模块
(9) 数据字典模块
(10) 数据分区与复制模块
(11) 系统管理工具模块:系统备份与恢复模块、批量导入导出模块、系统性能监控和调优模块等等