购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

内容提要

在云计算和互联网快速发展的驱动下,分布式技术领域产生了很多新的热点,分布式数据库就是其中之一。但是,目前对分布式数据库的理解和研究多停留在理论层面,本书以Greenplum分布式数据库为例,深入剖析分布式技术在工业级产品里的实现细节,为读者呈现从理论到实践的“全景图”。

本书共3篇:第1篇主要介绍分布式数据库基础理论,包括经典的CAP理论、一致性算法相关的理论、并发控制相关的理论等;第2篇具体介绍Greenplum数据库,从分布式事务、分布式计算和分布式存储3个方面,深入代码层级,讲述分布式理论在工业上的实现;第3篇是总结和展望,介绍云原生数据库和新技术带给Greenplum和数据库管理系统的机遇和挑战。

本书打破以理论介绍和架构介绍为主的思路,深入分析工业化的实现,实践性强。本书主要面向数据库领域的科研工作者和学者,也可作为高校计算机类专业的分布式数据库相关课程的参考资料。 GfCtUpN4uYMfhjsrCG2nlmAfm2z9K/MaC45GQh4gldQWjTLLf+/rHTgyOjnCeNi3



推荐语

随着数字化转型的深入,企业和机构已经开始从应用驱动的视角切换到数据驱动的视角。对数据资源的深耕,使得分析型数据库从幕后逐步进入大众视野。基于PostgreSQL体系的开源数据库Greenplum是大规模并行处理(massively parallel processing,MPP)数据库的典范。这本书的作者是Greenplum开源代码贡献者,积累了丰富的500强企业的一线实战经验。这本书通过对Greenplum关键模块的源码分析,向读者深入浅出地展示了分布式原理和技术如何在工业级产品中应用和实现,用最朴实的方式介绍了一个分布式数据库的架构和诸多细节。

数据库、操作系统和芯片成为信息化时代举足轻重的基础技术。数据库承载着数字世界的底座功能。希望这本书能吸引更多的科技人员对数据库产生兴趣,并加入数据库的研发队伍。

——冯雷,杭州拓数派科技发展有限公司创始人兼CEO,Greenplum中国创始人

Greenplum是业界领先的分布式数据处理平台,它在开源PostgreSQL的基础上引入了MPP架构,具有大规模数据的分析处理能力。经过十多年积累和打磨,Greenplum在稳定性、SQL接口的标准性、分布式事务处理能力、灵活高效的存储方式、高性能的数据加载、高可用性方面都有长足的进步。在云计算和云原生盛行的今天,Greenplum与云平台融合,碰撞出了新的火花。

Greenplum代码从2015年开始开源,获得了广泛关注,在全球有上百位来自美国、中国、俄罗斯、日本、英国、德国、芬兰、瑞士等国家的贡献者,约有半数的贡献来自中国开发者。在国内,Greenplum中文社区尤为活跃,线上线下活动丰富,越来越多的人开始了解和使用Greenplum。

这本书的作者有多年的云计算和分布式系统的开发与运维经验,活跃于Greenplum中文社区和与其相关的HAWQ开源社区,是Greenplum和HAWQ项目的贡献者。这本书通过源码级别的分析,向读者介绍了分布式理论在工业级产品Greenplum中的实现和落地。希望通过这本书,数据库从业者和爱好者可以更加深入和全面地了解Greenplum,为社区的繁荣和Greenplum项目做出更多贡献。

——姚延栋,北京四维纵横数据技术有限公司创始人兼CEO

2010年,Greenplum在国内走上了快车道。2015年,Greenplum代码开源,开启了庞大的开源社区模式,其社区非常活跃,为Greenplum贡献了很多高质量的代码。同时,在国家信息技术应用创新产业的号召下,前Pivotal研发团队的骨干也开始创业,研发出基于Greenplum的国产MPP数据库。得益于Greenplum和其基于的PostgreSQL的友好开源协议,大家可以自由地修改和贡献大量的源码和新功能。在此背景下,我们对一本深入讲解Greenplum源码的书的需求愈加强烈。

目前市场上有关Greenplum的图书,有讲最佳实践和日常运维的,有讲基本架构和模块分析的,即便触及源码层面的内容,也无法像这本书那样对二次开发和问题修复提供有效的指导和帮助。本人有幸与本书作者深入探讨过该问题,作者希望能为国内的数据库发展贡献自己的一份力量,为国内的数据库人才发展提供通用型的指导和帮助。作者利用业余时间,耗时两年,几经修改,终于著成本书。

我与作者结识多年,共同见证了Greenplum在中国的快速发展。很荣幸得到作者邀请为这本书写推荐语,相信这本书将会为Greenplum在国内的飞速发展树立起一座新的里程碑。

衷心祝愿Greenplum的爱好者及开发者能在学习本书后更上一层楼。

——陈淼,Greenplum数据库专家,解决方案架构师

随着大数据时代的真正到来,对更多类别和更大规模的数据进行快速处理而获得更多的商业价值,已成为企业管理者的共识和孜孜以求的目标。Greenplum作为高扩展和高性能的MPP数据库,得到了越来越多企业和组织的认可。然而分布式数据库的学习曲线较为陡峭,数据库从业者在早期阶段可能会感到困惑和无从下手。这本书提供了从分布式数据库的理论到产品级实践的介绍和解读,力求给更多的数据库开发人员传道解惑。

这本书从分布式事务、分布式计算和分布式存储几个角度,分析了Greenplum数据库的架构和实现细节。同时,这本书还分析了许多代码片段,让读者可以通过更加直观的方式加深对分布式数据库相关理论的理解和掌握。

