高级·2017·12 章
数据密集型应用系统设计
Designing Data-Intensive Applications
分布式系统的圣经
作者:Martin Kleppmann·O'Reilly Media·ISBN: 978-1449373320
分布式系统领域的权威著作。系统讲解数据系统的核心概念:可靠性、可扩展性、可维护性。涵盖数据库内部实现、复制与分区、事务与一致性、流处理与批处理。
为什么读这本书
理解现代互联网应用背后的数据系统原理,是架构师和后端工程师的必读书。
章节导览
01
可靠、可扩展、可维护
100 次阅读· 已读 14秒· 预计 12 分钟
系统设计的三大目标
可靠性可扩展性可维护性
关联层级:L7
02
数据模型与查询语言
5 次阅读· 预计 13 分钟
关系型 vs 文档型 vs 图数据库
SQLNoSQL数据模型
关联层级:L6L7
03
存储与检索
7 次阅读· 预计 13 分钟
数据库内部如何工作
B-TreeLSM-TreeSSTable索引
关联层级:L2L7
04
编码与演化
5 次阅读· 预计 10 分钟
数据格式的前世今生
JSONProtobufAvroSchema演化
关联层级:L6
05
复制
4 次阅读· 预计 12 分钟
让数据多一份保障
主从复制多主复制无主复制复制延迟
关联层级:L7
06
分区
4 次阅读· 预计 12 分钟
把大数据拆小
哈希分区范围分区二次分区再平衡
关联层级:L7
07
事务
4 次阅读· 预计 12 分钟
数据库的原子操作
ACID隔离级别快照隔离
关联层级:L5L7
08
分布式系统的麻烦
4 次阅读· 预计 12 分钟
网络不可靠
故障检测时钟因果序拜占庭故障
关联层级:L7
09
一致性与共识
3 次阅读· 预计 12 分钟
让多个节点达成一致
线性一致性全序广播PaxosRaft
关联层级:L7
10
批处理
3 次阅读· 预计 11 分钟
MapReduce 与离线计算
MapReduceSpark数据流
关联层级:L7
11
流处理
4 次阅读· 预计 11 分钟
实时数据的力量
事件流Kafka时间语义Exactly-once
关联层级:L7
12
系统的未来
5 次阅读· 预计 13 分钟
数据系统往何处去
Lambda架构状态机复制伦理
关联层级:L7
标签
分布式系统数据库一致性可扩展性