简介
《数据密集型应用系统设计》全书分为三大部分:
第一部分,主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第 1 章即瞄准目标:可靠性、可扩展性与可维护性,如何认识这些问题以及如何达成目标。第 2 章我们比较了多种不同的数据模型和查询语言,讨论各自的适用场景。接下来第 3 章主要针对存储引擎,即数据库是如何安排磁盘结构从而提高检索效率。第 4 章转向数据编码(序列化)方面,包括常见模式的演化历程。
第二部分,我们将从单机的数据存储转向跨机器的分布式系统,这是扩展性的重要一步,但随之而来的是各种挑战。所以将依次讨论数据远程复制(第 5 章)、数据分区(第 6 章)以及事务(第 7 章)。接下来的第 8 章包括分布式系统的更多细节,以及分布式环境如何达成一致性与共识(第 9 章)。
第三部分,主要针对产生派生数据的系统,所谓派生数据主要指在异构系统中,如果无法用一个数据源来解决所有问题,那么一种自然的方式就是集成多个不同的数据库、缓存模块以及索引模块等。首先第 10 章以批处理开始来处理派生数据,紧接着第 11 章采用流式处理。第 12 章总结之前介绍的多种技术,并分析讨论未来构建可靠、可扩展和可维护应用系统可能的新方向或方法。"