命运多舛的 Greenplum
Greenplum 公司成立于2003年,于2008年正式发布了 Greenplum 数据库产品。2010年 Greenplum 的创始团队被存储领域巨头 EMC 收购。同年,EMC 在中国组建了 Greenplum 研发团队,致力于 Greenplum 数据库产品的升级迭代和推广使用。2012年,EMC 和 VMware (EMC 旗下子公司) 将双方多项软件资产 (包括 Greenplum 数据库) 合并至一家名为 Pivotal Software 的新公司。2015年10月,Pivotal 公司正式把投资超过10年的 Greenplum 产品开源,Greenplum 成为世界上第一款成熟的开源 MPP 数据库。开源之后,Greenplum 社区非常活跃,短短两年时间,在全球已有来自美国、中国、俄罗斯、日本、英国、德国等国家的大批贡献者,获得了广泛的关注。其中,Greenplum 中文社区尤为活跃,不仅有来自阿里云、中国移动等大公司的社区贡献者,也包括诸多中小公司的数据库爱好者。
今年5月,在没有任何公告的情况下,Greenplum 突然 "404" 无法访问,源码仓库 (https://github.com/greenplum-db/gpdb) 也被修改为"只读"状态,且原有的 Branch、 tag、拉取请求PR以及 issue 等信息均已被清空。随着开源 Greenplum 数据库的归档及其社区的彻底关闭,开源用户已经无法免费获取任何安全补丁和功能更新,给广大使用 Greenplum 的用户带来了不小的挑战。
Cloudberry 乘势崛起
半年之后的 10月份,Cloudberry Database 项目通过投票获准加入 Apache 软件基金会孵化器,该项目遵循 Apache License 2.0 协议。随后项目代码库成功迁移至 Apache,正式成为 Apache 中的一员。
Cloudberry 由 Greenplum Database 原始开发者创建,同样是一款基于大规模并行处理 (Massively Parallel Processing,MPP) 的数据库。基于开源版的 Pivotal Greenplum Database 衍生而来,采用了更新的 PostgreSQL 14.4 内核,兼容 PostgreSQL 和 Greenplum Database 生态,并具备更先进的企业级功能,既可以作为数据仓库使用,也可用于大规模分析和 AI/ML 工作负载。
架构上,Cloudberry 和 Greenplum 是同源的,主要以下3个组成部分:
协调节点,也称为控制节点,是 Cloudberry 数据库的网关,用于接收客户端连接和 SQL 查询,并将任务分配给数据节点执行。用户可以通过客户端程序或 API 连接到协调节点与数据库进行交互; 数据节点,是独立的 PostgreSQL 实例,每个实例存储一部分数据并执行其相关数据的查询。当用户通过协调节点连接到数据库并提交查询请求时,将在每个数据节点上创建相应的进程来处理该查询; 互联网络,是 Cloudberry 数据库系统架构中的网络层,使用标准的以太网络协议,是协调节点和数据节点之间通讯所依赖的网络基础设施,通常建议使用 10GB 或更快的网络。

虽然架构上是同源的,但 Cloudberry 提供了比 Greenplum 更为丰富的功能。比如性能上,Cloudberry 支持汇总下推、并行查询及增量排序等诸多 Greenplum 所不支持的功能。

写在最后
由于项目归单一供应商控制,Greenplum 始终缺乏允许社区参与决策流程的开放治理模式,使得其在漫长的演进过程中失去了创新和对主要功能进行迭代更新的能力,和新一代开源数据仓库和分析项目相比,Greenplum 的竞争力已经愈发有限。而随着其再次闭源,使得上下游的一众用户迫切需要新的替代项目;而众多基于 Greenplum 的衍生版本和服务提供商,也需要寻找新的合作伙伴。此番 Cloudberry 重新拉拢了最初开源的 Greenplum 开发人员,借着加入 Apache 基金会的契机再次以开源社区的形式重塑该项目,相信会给国内 MPP 数据仓库市场带来更多的变化!




