电子书《PostgreSQL 内参:深入解析运行原理》
postgres-internals.cn/docs/
本书为《PostgreSQL 14 Internals》 的中文翻译。译者熊灿灿,是 PostgreSQL ACE/MVP。
“本书适合那些在使用数据库时不愿满足于"暗箱"操作的人。如果你渴望学习,不愿盲从专家的建议,并且喜欢自己弄清楚一切,那么请继续阅读。
我假设读者已经尝试使用过 PostgreSQL,并且对其工作原理有一定的了解。初学者可能会觉得这本书有点难。例如,我不会讲解如何安装服务器、输入 psql 命令或设置配置参数。
我希望这本书对那些熟悉其他数据库系统,但想转而使用 PostgreSQL 并希望了解两者之间差异的人也有所帮助。几年前,如果有这样一本书,我本可以节省很多时间。这也正是我最终写下这本书的原因。”
主要内容为:
“第一部分讨论了数据一致性和隔离性的问题。我首先从用户的角度来探讨这些问题 (你将了解到有哪些隔离级别以及它们的影响),然后深入探讨其内部机制。为此,我将解释多版本并发控制以及快照隔离的实现细节,尤其是对于过期行版本的清理。
第二部分描述了缓冲区缓存和预写式日志,后者用于在故障后恢复数据的一致性。
第三部分详细介绍了各种锁的结构和使用,包括用于内存的轻量级锁、用于关系的重量级锁以及行级锁。
第四部分解释了服务器如何规划和执行 SQL 查询。我会告诉你有哪些数据访问方法、可以使用哪些连接方法,以及如何应用收集的统计信息。
第五部分在之前已经讨论过的 B 树索引的基础上,进一步探讨了其他访问方法的索引。我将解释一些扩展性的基本原则,这些原则定义了索引系统的核心、索引访问方法和数据类型之间的界限 (这将引出操作符类的概念),然后详细介绍每种可用的方法。”