📣
TiDB Cloud Essential 开放公测中。此页面由 AI 自动翻译,英文原文请见此处。

Changefeed (Beta)



TiDB Cloud changefeed 帮助你将数据从 TiDB Cloud 流式传输到其他数据服务。目前,TiDB Cloud 支持将数据流式传输到 Apache Kafka 和 MySQL。

限制

  • changefeed 不支持在单个 RENAME TABLE 语句中重命名多个表的 DDL 语句,例如 RENAME TABLE t1 TO t3, t2 TO t4。执行该语句会永久中断 changefeed 的数据同步。
  • changefeed 的吞吐约为 20 MiB/s。如果你的增量数据量超过此限制,请联系 TiDB Cloud Support 获取帮助。

支持的区域

changefeed 功能目前在以下区域可用:

云服务商支持的区域
AWS
  • ap-east-1
  • ap-northeast-1
  • ap-southeast-1
  • eu-central-1
  • us-east-1
  • us-west-2
阿里云
  • ap-southeast-1
  • ap-southeast-5
  • cn-hongkong

未来将支持更多区域。如果你需要在特定区域立即支持,请联系 TiDB Cloud Support

查看 Changefeed 页面

要访问 changefeed 功能,请按照以下步骤操作:

  1. 登录 TiDB Cloud 控制台,并进入你的项目的 Clusters 页面。

    提示:

    你可以使用左上角的下拉框在组织、项目和集群之间切换。

  2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 Data > Changefeed。此时会显示 changefeed 页面。

Changefeed 页面,你可以创建 changefeed,查看已有 changefeed 列表,并对已有 changefeed 进行操作(如暂停、恢复、修改/编辑和删除 changefeed)。

创建 changefeed

要创建 changefeed,请参考以下教程:

查看 changefeed

你可以通过 TiDB Cloud 控制台或 TiDB Cloud CLI 查看 changefeed。

    1. 进入目标 TiDB 集群的 Changefeed 页面。
    2. 找到你想要查看的 changefeed,在 Action 列点击 ... > View
    3. 你可以查看 changefeed 的详细信息,包括其配置、状态和统计/指标(信息)。

    运行以下命令:

    ticloud serverless changefeed get --cluster-id <cluster-id> --changefeed-id <changefeed-id>

    暂停或恢复 changefeed

    你可以通过 TiDB Cloud 控制台或 TiDB Cloud CLI 暂停或恢复 changefeed。

      1. 进入目标 TiDB 集群的 Changefeed 页面。
      2. 找到你想要暂停或恢复的 changefeed,在 Action 列点击 ... > Pause/Resume

      要暂停 changefeed,运行以下命令:

      ticloud serverless changefeed pause --cluster-id <cluster-id> --changefeed-id <changefeed-id>

      要恢复 changefeed:

      ticloud serverless changefeed resume -c <cluster-id> --changefeed-id <changefeed-id>

      修改/编辑 changefeed

      你可以通过 TiDB Cloud 控制台或 TiDB Cloud CLI 修改/编辑 changefeed。

        1. 进入目标 TiDB 集群的 Changefeed 页面。

        2. 找到你想要暂停的 changefeed,在 Action 列点击 ... > Pause

        3. 当 changefeed 状态变为 Paused 后,点击 ... > Edit 以修改/编辑对应的 changefeed。

          TiDB Cloud 默认填充 changefeed 配置。你可以修改以下配置:

          • Apache Kafka sink:除 DestinationConnectionStart Position 外的所有配置
          • MySQL sink:除 DestinationConnectionStart Position 外的所有配置
        4. 修改配置后,点击 ... > Resume 以恢复对应的 changefeed。

        编辑 Apache Kafka sink 的 changefeed:

        ticloud serverless changefeed edit --cluster-id <cluster-id> --changefeed-id <changefeed-id> --name <new-displayName> --kafka <full-specified-kafka> --filter <full-specified-filter>

        编辑 MySQL sink 的 changefeed:

        ticloud serverless changefeed edit --cluster-id <cluster-id> --changefeed-id <changefeed-id> --name <new-displayName> --mysql <full-specified-mysql> --filter <full-specified-filter>

        复制 changefeed

        1. 进入目标 TiDB 集群的 Changefeed 页面。
        2. 找到你想要复制的 changefeed,在 Action 列点击 ... > Duplicate
        3. TiDB Cloud 会自动用原有设置填充新 changefeed 的配置。你可以根据需要检查并修改配置。
        4. 确认配置后,点击 Submit 创建并启动新的 changefeed。

        删除 changefeed

        你可以通过 TiDB Cloud 控制台或 TiDB Cloud CLI 删除 changefeed。

          1. 进入目标 TiDB 集群的 Changefeed 页面。
          2. 找到你想要删除的 changefeed,在 Action 列点击 ... > Delete

          运行以下命令:

          ticloud serverless changefeed delete --cluster-id <cluster-id> --changefeed-id <changefeed-id>

          changefeed 计费

          changefeed 在 beta 阶段免费。

          changefeed 状态

          在运行过程中,changefeed 可能因错误而失败,或被手动暂停或恢复。这些操作会导致 changefeed 状态发生变化。

          各状态说明如下:

          • CREATING:changefeed 正在创建中。
          • CREATE_FAILED:changefeed 创建失败。你需要删除该 changefeed 并重新创建。
          • RUNNING:changefeed 正常运行,checkpoint-ts 正常推进。
          • PAUSED:changefeed 已暂停。
          • WARNING:changefeed 返回警告。由于某些可恢复错误,changefeed 无法继续。处于该状态的 changefeed 会持续尝试恢复,直到状态变为 RUNNING。该状态下的 changefeed 会阻塞 GC 操作
          • RUNNING_FAILED:changefeed 运行失败。由于某些错误,changefeed 无法恢复且无法自动修复。如果在增量数据的垃圾回收(GC)之前解决了问题,你可以手动恢复失败的 changefeed。增量数据的默认生存时间(TTL)为 24 小时,即 changefeed 中断后 24 小时内 GC 机制不会删除任何数据。

          文档内容是否有帮助?