数据库
这条精选路线从一个成熟的单机数据库出发,再看大规模分布式存储和全球事务。重点不是背名词,而是理解数据怎样被组织、复制和保持一致。
先读这 3 篇
Section titled “先读这 3 篇”PostgreSQL
从真实实现理解查询、事务、索引和存储引擎如何组成数据库。
先建立“一个数据库内部有什么”的整体地图。
Bigtable
理解大规模结构化数据如何按 tablet 切分、存储和调度。
观察规模增长后,单机结构怎样变成分布式系统。
Spanner
理解全球复制、外部一致性和 TrueTime 如何共同支撑事务。
重点看“时间”为什么会成为数据库协议的一部分。
读完你应该能回答
Section titled “读完你应该能回答”- 单机数据库的查询、事务、索引和存储分别解决什么问题?
- Bigtable 为什么要切分 tablet,它牺牲和保留了哪些能力?
- Spanner 为什么需要 TrueTime,时钟不确定性怎样影响提交?
- 业务说“需要一致性”时,你还应该继续追问什么?