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月