SQLite 数据库如何工作

主要观点:数据库是软件系统的重要部分,本文讨论早期 SQLite 数据库的架构细节。SQLite 是高性能、轻量级关系数据库,有不同版本,早期版本易读,理解数据库内部实现需具备数据结构等知识。
关键信息

  • SQLite 由 D.Richard Hipp 于 2000 年 8 月发明,可用于数百万软件和设备。
  • 数据库架构分为核心(包含接口等)和后端(包含 B 树等)两部分。
  • 数据库可分为关系型、键值型等,SQLite 是关系型。
  • VFS 提供通用文件访问 API,Pager 以固定大小块读写数据,Btree 以树结构存储数据提高性能,VDBE 运行操作码,Compiler 生成操作码。
    重要细节
  • 学习数据库内部需懂数据结构等,可从 SQLite 2.5.0 版本入手,可在 GitHub 上找到相关实现。
  • VFS 的 API 如打开读写文件等函数的使用方法。
  • Pager 的相关函数及页面单位等。
  • Btree 的数据结构、根页等,及用于指向行的“Cursor”。
  • VDBE 中 SQL 命令转换为操作码及示例执行栈。
  • Compiler 中Tokenizer、Parser 和 Code Generator 的作用及 Lemon 解析器。
阅读 2
0 条评论