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