分布式数据库原理、架构与实践
上QQ阅读APP看书,第一时间看更新

前言

为什么写这本书

现代的分布式技术在互联网应用的驱动下,在CAP理论的引领下,已经有了很多新的内涵和外延。而分布式技术体系下,分布式数据库技术的发展方兴未艾,其中有很多“新”问题正在被研究,例如:CAP理论中代表分布式一致性的C和事务ACID中的C之间是什么关系?是否存在可结合之处?当然,也有很多“新”技术正在发展中。但是,在分布式数据库领域缺少体系化的、深入剖析数据库原理的书籍,使得这个领域的技术传播偏弱,尤其是分布式数据库领域的一致性等相关技术,存在概念混杂、理解不一的问题。笔者基于对该领域多年的科研和实践,历经数年,把对分布式数据库领域一些重要技术的理解和在实践中所得的经验整理成册,期待以图书的形式帮到更多读者。本书若是能促进分布式数据库的进一步发展,笔者将不胜荣幸。

本书主要内容

本书主要讨论如下3个话题。

  • 分布式数据库中存在的问题和原理。科学研究,始于问题。本书首先对分布式数据库技术中一些典型问题进行分析,以明确本书所要研究和解决问题的技术方向。之后讨论CAP原理与ACID技术结合后的一些问题(重点是一致性问题)及技术,以及业界在这方面的科研成果和工程实现思路。
  • 分布式数据库架构。从分布式数据库架构的角度,讨论影响架构的内在、外在技术因素,内在因素如强一致性、高可靠性、高可用性,外在因素如云计算、Serverless需求等。
  • 分布式数据库案例实践。从工程实践的角度,以案例的形式讨论诸多分布式系统的实现技术,涉及的数据库包括Spanner、CockroachDB、HBase、Greenplum等。

本书主要特色

本书以前沿技术和工程实践为抓手,通过问题确认、原理阐述、架构剖析、实例分析,有深度地进行了以下三项工作

  • 深入经典技术:对经典技术进行深度探索,如剖析CAP原理的发展过程,深度解读事务处理技术(如MVCC、OCC、DTA等技术)的发展和相关研究。
  • 前沿探索:按照本书的内容规划,对前沿技术方向与内容从广度层面进行剖析和介绍,以开阔读者的思路和眼界。前沿内容散布于各个章节,与各章节主题互相映衬。
  • 原理、案例相结合:立足原理,对分布式数据库的架构进行深度剖析,并对业界多个产品从问题、原理、前沿技术研究成果、架构相关因素等角度进行深度分析。用多个案例多样化地印证其他部分介绍的原理和前沿技术。

本书面向的主要读者

  • 分布式数据库的设计者和开发者;
  • 分布式数据库前沿技术的研究者;
  • 其他对分布式数据库感兴趣的读者。

如何阅读本书

本书没有涉及编程实现的细节,而是从整体上对分布式数据库一致性等重要问题逐步展开介绍。全书分为三篇——原理、架构和典型案例。其中原理篇对经典的分布式数据库理论和技术进行剖析。

基于原理篇,架构篇从两个角度对分布式数据库架构进行剖析:一是影响数据库内核设计的理念(第5章);二是影响数据库架构设计的外在环境(第6章)。这两个方面的内容可帮助读者深入理解数据库内核的框架结构及设计思想。

典型案例篇则结合原理,对部分经典的分布式数据库系统展开讨论,以帮助读者把理论和实践相结合。阅读案例时,如能时时重温原理篇的内容,则学习效果更佳。

本书不仅给出了大量的参考文献及其概述,还将这些参考文献和本书内容相结合,两者相互印证,进而使本书内容更充实。限于篇幅,书中不可能对所有内容都充分展开,所以如果您期望更加深入地掌握和理解相关内容,可进一步阅读相应参考文献。

资源及勘误

由于笔者的水平有限,书中难免存在错误,若您在阅读时发现任何问题,都可发送电子邮件到database_XX@163.com,笔者不胜感谢。有了您的帮助和支持,本书定能更加完善。由于时间有限,也许笔者不能一一回复所有的电子邮件,但是一定会定期整理并汇总信息到华章网站(http://www.hzbook.com)本书的页面下。

致谢

在多年的研究和实践工作中,承蒙中国人民大学杜小勇教授的悉心指导,笔者获益良多,本书能面世也与杜教授的指导息息相关,在此深表感谢。另外,要特别感谢杜教授在百忙之中抽出时间,专门为本书作序。

本书承蒙武汉大学彭智勇教授、易鲸捷信息技术有限公司CEO武新博士、CSDN创始人兼董事长蒋涛先生作序推荐,在此致以诚挚的感谢。

感谢笔者的父母、妻女。笔者倾注于写作本书的时光,本应是陪伴亲人们的岁月,笔者因此愧疚不已。

感谢机械工业出版社华章分社编辑杨福川先生和孙海亮先生为本书付出的努力与耗费的心血,笔者出版了数本书,都得到他们无私、有价值的帮助。

感谢每一位读者,读者的口碑促使笔者不断努力,每一位读者都是笔者继续进步的不竭动力。期待本书对读者有所帮助。

李海翔