数据密集型应用系统设计
Martin Kleppmann
赵军平, 吕云松, 耿煜, 李三平 译
出版时间:2018年09月
页数:519
当今很多应用系统的核心挑战在于数据。有诸多系统层面的问题亟须解决方案,例如扩展性、一致性、可靠性、效率问题,以及可维护性等。此外,摆在我们面前的还有各种各样的工具,包括关系型数据库、NoSQL存储系统、批处理、流处理,以及各种消息系统。问题是,哪些是最合适的工具?又该如何评估、考量这些林林总总商业名词背后的技术呢?
本书内容详实并富有实际指导价值,本书作者将带你纵览各种数据处理和存储技术,探讨背后的优劣与取舍之道。软件应用虽有千般变化,却终有若干原则贯穿其中。通过本书,软件开发者和架构师将学到如何将这些原则用于实践,以及如何在最新的应用架构中充分发挥数据的威力。
● 深入探索常用分布式系统内部机制,学习如何高效运用这些技术。
● 分析各种工具的优势和不足,帮助做出明智的设计决策。
● 解析一致性、扩展性、容错和复杂度之间的权衡利弊。
● 介绍分布式系统研究的最新进展(现代数据库的基石)。
● 揭示主流在线服务的基本架构。
  1. 前言
  2. 第一部分 数据系统基础
  3. 第1章 可靠、可扩展与可维护的应用系统
  4. 认识数据系统
  5. 可靠性
  6. 可扩展性
  7. 可维护性
  8. 小结
  9. 第2章 数据模型与查询语言
  10. 关系模型与文档模型
  11. 数据查询语言
  12. 图状数据模型
  13. 小结
  14. 第3章 数据存储与检索
  15. 数据库核心:数据结构
  16. 事务处理与分析处理
  17. 列式存储
  18. 小结
  19. 第4章 数据编码与演化
  20. 数据编码格式
  21. 数据流模式
  22. 小结
  23. 第二部分 分布式数据系统
  24. 第5章 数据复制
  25. 主节点与从节点
  26. 复制滞后问题
  27. 多主节点复制
  28. 无主节点复制
  29. 小结
  30. 第6章 数据分区
  31. 数据分区与数据复制
  32. 键-值数据的分区
  33. 分区与二级索引
  34. 分区再平衡
  35. 请求路由
  36. 小结
  37. 第7章 事务
  38. 深入理解事务
  39. 弱隔离级别
  40. 串行化
  41. 小结
  42. 第8章 分布式系统的挑战
  43. 故障与部分失效
  44. 不可靠的网络
  45. 不可靠的时钟
  46. 知识,真相与谎言
  47. 小结
  48. 第9章 一致性与共识
  49. 一致性保证
  50. 可线性化
  51. 顺序保证
  52. 分布式事务与共识
  53. 小结
  54. 第三部分 派生数据
  55. 第10章 批处理系统
  56. 使用UNIX工具进行批处理
  57. MapReduce与分布式文件系统
  58. 超越MapReduce
  59. 小结
  60. 第11章 流处理系统
  61. 发送事件流
  62. 数据库与流
  63. 流处理
  64. 小结
  65. 第12章 数据系统的未来
  66. 数据集成
  67. 分拆数据库
  68. 端到端的正确性
  69. 做正确的事情
  70. 小结
  71. 术语表
书名:数据密集型应用系统设计
作者:Martin Kleppmann
译者:赵军平, 吕云松, 耿煜, 李三平 译
国内出版社:中国电力出版社
出版时间:2018年09月
页数:519
书号:978-7-5198-2196-8
原版书书名:Designing Data-Intensive Applications
原版书出版商:O'Reilly Media
Martin Kleppmann
 
Martin Kleppmann是英国剑桥大学分布式系统方向的研究员。此前,他曾是LinkedIn和Rapportive等互联网公司的软件工程师,负责大规模数据基础设施建设。在此过程中他遇到过一些困难,因此他希望这本书能够帮助读者避免重蹈覆辙。Martin还是一位活跃的会议演讲者、博主和开源贡献者。他认为,每个人都应该学习深刻的技术理念,对技术的深入理解能帮助我们开发出更好的软件。