这是一部对分布式数据库的核心原理、架构设计以及经典分布式数据库的实现进行深入剖析的著作,融入了作者在腾讯、Oracle等企业20余年的数据库实践经验,以及数据库领域前沿的研究成果,得到了中国人民大学杜小勇教授等多位业界知名专家的高口碑和鼎力推荐。 本书以前沿技术和工程实践为抓手,沿着问题确认、原理阐述、架构剖析、实例分析的思路,从3个方面对分布式数据进行了讲解。 分布式数据库原理。首先提出了分布式系统面临的典型问题,尤其是一致性问题;然后结合CAP原理和分布式事务处理技术中的ACID技术对这些问题(重点是一致性问题)的本质进行深挖;接着基于时钟、Paxos协议、Raft算法等给出可行的解决方案;最后深度解读事务处理技术中的MVCC、OCC、DTA等技术在近年的发展。 分布式数据库架构。讨论了影响架构的内在、外在技术因素,其中内在因素包括强一致性、高可靠性、高可用性等;外在因素包括云计算、Serveless需求等。这部分最终要解决的问题是:如何通过计算/存储分离、智能化和新硬件技术实现系统的高可扩展性、高可靠性以及高可用性? 分布式数据库实现。从工程实践的角度,以Spanner、CockroachDB等多个数据库为对象,从问题、原理、前沿技术研究成果等角度对分布式数据库的架构、事务处理技术的实现以及在实际系统中的落地进行了详细介绍。