ClickHouse Managed Postgres 是企业级 Postgres 服务,以 NVMe 存储为底层支撑,与 EBS 等网络附加存储相比,针对磁盘密集型工作负载可提供高达 10 倍的性能提升。本快速入门分为两个部分:创建两个示例表,分别用于事件和用户:现在,插入 100 万条事件,看看 NVMe 的速度:插入 1,000 个用户:使用 JSONB 过滤器和日期范围进行查询:将事件与用户进行关联:
点击 Next,进入表选择器。在此,您只需:然后,创建一个连接到 ClickHouse 的外部服务器连接。使用 将 现在将 ClickHouse 表导入到 Postgres 模式中:将 查询 2:按国家和平台划分的用户参与度此查询将事件与用户进行关联,并计算参与度指标:性能对比:
- 第 1 部分: 上手 NVMe Postgres,体验其性能
- 第 2 部分: 通过与 ClickHouse 集成,实现实时分析
- 创建一个具备 NVMe 加速性能的 Managed Postgres 实例
- 加载 100 万条样本事件,直观感受 NVMe 速度
- 运行查询,体验低延迟性能
- 将数据复制到 ClickHouse 进行实时分析
- 使用
pg_clickhouse直接从 Postgres 查询 ClickHouse
Part 1:NVMe Postgres 入门
创建数据库
要创建新的 Managed Postgres service,请在 Cloud Console 的服务列表中点击 New service 按钮,然后即可选择 Postgres 作为数据库类型。为您的数据库实例输入名称,然后点击 Create service。您将跳转至概览页面。您的 Managed Postgres 实例将在 3 至 5 分钟内完成配置并可投入使用。连接到您的数据库
在左侧边栏中,您将看到一个 Connect 按钮。点击该按钮,即可查看您的连接详情以及多种格式的连接字符串。复制psql 连接字符串并连接到您的数据库。您也可以使用任何兼容 Postgres 的客户端 (如 DBeaver) 或任何应用程序库。体验 NVMe 性能
下面来实际感受一下 NVMe 带来的性能提升。首先,在 psql 中启用计时功能,以测量查询执行时间:运行数据查询
现在我们来运行一些查询,看看配备 NVMe 存储的 Postgres 响应有多快。按类型聚合 100 万条事件:您的 Postgres 已就绪至此,您已经拥有一个功能完备、高性能的 Postgres 数据库,可用于承载您的事务型工作负载。继续阅读第 2 部分,了解原生 ClickHouse 集成如何大幅提升您的分析能力。
第二部分:使用 ClickHouse 添加实时分析功能
Postgres 擅长处理事务性工作负载 (OLTP) ,而 ClickHouse 则专为大规模数据集上的分析查询 (OLAP) 而生。将两者结合,即可兼得两者之长:- Postgres 用于存储应用程序的事务性数据 (插入、更新、点查)
- ClickHouse 用于对数十亿行数据进行亚秒级分析
设置 ClickHouse 集成
现在 Postgres 中已有表和数据,接下来将这些表复制到 ClickHouse 以进行分析。首先点击侧边栏中的 ClickHouse integration,然后点击 Replicate data in ClickHouse。在接下来的表单中,您可以为集成输入名称,并选择一个现有的 ClickHouse 实例作为复制目标。如果您尚未拥有 ClickHouse 实例,可以直接在此表单中创建一个。重要请先确保您选择的 ClickHouse 服务处于 Running 状态,然后再继续。
- 选择要复制到的 ClickHouse 数据库。
- 展开 public schema,并选择我们之前创建的 users 和 events 表。
- 点击 将数据复制到 ClickHouse。
从 Postgres 查询 ClickHouse
pg_clickhouse 扩展允许您直接在 Postgres 中使用标准 SQL 查询 ClickHouse 数据。这意味着您的应用程序可以将 Postgres 作为统一的查询层,同时处理事务性数据和分析性数据。详情请参阅完整文档。启用该扩展:http 驱动程序,并通过端口 8443 建立安全连接:<clickhouse_cloud_host> 替换为您的 ClickHouse hostname,将 <database_name> 替换为您在复制设置过程中选择的数据库。您可以在 ClickHouse 服务中点击侧边栏中的 Connect 来找到 hostname。现在,将 Postgres 用户映射到 ClickHouse 服务的凭据:<database_name> 替换为创建服务器时所使用的数据库名称。现在,您可以在 Postgres 客户端中查看所有 ClickHouse 表:实际体验数据分析功能
返回集成页面查看状态。此时初始复制应已完成。点击集成名称可查看详细信息。点击服务名称,打开 ClickHouse 控制台,查看您的复制表。比较 Postgres 与 ClickHouse 的性能
现在,让我们运行一些分析查询,比较 Postgres 与 ClickHouse 之间的性能差异。请注意,复制表采用public_<table_name> 的命名规范。查询 1:按活跃度排名的用户此查询使用多个聚合来找出最活跃的用户:清理
要删除本快速入门中创建的资源:- 首先,从 ClickHouse 服务中删除 ClickPipe 集成
- 然后,在 Cloud Console 中删除 Managed Postgres 实例