由微软支持的一项开源数据库项目(pg_duckdb),使DuckDB成为PostgreSQL的一个扩展功能,以此突破集中式数据库在分析型(OLAP)业务领域的性能弱点。
该项目遵循宽松的MIT许可证,允许任何人自由地使用、复制、修改、合并、发布、分发、再授权和销售软件及其副本~DuckDB是2018 年开发的一款开源嵌入式内存计算OLAP数据库,在GitHub上已经有21.9K的Star,因其嵌入式轻量级+极强的数据分析性能,而成为当前最受开发者欢迎的数据库产品之一,一个月被下载就超过200万次。详情可见《震惊:开发一款世界瞩目的数据库仅需18人》。
同样,PostgreSQL(简称pg)是当前最受开发者欢迎的关系型数据库,以清晰的代码逻辑、强大的功能扩展、开放宽松的许可协议而被人喜欢,包括国内华为的Opengauss、瀚高的HGDB都是基于pg研发的,甚至第一个国产数据库企业人大金仓的KingBase也都有pg的元素。
pg在OLTP领域具有不错的性能表现,是全球去“O”替换的首先产品,包括亚马逊在内有大量的成功去“O”案例。
pg在OLAP分析领域虽然也有多种可选扩展插件,但因为性价比有限,一直以来并没有得到有效应用,而自2000年起,开发者一直在尝试制作PostgreSQL的OLAP版本,但这些都成为了pg的硬分叉而无法合并回pg,例如Greenplum、Vertica、Aster Data和ParAccel。
然而,现在DuckDB的出现,凭借几十倍、甚至上百倍的OLAP性能提升,与pg结合以后,或许能一改pg在OLAP领域的颓势,使pg彻底成为一款兼具TP+AP的HTAP融合型数据库。
而pg融汇百家之所长的可扩展能力,未来借机超越Oracle也不是不可能实现,相信微软等企业正是看中这一点才对pg_duckdb投入支持(毕竟微软也有自己的数据库产品SQL server,但没有任何一款关系型数据库具备像pg这样的功能可扩展性)。
同时,这对国内的几家兼容pg生态的集中式数据库而言,也是千载难逢、借此翻身的好机会。
目前pg_duckdb支持的pg和操作系统版本为Postgres 16 、17,Ubuntu 22.04 或 MacOS,项目在github上仅有800个star,还处在研发阶段~