强调DBMS(Database Management System) 的工程性
数据库系统的发展
- 定义数据
- 查询/操纵数据
- 大数据下的高效查询与修改
- 持久性
- 独立性/原子性
DBMS 概述
按照来源可以分为来自于User和DBA(database administrator)的命令
- <数据定义语言命令> 可以理解为DBA发出的指令,使用数据定义语言DDL(Data Define Language)
- <查询处理>
- 查询编译器对查询进行分析和优化,得到查询计划,再交给执行引擎
- 中间存在缓冲区,缓冲区与存储管理器通信
- <事务处理>
- 事务的定义:组成一组的若干个查询和其它动作。(一个也可以)
- 事务要保持孤立性和持久性和原子性
- 事务处理器分为并发控制管理器(负责原子性和孤立性)和 日志和恢复管理器(负责持久性)
主存和缓冲区管理器
数据在辅助存储器上(磁盘),缓冲区在主存中,缓冲区是与页面同等大小的区域,磁盘块可直接复制到缓冲区。
执行引擎与缓冲区管理器交互,缓冲区管理器和存储管理器交互。他们之间传递的数据可以分为几个大类
- 数据
- 元数据
- 日志记录
- 统计信息
- 索引
事务处理
- 日志记录
- 并发控制
- 死锁解决
查询处理器
- 查询编译器
- 查询分析器
- 查询预处理器
- 查询优化器
- 执行引擎 需要和其它很多成分进行交互,比如缓冲区管理器/调度器/日志管理器等。
Database System Implementation 的主要内容
- 数据库系统实现
- 存储管理
- 查询处理
- 事务处理
- 现代数据库系统
近期评论