全书分为三大部分:
第一部分,主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第1章即瞄准目标:可靠性、可扩展性与可维护性,如何认识这些问题以及如何达成目标。第2章我们比较了多种不同的数据模型和查询语言,讨论各自的适用场景。接下来第3章主要针对存储引擎,即数据库是如何安排磁盘结构从而提高检索效率。第4章转向数据编码(序列化)方面,包括常见模式的演化历程。
第二部分,我们将从单机的数据存储转向跨机器的分布式系统,这是扩展性的重要一步,但随之而来的是各种挑战。所以将依次讨论数据远程复制(第5章)、数据分区(第6章)以及事务(第7章)。接下来的第8章包括分布式系统的更多细节,以及分布式环境如何达成一致性与共识(第9章)。
第三部分,主要针对产生派生数据的系统,所谓派生数据主要指在异构系统中,如果无法用一个数据源来解决所有问题,那么一种自然的方式就是集成多个不同的数据库、缓存模块以及索引模块等。首先第10章以批处理开始来处理派生数据,紧接着第11章采用流式处理。第12章总结之前介绍的多种技术,并分析讨论未来构建可靠、可扩展和可维护应用系统可能的新方向或方法。
作者简介
Martin Kleppmann是英国剑桥大学分布式系统方向的研究员。此前,他曾是LinkedIn和Rapportive等互联网公司的软件工程师,负责大规模数据基础设施建设。在此过程中他遇到过一些困难,因此他希望这本书能够帮助读者避免重蹈覆辙。Martin还是一位活跃的会议演讲者、博主和开源贡献者。他认为,每个人都应该学习深刻的技术理念,对技术的深入理解能帮助我们开发出更好的软件。
译者简介
赵军平, 大数据存储与分析资深开发者与推广者(EMC 10余年),GPU异构计算的亲历者。中国计算机协会专家委员,DELL EMC资深架构师。12年系统研发、创新与团队管理经验,擅长数据存储与保护, 云计算与大数据实时分析,GPU异构加速优化等。相关领域已申请中、美技术专利100余项,并多次在SNIA,LinuxConf,Hadoop Summit, Nvidia GPU Tech Conf等做技术分享,持续关注数据密集和计算密集相关技术的演进、融合与赋能推广。
吕云松,北京大学计算机硕士,硕士及DELL EMC中国研究院实习期间专注于大数据实时流式处理相关的研究。现就职于华为2012中软院黎曼实验室,主要从事深度学习的研发。
耿煜,DELL EMC架构师兼GTM负责人,致力于推广企业级数字化转型方案。深耕分布式架构以及云计算12年,先后任职于ChinaCache,Sun Microsystems以及EMC等公司。
李三平,美国麻省大学计算机工程专业博士,DELL EMC中国研究院首席科学家,研究方向为机器学习、深度学习、智能运维、遥感影像等。已在IEEE Transactions期刊和会议上发表论文数十篇,申请美国专利20余项。推崇简约,热衷机器学习。
“这本书非常棒!它弥补了分布式理论和工程实践之间的鸿沟。我多么希望十年前它就能面市,这样我可以早点读到,从而避免这一路犯下的许多错误。”
——Jay Kreps
Apache Kafka的创造者,
Confluent CEO
“本书应该是软件开发者的必读书籍。很少有这样的书籍可以如此完美地衔接理论与实践,对于那些设计和实现基础数据架构的开发者而言,它可以帮你做出睿智的决定。”
——Kevin Scott