E-BOOK
设计数据密集型应用
PDF
设计数据密集型应用
📥 PDF 电子书 · 百度网盘 · 约 68M
📖 南京东南大学出版社
🌐 zh-CN
📅 2,017 年出版
279
下载次数
4.8
用户评分
PDF
📦 下载本书
- 系统选型缺乏依据:通过识别不同工具的优缺点,帮助读者在数据库和消息队列等选型中做出更明智的决策。
- 不理解一致性与容错权衡:深入剖析一致性、可伸缩性、容错性和复杂度之间的权衡关系,建立系统设计判断力。
- 分布式理论难以落地:将分布式系统研究与现代数据库构建基石相结合,弥合理论与工程实践的鸿沟。
- 不了解主流在线服务架构:带领读者走到主流在线服务幕后,学习其数据系统架构设计思路。
- 已有系统使用效率低:深入分析读者已在使用的系统,帮助更高效地使用和运维这些系统。
★★★
中级
入门初级中级进阶高级
- 软件工程师与架构师:需要设计和实现数据基础设施,必须理解分布式系统的核心权衡与设计原则。
- 后端开发人员:日常使用数据库和消息队列,希望深入理解底层原理以提升系统设计能力。
- 数据库运维人员:需要了解不同存储引擎和复制机制的优劣,优化系统运维效率。
- 计算机专业高年级学生与研究生:希望将分布式系统理论知识与工业界实践相结合。
- 先读第一部分打基础:第1至4章建立数据系统基础认知,是后续深入阅读的前提。
- 重点精读复制与分区章节:第5、6章是分布式系统的核心,建议结合工作实际反复研读。
- 事务与一致性章节需慢读:第7至9章概念密集,建议配合笔记和图示辅助理解。
- 批处理与流处理按需阅读:第10、11章可根据工作方向选择性深入,不必强求一次读完。
- 结合已有系统对照思考:阅读时对照自己正在使用的系统,思考其设计取舍与改进空间。
- 建立系统思维:能够从可靠性、可伸缩性和可维护性三个维度评估和设计数据系统。
- 掌握选型能力:理解不同数据模型、存储引擎和查询语言的适用场景,做出明智技术决策。
- 理解分布式核心:深入掌握复制、分区、事务和共识等分布式系统核心概念与实现机制。
- 洞察架构演进:了解主流在线服务的数据架构设计,理解批处理与流处理的融合趋势。
- 避免常见错误:通过学习前人的经验教训,在系统设计中规避常见的分布式陷阱。
📖 书籍简介
内容简介
书中包含以下内容:
? 深入分析你已经在使用的系统,并学习如何更高效地使用和运维这些系统
? 通过识别不同工具的优缺点,作出更明智的决策
? 了解一致性、可伸缩性、容错性和复杂度之间的权衡
? 理解分布式系统研究,这些研究是现代数据库构建的基石
? 走到一些主流在线服务的幕后,学习它们的架构
? 深入分析你已经在使用的系统,并学习如何更高效地使用和运维这些系统
? 通过识别不同工具的优缺点,作出更明智的决策
? 了解一致性、可伸缩性、容错性和复杂度之间的权衡
? 理解分布式系统研究,这些研究是现代数据库构建的基石
? 走到一些主流在线服务的幕后,学习它们的架构
作者简介
Martin Kleppmann,是英国剑桥大学的一名分布式系统研究员。在此之前他曾是软件工程师和企业家,在 Linkedin 和 Rapportive 工作过,从事大规模数据基础设施相关的工作。Martin 经常在大会做演讲,写博客,也是开源贡献者。
精彩书评
“这本书太棒了,它在分布式系统理论和实际工程之间的巨大鸿沟上架起了一座桥梁。多希望十年前就能读到这本书,那么这些年来我犯的很多错误就都能避免了。”
——Jay Kreps(Apache Kafka 创始人,Confluent CEO)
“这是一本软件工程师的必读之作。《设计数据密集型应用》是能够连接理论和实践的稀有资料,它能帮助开发者在设计和实现数据基础设施及系统的时候作出明智的决策。”
——Kevin Scoot(微软CTO)
——Jay Kreps(Apache Kafka 创始人,Confluent CEO)
“这是一本软件工程师的必读之作。《设计数据密集型应用》是能够连接理论和实践的稀有资料,它能帮助开发者在设计和实现数据基础设施及系统的时候作出明智的决策。”
——Kevin Scoot(微软CTO)
📑 章节目录
- 可靠、可伸缩、可维护的应用系统
- 数据模型与查询语言
- 存储与检索
- 编码与演化
- 复制
- 分区
- 事务
- 分布式系统的麻烦
- 一致性与共识
- 批处理
- 流处理
- 数据系统的未来