数据系统基础
可靠、可扩展与可维护的应用系统
数据模型与查询语言
数据存储与检索
数据编码与演化
分布式数据系统
目的:扩展性、容错和高可用、延迟考虑(多机房)
扩展:
- 垂直扩展:提升单机性能
- 水平扩展:无共享结构,由软件实现核心逻辑
复制与分区:
- 复制:多节点冗余
- 分区:数据库拆分
- 分片:分区分配给不同的节点
数据复制
数据分区
事务
分布式系统挑战
一致性与共识
派生数据
- 记录系统:真实数据系统,拥有数据的权威版本。
- 派生数据系统:从另一个数据系统获取,丢失可以根据数据源重建,如缓存等。