- Part 1: 开始使用 NVMe Postgres,并体验其性能
- Part 2: 通过与 ClickHouse 集成,解锁实时分析能力
- 创建一个采用 NVMe 存储、具备高性能的 Managed Postgres 实例
- 加载 100 万条样本事件,亲自体验 NVMe 的速度
- 运行查询,体验低延迟性能
- 将数据复制到 ClickHouse,实现实时分析
- 使用
pg_clickhouse直接从 Postgres 查询 ClickHouse
第 1 部分:开始使用 NVMe Postgres
创建数据库
连接到你的数据库
psql 连接字符串并连接到你的数据库。你也可以使用任何兼容 Postgres 的客户端 (如 DBeaver) 或任何应用程序库。
体验 NVMe 性能
查询你的数据
您的 Postgres 已准备就绪至此,您已经拥有一个功能完善、性能出色的 Postgres 数据库,可用于承载事务型工作负载。继续阅读第 2 部分,了解原生 ClickHouse 集成如何显著提升您的分析能力。
第 2 部分:使用 ClickHouse 增加实时分析能力
- Postgres 用于应用程序的事务型数据 (插入、更新、按键查询)
- ClickHouse 用于对数十亿行数据进行亚秒级分析
设置 ClickHouse 集成
重要请确保所选的 ClickHouse 服务处于 Running 状态后再继续。
- 选择一个要复制到的 ClickHouse database。
- 展开 public schema,并选择我们之前创建的 users 和 events 表。
- 点击 将数据复制到 ClickHouse。
在 Postgres 中查询 ClickHouse
pg_clickhouse 扩展允许你使用标准 SQL 直接从 Postgres 查询 ClickHouse 中的数据。这意味着你的应用程序可以将 Postgres 作为统一的查询层,同时查询事务型和分析型数据。详情请参阅完整文档。
启用该扩展:
8443 的 http 驱动:
<clickhouse_cloud_host> 替换为你的 ClickHouse 主机名,将 <database_name> 替换为你在设置复制时选择的数据库。你可以在 ClickHouse 服务中点击侧边栏里的 Connect 来找到主机名。
现在,将 Postgres 用户映射到 ClickHouse 服务的凭据:
<database_name> 替换为你在创建服务器时使用的数据库名称。
现在,你可以在 Postgres 客户端中看到所有 ClickHouse 表:
查看分析效果
比较 Postgres 与 ClickHouse 的性能
public_<table_name> 的命名约定。
查询 1:按活跃度排序的高活跃用户
此查询通过多个聚合找出最活跃的用户:
| 查询 | Postgres (NVMe) | ClickHouse (通过 pg_clickhouse) | 提速 |
|---|---|---|---|
| 活跃用户 (5 个聚合) | 555 ms | 164 ms | 3.4x |
| 用户参与度 (JOIN + 聚合) | 1,246 ms | 170 ms | 7.3x |
清理
- 首先,从 ClickHouse 服务中删除 ClickPipe 集成
- 然后,在 Cloud Console 中删除 Managed Postgres 实例