数据库系统内幕-学习笔记-01
前言
你将深入了解如下内容:
- 存储引擎:学习存储的种类、分类依据,理解基于B树和不可变日志存储结构的存储引擎。
- 存储构建块:理解数据库文件如何使用诸如页缓存、缓冲池等辅助数据结构来组织构建高效的存储。
- 分布式系统:逐步学习节点和进程间如何连接并构建复杂的通信模式。
- 数据库集群:深入探究现在数据库中常用的一致性模型,并了解分布式存储系统是如何实现一致性的。
第一部分 存储引擎
数据库是模块化的系统,由多个部分组成:
- 接受请求的传输层
- 决定以最高效方式运行查询的查询处理器
- 执行操作的执行引擎
- 存储引擎
存储引擎(或数据库引擎)是数据库的一个软件组件,它负责在内存和磁盘上存储、检索和管理数据,而设计它的目的是长久保存每个节点的数据[REED78]。
数据库可以响应复杂的査询,存储引擎则会更细粒度地看待数据并提供一组简单的数据操作API,允许用户创建、更新、删除和检索数据记录。从某个角度来看,数据库是构建在存储引擎之上的应用程序,它提供了表结构( schema)、查询语言、索引、事务和许多其他有用的特性。
为了获得灵活性,键和值都可以是没有预设格式的任意字节序列。它