跳转到主内容
跳转到主内容

将 MongoDB 数据摄取到 ClickHouse(使用 CDC(变更数据捕获))

Beta feature. Learn more.
信息

通过 ClickPipes 将 MongoDB 的数据摄取到 ClickHouse Cloud 目前处于公开测试阶段。

注意

在 ClickHouse Cloud 控制台和文档中,针对 MongoDB,“table”和“collection”这两个术语可互换使用。

你可以使用 ClickPipes 将 MongoDB 数据库中的数据摄取到 ClickHouse Cloud。源 MongoDB 数据库可以托管在本地部署环境,或者使用 MongoDB Atlas 等服务托管在云上。

前置条件

在开始之前,先确保你的 MongoDB 数据库已正确配置为支持复制。具体配置步骤取决于你如何部署 MongoDB,请参考以下相应指南:

  1. MongoDB Atlas

  2. 通用 MongoDB

  3. Amazon DocumentDB

源 MongoDB 数据库配置完成后,即可继续创建 ClickPipe。

创建 ClickPipe

请确保您已登录到 ClickHouse Cloud 帐户。如果还没有帐户,可以在这里注册。

  1. 在 ClickHouse Cloud 控制台中,导航到您的 ClickHouse Cloud Service。
ClickPipes 服务
  1. 在左侧菜单中选择 Data Sources 按钮,然后点击 “Set up a ClickPipe”。
选择导入
  1. 选择 MongoDB CDC 卡片。
选��择 MongoDB

添加源 MongoDB 数据库连接

  1. 填写在前提条件步骤中配置的源 MongoDB 数据库的连接详细信息。

    信息

    在开始填写连接详细信息之前,请确保已在防火墙规则中将 ClickPipes IP 地址加入白名单。您可以在下述页面找到 ClickPipes IP 地址列表。 更多信息请参阅本页顶部链接的源 MongoDB 配置指南。

    填写连接详细信息

(可选)配置 SSH 隧道

如果源 MongoDB 数据库不可公开访问,可以配置 SSH 隧道连接。

  1. 启用"使用 SSH 隧道"开关。

  2. 填写 SSH 连接详细信息。

    SSH tunneling
  3. 若使用基于密钥的身份验证,点击"撤销并生成密钥对"生成新密钥对,并将生成的公钥复制到 SSH 服务器的 ~/.ssh/authorized_keys 文件中。

  4. 点击"验证连接"验证连接。

注意

请确保在 SSH 堡垒主机的防火墙规则中将 ClickPipes IP 地址加入白名单,以便 ClickPipes 能够建立 SSH 隧道。

填写完连接详细信息后,点击 下一步

配置高级设置

如有需要,您可以配置高级设置。下面简要说明每个设置的含义:

  • Sync interval:ClickPipes 轮询源数据库以检测变更的时间间隔。该设置会影响目标 ClickHouse 服务的资源消耗;对于对成本敏感的用户,我们建议将其设置为较大的数值(高于 3600)。
  • Pull batch size:单次批量抓取的行数。这是一个尽力而为型的配置项,在某些情况下可能不会被严格遵守。
  • Snapshot number of tables in parallel:执行初始快照时并行抓取的表数量。当您有大量表且希望控制并行抓取的表数量时,该设置非常有用。

配置表

  1. 在此步骤中,您可以为 ClickPipe 选择目标数据库。您可以选择一个现有数据库,或创建一个新数据库。

    选择目标数据库
  2. 您可以选择要从源 MongoDB 数据库复制的表。在选择这些表时,您还可以为目标 ClickHouse 数据库中的表重命名。

检查权限并启动 ClickPipe

  1. 在权限下拉菜单中选择“Full access”角色,然后点击“Complete Setup”。

    Review permissions

接下来该做什么?

在通过 ClickPipe 将数据从 MongoDB 复制到 ClickHouse Cloud 之后,你就可以专注于如何对数据进行查询和建模,以获得最佳性能。

注意事项

在使用此连接器时,需要注意以下几点:

  • 需要使用 MongoDB 版本 5.1.0 及以上。
  • 我们使用 MongoDB 原生的 Change Streams API 实现 CDC(变更数据捕获),其依赖 MongoDB 的 oplog 来捕获实时变更。
  • 来自 MongoDB 的文档会默认以 ClickHouse 中的 JSON 类型进行复制。这样可以实现更灵活的 schema 管理,并使您能够在 ClickHouse 中使用丰富的 JSON 运算符进行查询和分析。您可以在此处进一步了解如何查询 JSON 数据。
  • 目前尚不支持自助配置 PrivateLink。如果您在 AWS 上并且需要使用 PrivateLink,请发送邮件至 [email protected] 或创建支持工单——我们会与您协作为您启用该功能。