暂时只是零散的记录一些东西,等有了整体的认知之后再整理


数据库领域最重要的一句话: 天下没有免费的午餐,各种设计都有其优缺点。

数据库系统结构,从上往下

  1. Query Plan 查询计划
  2. Operator Execution 执行操作
  3. Access Methods 访问方法(向上提供访问方法)
  4. Buffer Pool Manager 缓冲区管理器(将磁盘内容载入内存)
  5. Disk Manager 磁盘管理器

Page

  • 硬件Page,通常大小为4kb,操作是原子的
  • 操作系统Page,通常大小为4kb,有巨页
  • 数据库系统Page,数据库系统自己定义的Page

面向元组存储

行存储常使用槽页,槽数组从前往后扩展,元组从后往前扩展。槽数组存储偏移值。

日志结构存储

内存中有一个mem表,用于快速更新,如果mem表满了就写入disk中的SSTable,在disk中有层级,每当一层满了后就合并SSTable并将新的SSTable放入下一层级。

缺点:元组生命周期伴随整个数据库,

索引组织存储