设计数据密集型应用(注释版)
设计数据密集型应用(注释版)
Martin Kleppmann
北京清数教育科技有限公司 译
出版时间:2026年07月
页数:767
“这本书太棒了。它为理论和工程实践之间的巨大鸿沟建立了一个有效的桥梁。我真心希望这本书能流传十多年,这样我就可以通过阅读本书来修正我一路走来所犯的各种错误。”
——杰伊·克雷普斯
Apache Kafka创建者,Confluent的CEO
“软件工程师们都应该阅读这本书,这本是少有的一本能够帮助软件开发者将理论与实际结合起来的书,它使得软件工程师能够做出更加明智的决定,并且设计和实现出优秀的架构和系统。”
——凯文·斯科特
微软公司CTO

数据是当今系统设计中诸多挑战的核心,其中有很多需要解决的问题,例如可扩展性、一致性、可靠性、效率和可维护性。此外,我们还有很多功能强大的工具,包括关系数据库、NoSOL数据存储、流或批处理以及各种消息系统。那么如何针对你的应用作出正确的选择?如何选择和组合这些工具才能使得它们发挥更大的作用呢?
在这本内容翔实、概念全面的指南中,作者Martin将带你亲身体验各种数据处理和数据存储技术的利弊,使得你在多样化的工具中如鱼得水。软件的更新迭代在持续进行中,但万变不离其宗。有了这本书,软件工程师和架构师将学习如何将想法付诸实践,以及如何在现代应用程序中充分利用数据。
● 深入学习常用系统的内部机制,并学习如何高效地应用这些技术。
● 分析各种工具的优缺点,帮助作出更加明智的选择。
● 解析如何寻找一致性、可扩展性、容错和复杂度之间平衡点。
● 介绍作为现代数据库基石的分布式系统的研究进展。
● 窥探并学习在线服务的背后技术。
  1. Chapter 1 Reliable, Scalable, and Maintainable Applications/可靠性,可扩展性,可维护性
  2. Thinking about Data Systems/数据系统深思
  3. Reliability/可靠性
  4. Scalability/可扩展性
  5. Maintainability/可维护性
  6. Summary
  7. References
  8. Chapter 2 Data Models and Query Languages/数据模型与查询语言
  9. Relational Model Versus Document Model/关系模型与文档模型
  10. Query Languages for Data/数据查询语言
  11. Summary/本章小结
  12. References
  13. Chapter 3 Storage and Retrieva/存储与检索
  14. Data Structures That Power Your Database/驱动数据库的数据结构
  15. Transaction Processing or Analytics?
  16. Column-Oriented Storage
  17. Summary/本章小结
  18. References
  19. Chapter 4 Encoding and Evolution/编码与演化
  20. Formats for Encoding Data/数据编码格式
  21. Modes of Dataflow/数据流的类型
  22. Summary/本章小结
  23. References
  24. Chapter 5 Replication/复制
  25. Leaders and Followers/领导者与追随者
  26. Multi-Leader Replication/多主复制
  27. Leaderless Replication/无主复制
  28. Summary/本章小结
  29. References
  30. Chapter 6 Partitioning/分区
  31. Partitioning and Replication/分区与复制
  32. Partitioning of Key-Value Data/键值数据分区
  33. Partitioning and Secondary Indexes/分片与次级索引
  34. Rebalancing Partitions/分区再平衡
  35. Request Routing/请求路由
  36. Summary/本章小结
  37. References
  38. Chapter 7 Transactions/事务
  39. The Slippery Concept of a Transaction/事务的难以明确的概念
  40. Weak Isolation Levels/弱隔离级别
  41. Summary/本章小结
  42. References
  43. Chapter 8 The Trouble with Distributed Systems/分布式系统的烦恼
  44. Faults and Partial Failures/故障和部分失败
  45. Unreliable Clocks/不可靠的锁
  46. Knowledge, Truth, and Lies/知识、事实和谎言
  47. Summary
  48. References
  49. Chapter 9 Consistency and Consensus/一致性和共识
  50. Consistency Guarantees
  51. Linearizability/线性一致性
  52. Ordering Guarantees
  53. Distributed Transactions and Consensus
  54. Summary
  55. References
  56. Chapter 10 Batch Processing/批处理
  57. Batch Processing with Unix Tools/批处理与Unix工具
  58. MapReduce and Distributed Filesystems/映射-规约和分布式文件系统
  59. Beyond MapReduce/映射-规约之外
  60. SummaryReferences
  61. Chapter 11 Stream Processing/流处理
  62. Transmitting Event Streams/传递时间流
  63. Databases and Streams/数据库与流
  64. Processing Streams/流处理
  65. Summary/本章小结
  66. References
  67. Chapter 12 The Future of Data Systems/数据系统的未来
  68. Data Integration/数据集成
  69. Unbundling Databases/分拆数据库
  70. Aiming for Correctness/将事情做正确
  71. Doing the Right Thing/做正确的事
  72. Summary
  73. References
书名:设计数据密集型应用(注释版)
作者:Martin Kleppmann
译者:北京清数教育科技有限公司 译
国内出版社:清华大学出版社
出版时间:2026年07月
页数:767
书号:978-7-302-69828-9
原版书书名:Designing Data-intensive Applications
原版书出版商:O'Reilly Media
Martin Kleppmann
 
Martin Kleppmann是英国剑桥大学分布式系统方向的研究员。此前,他曾是LinkedIn和Rapportive等互联网公司的软件工程师,负责大规模数据基础设施建设。在此过程中他遇到过一些困难,因此他希望这本书能够帮助读者避免重蹈覆辙。Martin还是一位活跃的会议演讲者、博主和开源贡献者。他认为,每个人都应该学习深刻的技术理念,对技术的深入理解能帮助我们开发出更好的软件。
 
 
购买选项
定价:198.00元
书号:978-7-302-69828-9
出版社:清华大学出版社