diff --git a/docs/cbdb-vs-gp-features.md b/docs/cbdb-vs-gp-features.md new file mode 100644 index 00000000000..deafc6a3934 --- /dev/null +++ b/docs/cbdb-vs-gp-features.md @@ -0,0 +1,73 @@ +--- +title: Comparision with Greenplum Features +--- + +# Comparision with Greenplum Features + +Cloudberry Database is 100% compatible with Greenplum, and provides all the Greenplum features you need. + +In addition, Cloudberry Database possesses some features that Greenplum currently lacks or does not support. More details are listed below. + +## General features + +:::info + +- In the following tables, ✅ means support, and ❌ means no support. +- The feature comparison in the following tables is based on Greenplum 7 Beta.3. + +::: + +| Feature names | Cloudberry Database | Greenplum | +| ---------------------------------------- | ------------------- | ----------- | +| `EXPLAIN` (WAL) support | ✅ | ❌ | +| Multiranges | ✅ | ❌ | +| B-tree bottom-up index deletion | ✅ | ❌ | +| Covering indexes for GiST (`INCLUDE`) | ✅ | ✅(Upcoming) | +| The `range_agg` range type aggregation function | ✅ | ❌ | +| `CREATE ACCESS METHOD` | ✅ | ✅(Upcoming) | +| LZ4 compression for `TOAST` tables | ✅ | ❌ | +| JSONB subscripting | ✅ | ❌ | +| Configure the maximum WAL retention for replication slots | ✅ | ❌ | +| Verify backup integrity (`pg_verifybackup`) | ✅ | ❌ | +| Client can require SCRAM channel binding | ✅ | ❌ | +| Vacuum "emergency mode" | ✅ | ❌ | +| Certificate authentication with `postgres_fdw` | ✅ | ❌ | +| `UPSERT` | ✅ | ✅(Upcoming) | +| COPY FROM Where | ✅ | ❌ | +| VACUUM / ANALYZE Skip Lock Table | ✅ | ❌ | +| HASH partitioned table | ✅ | ❌ | +| CTE(SEARCH and CYCLE) | ✅ | ❌ | +| Procedure OUT parameters | ✅ | ❌ | +| `CHECK` constraints for foreign tables | ✅ | ❌ | +| Timeout parameter for `pg_terminate_backend` | ✅ | ❌ | +| Auto failover for Master | ✅ | ❌ | +| Kubernetes deployment support | ✅ | ❌ | + +## Performance-related features + +| Feature names | Cloudberry Database | Greenplum | +| ------------------------------------------- | ------------------- | --------- | +| `REINDEX CONCURRENTLY` | ✅ | ❌ | +| Aggregation pushdown | ✅ | ❌ | +| `CREATE STATISTICS` - `OR` and `IN/ANY` statistics | ✅ | ❌ | +| Incremental sort | ✅ | ❌ | +| Incremental sort for window functions | ✅ | ❌ | +| Query pipelining | ✅ | ❌ | +| BRIN Index(multi-minmax, bloom) | ✅ | ❌ | +| Query parallelism | ✅ | ❌ | +| Abbrevated keys for sorting | ✅ | ❌ | +| Hash Index WAL support | ✅ | ❌ | +| `postgres_fdw` aggregation pushdown | ✅ | ❌ | +| No need to rewrite the whole table when adding a column | ✅ | ❌ | +| Runtime Filter for Join | ✅ | ❌ | +| Index Scan for the AppendOnly table | ✅ | ❌ | + +## Security-related features + +| Feature names | Cloudberry Database | Greenplum | +| --------------------------- | ------------------- | --------- | +| Transparent Data Encryption (TDE) | ✅ | ❌ | +| Trusted extensions | ✅ | ❌ | +| SCRAM-SHA-256 | ✅ | ❌ | +| Encrypted TCP/IP connection when GSSAPI | ✅ | ❌ | +| Row-level security policy | ✅ | ❌ | diff --git a/i18n/zh/docusaurus-plugin-content-docs/current.json b/i18n/zh/docusaurus-plugin-content-docs/current.json index 2c0d475ea1a..1f0a415a048 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current.json +++ b/i18n/zh/docusaurus-plugin-content-docs/current.json @@ -3,6 +3,10 @@ "message": "下一版", "description": "The label for version current" }, + "sidebar.docsbars.category.Introduction": { + "message": "产品介绍", + "description": "The label for category product introduction in sidebar docs" + }, "sidebar.docsbars.category.Deployment Guides": { "message": "部署指南", "description": "The label for category deployment guides in sidebar docs" diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/cbdb-vs-gp-features.md b/i18n/zh/docusaurus-plugin-content-docs/current/cbdb-vs-gp-features.md new file mode 100644 index 00000000000..10e73992645 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/cbdb-vs-gp-features.md @@ -0,0 +1,73 @@ +--- +title: 与 Greenplum 的特性对比 +--- + +# 与 Greenplum 的特性对比 + +Cloudberry Database 100% 兼容 Greenplum,能提供所有你需要的 Greenplum 特性。 + +除此之外,Cloudberry Database 还拥有一些 Greenplum 当前不具备或不支持的特性,详见下文。 + +## 一般特性对比 + +:::info 说明 + +- 在以下表格中,✅ 代表支持,❌ 代表不支持。 +- 以下表格中的对比,基于 Greenplum 7.0 Beta.3 版本。 + +::: + +| 功能名 | 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` 的超时参数 | ✅ | ❌ | +| Master 自动故障转移 | ✅ | ❌ | +| 支持在 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 连接 | ✅ | ❌ | +| 行级别安全策略 | ✅ | ❌ | diff --git a/sidebars.js b/sidebars.js index 5f7edfa66d5..80ab78b6157 100644 --- a/sidebars.js +++ b/sidebars.js @@ -14,7 +14,13 @@ /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ const sidebars = { - docsbars: ['cbdb-overview' + docsbars: [ + + { + type: 'category', + label: 'Introduction', + items: ['cbdb-overview','cbdb-vs-gp-features'] + }, // { // type: 'category',