数据密集型应用系统设计
书籍简介
《数据密集型应用系统设计》是一本深入探讨现代数据系统设计原理和实践的书籍。作者Martin Kleppmann结合自己在分布式数据系统领域的丰富经验,系统地介绍了构建数据密集型应用所需的核心概念和技术。
核心主题
数据模型与查询语言
- 关系模型、文档模型和图模型的比较
- SQL与NoSQL的适用场景
- 查询优化技术
存储与检索
- 数据结构的选择(B树、LSM树等)
- 存储引擎的设计原理
- 索引策略
分布式系统
- 数据复制与一致性
- 分区与分片策略
- 事务与并发控制
- 分布式系统的容错机制
读书笔记
第一部分:数据系统基础
这一部分介绍了数据系统的基本概念,包括数据模型、存储和查询等方面。作者强调了理解底层原理的重要性,而不是仅仅学会使用工具。
第二部分:分布式数据
这一部分深入探讨了分布式系统的核心挑战,包括一致性、可用性和分区容忍性之间的权衡(CAP定理)。
学习计划
- [ ] 第1章:可靠性、可扩展性和可维护性
- [ ] 第2章:数据模型与查询语言
- [ ] 第3章:存储与检索
- [ ] 第4章:编码与演化
- [ ] 第5章:复制
- [ ] 第6章:分区
- [ ] 第7章:事务
- [ ] 第8章:分布式系统的麻烦
- [ ] 第9章:一致性与共识
实践思考
这本书对于理解和设计大规模数据系统非常有帮助,特别是在微服务架构和云原生环境下,这些知识显得尤为重要。