近期,知名开源数据仓库项目 Greenplum的 GitHub仓库被突然归档,并将访问权限修改为只读,引发了数据库社区的极大关注。
值得关注的是,去年国内云原生数据仓库厂商酷克数据研发并开源了 CloudberryDB数仓产品。作为 Greenplum 的衍生版,CloudberryDB不仅能够实现对 Greenplum原生级兼容和无缝迁移,更在功能、性能和安全性方面进行了全面的升级。
01 Greenplum重回闭源?源码归档引发业界猜测
Greenplum基于 Postgres并采用大规模并行处理架构(MPP"Massively Parallel Processing",大规模并行处理)打造的分布式数据仓库系统,支持对PB级别数据量提供强大和快速分析能力。
Greenplum的历史可以追溯到 2003年,它在 2006年推出了基于 PostgreSQL的 MPP数据库。2010年被 EMC 收购,随后在 2013年 EMC、VMware和 GE共同成立了 Pivotal公司,Greenplum数据库也被整合进 Pivotal 的技术栈中。2015年,随着 Dell收购 EMC,Pivotal决定将 Greenplum开源。2018年 Pivotal上市,但在一年半后被 VMware收购并退市。2021年底,Dell决定拆分 VMware,而到了 2023年底,VMware被博通收购。
几经转手之后,Greenplum的商业发展也不尽如人意。博通收购 VMware后,Greenplum 的全球交付团队遭到裁员,商业化团队退出中国市场。近期 Greenplum更是将源代码仓库归档,且访问权限修改为仅支持「只读」,项目全部过往 Issue、Pull Request等记录已经消失、中文网站也已经不可访问、Slack交流社群也遭关闭。
Greenplum源代码仓库的访问权限修改为了“只读”,同时还清空了原有的 branch、tag、pr、issue等信息。
Greenplum中国官网无法访问
归档意味着什么?是否闭源?有不少人猜测,Greenplum的商业化进展遇困,博通为了简化产品线,来集中资源发展其他核心业务。又或者是博通先将 Greenplum闭源,整合内部资源,寻求开源与商业化之间平衡策略。但究竟结果如何?目前还不得而知。这无疑让人对 Greenplum 用户和社区参与者的未来感到担忧。
作为世界上第一个开源的大规模并行数据库,Greenplum 有着深厚影响力的开源社区,充分影响着其他后来同类产品的发展。然而,随着数据源愈发多样、各种业务场景对数据的分析处理能力要求愈发复杂,这对传统的分析系统发起了挑战。来自开源基金会及各服务厂商面对新需求新挑战推出了很多有竞争力的开源项目和商业化服务。
在万马驰骋的时代,Greenplum能够有所应对但还不够。Greenplum原维护团队可以通过自研和借力 PostgreSQL 生态扩展来支持相关方向需求,但社区版的功能迭代与 bug 修复的速度已经慢了下来,很多场景所需的先进功能仅存在于商业公司推出的企业版本,社区用户获取困难。
当前用户格外关注数据库系统性能和安全特性,Greenplum社区版在此投入资源也不多。Greenplum在 PostgreSQL 内核升级方面非常缓慢,许多来自 PostgreSQL上游的先进特性与功能无法快速推送给社区用户。经过多年推动 Greenplum才将内核升级到 PostgreSQL 12,但 PostgreSQL官方将于 2024年 11月停止维护这一版本。
近年来 Greenplum 在新功能推出、更新步伐上多是小修小补,尤其在数据库性能方面并没有明显的改进,与其他涌现出来的新生代开源项目竞争缺乏竞争力。
02接棒再出发,CloudberryDB为开源注入新活力
过去几年 Greenplum 的公司和团队始终处于动荡之中,直接或间接导致版本进展缓慢、创新不足、技术支持有限等现状。为了响应用户需求,推动开源生态,国内云数仓厂商酷克数据(HashData)基于 PostgreSQL与 Greenplum研发了面向 AI和分析场景打造的新一代数据库 CloudBerry Database (以下简称“CloudberryDB”),并于去年正式开源。
CloudberryDB助力企业灵活应对数据新挑战
酷克数据成立于 2016年,是国内最早专注于云原生数仓研发推广的软件企业,公司旗舰级产品 HashData Enterprise 已深度服务于金融、电信运营商、政务、能源以及互联网等多个行业的头部企业,其中最大客户规模已超过 30000个节点。
凭借原厂之外最大的 Greenplum原始开发者团队,酷克数据获得了业内领先的技术储备和实践能力。
基于 MPP数据库的深度理解、国内大客户的服务实践经验,以及创始团队的长期开源社区参与,酷克数据研发并开源了 CloudberryDB 数仓产品。
作为 Greenplum的衍生版,CloudberryDB与 Greenplum 保持原生兼容,并能实现无缝迁移,具备更新的内核和更丰富的功能。CloudberryDB支持丰富的数据类型和数仓/AI混合负载,可开展 SQL 分析、机器学习、全文检索、HTAP等任务,通过数据存储加密、联合身份验证等技术手段,帮助企业更方便地自建高效稳定的数据底座。
CloudberryDB既能满足单机本地快捷部署,也能通过插件自由扩展为云原生架构,具备高弹性、高并发、湖仓一体化、扩缩容灵活等优势。SQL 引擎基于并行处理(MPP)架构,支持多计算集群部署,具备强大的并行计算能力,可以轻松支持高并发,有效隔离混合工作负载。
在部署方式上,CloudberryDB采用 100%纯软方案,支持裸金属、虚拟机、容器化等多种部署方式,企业开发人员可以使用 R、Python、Perl、Java、 pgsql等语言编写用户自定义函数(UDF),面向多计算集群部署,实现专属的业务需求。
CloudberryDB架构与灵活部署形态
此外,CloudberryDB还全面集成 PstgresQL 14.4,支持 ANSI SQL 2011,内置丰富的库内分析模块,具备强大的 SQL 分析功能,满足企业进行海量数据的复杂分析需求:
·支持 Multi-range、JSON、JSONB、XML等多种类型,并提供了相关操作、函数支持。
·支持 UPSERT,增加 INSERT... ON CONFLICT语法,在发生约束冲突时可以转换成 UPDATE语义,对于数据导入友好。
·增加新语法方便数据更新:UPDATE tab SET (col1, col2,...) = (SELECT col1, col2,...)。
·支持范围、列表、哈希等类型的分区,支持多层分区嵌套,支持分区管理操作。
·支持 BTree、Bitmap、Hash、GIN、 BRIN、GiST等多种类型的索引。
·支持物化视图,支持复杂查询,如:CTE、递归查询。
· postgres_fdw支持聚集下推,减少传输数据量。
·允许窗口函数执行增量排序。
·支持 just-in-time (JIT)编译。
·支持创建覆盖索引。
·引入 PostGIS插件,实现了对空间数据类型、空间索引和空间函数的支持。
·基于 CBO优化器,CloudberryDB支持基于代价模型的聚集下推能力,能够有效减少 Join 运算的数据量,大幅提升性能。
·改进了 CBO优化器,以生成更智能高效的查询计划,适应云和混合负载环境。
·支持基于代价的聚集下推,减少 Join数据量并提升性能。
·利用 Runtime filter技术进一步加速 Join运算。
……
CloudberryDB研发了新型行列混存技术,在保证写入效率的情况下,利用查询时跳块过滤和预计算,大幅提升查询性能。CloudberryDB 还利用向量化对算子进行了针对性的细致优化,带来了数量级的效率提升收益。
为确保企业数据的安全,CloudberryDB采用了统一认证、按需授权、安全存储、动态脱敏等方式,构建了多层级安全体系。
在生态方面,CloudberryDB完美兼容第三方产品,与主流 BI工具、挖掘预测工具、ETL工具、J2EE/.NET 应用程序以及其他数据源/计算引擎均有良好连通。
CloudberryDB产品兼容生态
CloudberryDB内置了分布式并行向量数据存储、索引及检索功能,企业可以通过酷克数据自研的 AI开发工具箱 HashML,将本地的文本、图像等非结构化数据转化成向量表示,构建分布式大规模多模态向量知识库,让 AI应用开发变得更加简单便捷。
持续构建开放、友好、中立的开源社区
站在巨人的肩膀上,借助 Greenplum、PostgreSQL等伟大开源项目的坚实基础,CloudberryDB 才能不断创新,力求为广大开发者和用户带来更加卓越的产品体验,这也是 CloudberryDB研发初衷。
在许可协议上,CloudberryDB采用了宽松的 Apache License V2.0 协议,期望赋予社区成员更大的自由度和灵活性,并鼓励社区成员自由使用、轻松复制、按需修改,或者将 CloudberryDB 重新分发或融入自身的商业产品与服务中。
CloudberryDB 秉持国际标准、高点定位、全球视野的运营理念,致力于构建一个开放包容、友好互助、中立公正的社区环境,让每一位社区成员都能在这里找到归属感,共同为 CloudberryDB的进步贡献力量。
我们有理由相信,通过集思广益、群策群力,CloudberryDB社区将在未来绽放出更多光彩。