首先,分为存储(文件系统)和程序实例两大部分。
程序实例划分
- 存储管理模块:将数据的逻辑关系转换成为物理存储关系。
- 缓存机制模块:优化执行效率。
- SQL解析模块:解析SQL语句。
- 日志管理模块:记录操作日志。
- 权限划分模块:进行多用户管理。
- 容灾机制模块:灾难恢复。
- 索引管理模块:优化数据查询效率。
- 锁管理模块:使得数据库支持并发操作。
缓存不宜过大,应该要有淘汰优化算法。
数据库的重点是索引和锁管理模块。
索引(以下答案不完善)
问:为什么要使用索引?
答:全表扫描在数据量较小的时候会很快,但在数据量较大的时候,查询就会很慢;快速查询数据
问:什么样的信息能成为索引?
答:主键、唯一键以及普通键等。
问:索引的数据结构
答:1.生成索引,建立二叉查找树进行二分查找;
2.生成索引,建立B-Tree结构进行查找;
3.生成索引,建立B±Tree结构进行查找;(mysql)
4.生成索引,建立Hash结构进行查找。