作为作者的校友与前同事,我一直非常认可他对待工作严谨认真的态度。这次他将书稿发给我后,我快速浏览了一遍,字里行间还是熟悉的风格:严谨、细致而又通俗易懂。

总的来说,这是一本非常不错的分布式数据库理论和实践相结合的书,对于从事数据库开发工作的人来说,它是一本可随时查阅的参考书。无论是企业还是个人,都会从这本书中得到意想不到的收获。

——陈开来,前Autonomic中国区总监

数据库是信息产业的三大基础技术(还有芯片和操作系统)之一。近几年来,国内外涌现出相当多优秀的数据库产品和创业企业,其中有不少以PostgreSQL或Greenplum为基础进行持续创新。Greenplum作为分布式MPP数据库的代表产品,以其开源且开放的生态、精简高效的架构、成熟稳定的产品化能力为大量用户、开发者提供了坚实的服务底座和产品基石。

这本书的作者是一位具有丰富实践经验和技术深度的Greenplum专家,我与他相识多年,为其对技术的执着追求感到由衷的赞叹和敬佩!该书为读者深入了解Greenplum的内部工作原理提供了一个难得的机会,从Greenplum架构、存储、查询优化、并行执行等方面入手,深入剖析了Greenplum的源码实现细节,使读者能够深入了解Greenplum的内部运作机制,对于Greenplum的使用者和开发者来说,是一本不可多得的参考指南。

期望本书能够帮助、激励广大从事、关注、热爱数据库相关研发领域的同人,继往开来,为人类数字化技术的进步贡献力量。

——魏一,北京酷克数据科技有限公司(HashData)副总裁,Greenplum数据库专家 GfCtUpN4uYMfhjsrCG2nlmAfm2z9K/MaC45GQh4gldQWjTLLf+/rHTgyOjnCeNi3



前言

为什么写本书

Greenplum公司最初是在2003年由两家公司(Metapa和Didera)合并而成的,创始人是斯科特·亚拉(Scott Yara)和卢克·洛纳根(Luke Lonergan)。公司最早的产品叫作Bizgres,是通过二次开发PostgreSQL数据库,并将其架构改造成大规模并发处理的架构开发而成的。2006年Sun Microsystems公司成为Bizgres项目的合作方之一。Bizgres项目被开发成能在多个操作系统上使用的软件,如Linux操作系统、Solaris操作系统、Windows操作系统。2008年Bizgres正式改名为Greenplum,主要的运行系统变成Linux操作系统。2010年前后Greenplum公司被EMC公司收购,Greenplum成为EMC公司大数据套件的产品之一。2013年Pivotal公司成立,Greenplum产品被Pivotal公司纳入产品线。2019年Pivotal公司被VMware公司收购。

从Greenplum数据库的发展历程和时间线中,能看到MPP系统的简史。同一时代的Hadoop产品是MPP系统的代表。和Hadoop产品不同,数据库管理系统将MPP逻辑封装了起来,终端用户的使用方式和使用习惯与使用单机版的数据库管理系统的方式和习惯保持一致,这样既降低了用户的学习门槛,又保证了产品对于业务的可用性。

笔者基于对分布式理论和分布式数据库领域多年的研究和实践经验,把分布式理论、数据库技术结合起来,深入浅出地分析了工业级成熟产品Greenplum。本书如能促成更多的科研工作者和学者参与到分布式数据库领域的发展中,笔者将感到非常荣幸。

如何阅读本书

本书共3篇。第1篇介绍分布式数据库的基础理论,有基础的读者可以快速浏览或者略过。第2篇分3个方面介绍Greenplum数据库的具体实现,涉及详细的源码分析,建议读者从异步社区网站下载本书配套源码,结合阅读。如果有条件,读者可以在Linux操作系统上编译并运行Greenplum,通过调试工具gdb进入程序内部观察内存对象模型、函数调用栈、线程模型等。第2篇的很多章节附有函数调用栈的图片信息,读者在调试过程中可以进行对比。在阅读第2篇内容的同时,读者也可以回顾第1篇的相关章节,从而把从理论到实践,再回到理论的过程打通。这样读者就能更加深刻地理解Greenplum这个工业级分布式数据库了。第3篇介绍数据库在云计算和新技术浪潮下的机遇和挑战。

本书在对应内容的脚注里标明了参考文献,包含很多数据库领域的论文和专著。读者可以在阅读本书的同时阅读相关文献,以获取知识点的全貌。

致谢

感谢我的妻子和女儿,如果没有你们的包容和支持,我不可能完成本书。

感谢杭州拓数派科技发展有限公司的冯雷和陆公瑜,北京四维纵横数据技术有限公司的姚延栋,北京酷克数据科技有限公司的魏一,谢谢你们对本书的意见和建议。你们是中国Greenplum的先驱,现在又各自活跃在创业第一线。

感谢前Autonomic中国区总监陈开来和架构师梁博艺,谢谢你们对本书的关注,车联网、物联网和分布式数据库、时间序列数据处理关系紧密,融合性的场景和领域会越来越多。

感谢前Pivotal同事陈淼,我们长时间的合作和讨论,对本书的创作、若干相关项目的开发和成形产生了积极影响。

最后感谢郭媛编辑的大力支持,谢谢你耐心的指导和审核。

王凤刚
2024年7月 GfCtUpN4uYMfhjsrCG2nlmAfm2z9K/MaC45GQh4gldQWjTLLf+/rHTgyOjnCeNi3

点击中间区域
呼出菜单
上一章
目录
下一章
×