目录

深入理解数据库-数据库组件

深入理解数据库–数据库组件

数据库组件

核心组件

  • 进程管理器:很多数据库具备一个需要妥善管理的进程/线程池。再者,为了实现纳秒级操作,一些现代数据库使用自己的线程而不是操作系统线程。

  • 网络管理器:网路I/O是个大问题,尤其是对于分布式数据库。所以一些数据库具备自己的网络管理器。

  • 文件系统管理器:磁盘I/O是数据库的首要瓶颈。具备一个文件系统管理器来完美地处理OS文件系统甚至取代OS文件系统,是非常重要的。

  • 内存管理器:为了避免磁盘I/O带来的性能损失,需要大量的内存。但是如果你要处理大容量内存你需要高效的内存管理器,尤其是你有很多查询同时使用内存的时候。

  • 安全管理器:用于对用户的验证和授权。

  • 客户端管理器:用于管理客户端连接。

    。。。

工具

  • 备份管理器:用于保存和恢复数据。

  • 复原管理器:用于崩溃后重启数据库到一个一致状态。

  • 监控管理器:用于记录数据库活动信息和提供监控数据库的工具。

  • Administration管理器:用于保存元数据(比如表的名称和结构),提供管理数据库、模式、表空间的工具。

    。。。

查询管理器

  • 查询解析器:用于检查查询是否合法。
  • 查询重写器:用于预优化查询。
  • 查询优化器:用于优化查询。
  • 查询执行器:用于编译和执行查询。

数据管理器

  • 事务管理器:用于处理事务。
  • 缓存管理器:数据被使用之前置于内存,或者数据写入磁盘之前置于内存。
  • 数据访问管理器:访问磁盘中的数据。