Cloudberry Database(可简称为“CBDB”或“CloudberryDB”)是面向分析和 AI 场景打造的下一代统一型开源数据库,搭载了 PostgreSQL 14.4 内核,兼容 PostgreSQL 和 Greenplum Database 生态,采用 Apache License 2.0 许可协议,由北京酷克数据HashData科技有限公司开发,目前源码已公开。
️GitHub 地址:https://github.com/cloudberrydb/cloudberrydb ️官网主页:https://cloudberrydb.org/
官方文档:https://cloudberrydb.org/zh/docs/
厂商 | 酷克数据 |
---|---|
官网 | https://cloudberrydb.org/zh |
微信公众号 | HashData |
总部城市 | 北京 |
2023年7月14日,Cloudberry Database v1.0.0 发布。
Cloudberry Database 支持多种不同的存储格式,包括 Heap 存储、AO 行存储、AOCS 列存储,用于不同的应用场景。同时,Cloudberry Database 还支持分区表,用户可以按照某个条件定义表的分区方式,查询时根据查询条件自动过滤不需要查询的子表,提高数据的查询效率。
Cloudberry Database 加强对用户数据的保护,支持函数加密解密,以及透明数据加密和解密。透明数据加密解密指在用户不感知的情况下,加密解密过程由 Cloudberry Database 内核完成,目前可以支持的数据格式包括 Heap 表、AO 行存储、AOCS 列存储。同时加密算法除了常用的 AES 等算法以外,还特别支持国密算法,用户可以方便的扩展自己的算法到透明数据加密中。
Cloudberry Database 提供了一系列高效且灵活的数据加载解决方案,以满足各种数据处理需求,包括并行化和持久化的数据加载、支持灵活的数据源和文件格式、集成多款 ETL 工具、支持流式数据加载、提供高性能的数据访问。
Cloudberry Database 为了确保数据安全和服务的连续性,采取了数据页面、Checksum、镜像节点配置、控制节点备份的多级容错机制。
Cloudberry Database 提供了强大的数据分析功能,使得数据处理、查询和分析变得更加高效,满足各类复杂的数据处理、分析和查询需求。
Cloudberry Database 提供了全面的工作负载管理功能,旨在有效地利用和优化数据库资源,以确保高效、稳定的运行。其工作负载管理主要包括连接级别管理、会话级别管理、SQL 级别管理三个层次的控制。
Cloudberry Database 的兼容性表现在 SQL 语法、组件、工具和程序、硬件平台和操作系统等多个方面,这使得它能够灵活应对各种工具、平台和语言。
在大多数情况下,Cloudberry Database 在 SQL 支持、功能、配置选项和最终用户功能方面与 PostgreSQL 非常相似。数据库用户与 Cloudberry Database 数据库的交互体验,非常接近与单机 PostgreSQL 进行交互。
Cloudberry Database 采用 MPP 架构技术,通过在多个服务器或主机之间分配数据和处理工作负载来存储和处理大量数据。
MPP 也称为大规模并行处理架构,是指具有多台主机的系统,这些主机协作执行同一操作。每台主机都有自己的处理器、内存、磁盘、网络资源和操作系统。Cloudberry Database使用这种高性能的系统架构来分配海量数据的负载,并且可以并行使用系统的所有资源来处理查询。
从用户角度来看,Cloudberry Database 是一个完备的关系数据库管理系统 (RDBMS)。从物理层面来看,它内含多个 PostgreSQL 实例。为了实现多个独立 PostgreSQL 实例的分工和合作,Cloudberry Database 在不同层面对数据存储、计算、通信和管理进行了分布式集群化处理。Cloudberry Database 虽然是一个集群,然而对用户而言,它封装了所有分布式的细节,为用户提供了单个逻辑数据库。这种封装极大地解放了开发人员和运维人员的工作。
Cloudberry Database 架构图如下所示:
场景一:离线批处理数据仓库和数据集市建设 (Data Warehousing and Data Marts)
场景二:实时数据仓库建设
场景三:数据中台建设
场景四:湖仓一体建设
场景五:现有 MPP 数据库替换
场景六:地理信息系统 (GIS) 应用 (Geographic Information System Applications)
Cloudberry Database 100% 兼容 Greenplum,能提供所有你需要的 Greenplum 特性。
除此之外,Cloudberry Database 还拥有一些 Greenplum 当前不具备或不支持的特性,详见下文。
说明
功能名 | Cloudberry Database | Greenplum |
---|---|---|
在 EXPLAIN 的结果中查看 WAL 的使用信息 | ✅ | ❌ |
Multiranges 类型 | ✅ | ❌ |
B 树自底向上索引清理 | ✅ | ❌ |
GiST的覆盖索引 (INCLUDE) | ✅ | ✅(待发布) |
range_agg 范围类型聚合函数 | ✅ | ❌ |
CREATE ACCESS METHOD | ✅ | ✅(待发布) |
TOAST 表上的 LZ4 压缩支持 | ✅ | ❌ |
JSONB 通过下标读取元素 | ✅ | ❌ |
配置复制插槽的最大 WAL 保留 | ✅ | ❌ |
验证备份的完整性 (pg_verifybackup) | ✅ | ❌ |
客户端可以要求 SCRAM 通道绑定 | ✅ | ❌ |
Vacuum "紧急模式" | ✅ | ❌ |
使用 postgres_fdw 的证书认证 | ✅ | ❌ |
UPSERT | ✅ | ✅(待发布) |
COPY FROM Where | ✅ | ❌ |
VACUUM / ANALYZE 跳过锁定表 | ✅ | ❌ |
HASH 分区表 | ✅ | ❌ |
CTE (SEARCH 和 CYCLE) | ✅ | ❌ |
存储过程 OUT 参数 | ✅ | ❌ |
外键表的外键约束 | ✅ | ❌ |
pg_terminate_backend 的超时参数 | ✅ | ❌ |
Coordinator 自动故障转移 | ✅ | ❌ |
支持在 Kubernetes 上部署 | ✅ | ❌ |
功能名 | Cloudberry Database | Greenplum |
---|---|---|
并发重建索引 REINDEX CONCURRENTLY | ✅ | ❌ |
聚合运算下推 | ✅ | ❌ |
CREATE STATISTICS - OR 和 IN/ANY 统计 | ✅ | ❌ |
增量排序 | ✅ | ❌ |
窗口函数的增量排序 | ✅ | ❌ |
查询流水线 | ✅ | ❌ |
BRIN 索引(多最小最大值,bloom) | ✅ | ❌ |
查询并行 | ✅ | ❌ |
基于 Abbreviated Keys 进行排序 | ✅ | ❌ |
哈希索引的 WAL 支持 | ✅ | ❌ |
postgres_fdw 聚合下推 | ✅ | ❌ |
添加列时无需重写整个表 | ✅ | ❌ |
表连接运算支持运行时过滤器 (Runtime Filter) | ✅ | ❌ |
AppendOnly 表支持索引扫描 | ✅ | ❌ |
功能名 | Cloudberry Database | Greenplum |
---|---|---|
透明数据加密 (TDE) | ✅ | ❌ |
可信扩展 | ✅ | ❌ |
SCRAM-SHA-256 | ✅ | ❌ |
GSSAPI 时的加密 TCP/IP 连接 | ✅ | ❌ |
行级别安全策略 | ✅ | ❌ |
https://cloudberrydb.org/zh/docs/
https://mp.weixin.qq.com/s/ME-rufZOF5_c9WgL9DqRyw
https://mp.weixin.qq.com/s/ZuVeEsLG1uoeEIREjKAbuQ
https://www.modb.pro/wiki/7408
https://github.com/cloudberrydb/cloudberrydb