変更フィード(ベータ版)
TiDB Cloudのchangefeed機能を使用すると、 TiDB Cloudから他のデータサービスへデータをストリーミングできます。現在、 TiDB CloudはApache KafkaとMySQLへのデータストリーミングをサポートしています。
注記:
- 現在、 TiDB Cloud、 TiDB Cloud Essentialインスタンスごとに最大10個のチェンジフィードしか許可されていません。
- TiDB Cloud Starterインスタンスでは、変更フィード機能は利用できません。
制限
- Changefeeds は、
RENAME TABLEのように、単一のRENAME TABLE t1 TO t3, t2 TO t4} ステートメントで複数のテーブルの名前を変更する DDL ステートメントをサポートしていません。このステートメントを実行すると、Changefeed のデータレプリケーションが永続的に中断されます。 - 変更フィードのスループットは約20 MiB/秒です。増分データ量がこの制限を超える場合は、 TiDB Cloudサポートにお問い合わせください。
対応地域
変更フィード機能は、以下の地域でご利用いただけます。
今後、対応地域は拡大していく予定です。特定の地域での緊急サポートについては、 TiDB Cloudサポートまでお問い合わせください。
Changefeedページをビュー
変更フィード機能にアクセスするには、以下の手順に従ってください。
TiDB Cloudコンソールにログインし、私のTiDBページに移動します。
ヒント:
複数の組織に所属している場合は、左上隅のコンボボックスを使用して、まず目的の組織に切り替えてください。
対象のTiDB Cloud Essentialインスタンスの名前をクリックして概要ページに移動し、左側のナビゲーションペインで「データ」 > 「変更フィード」をクリックします。変更フィードページが表示されます。
変更フィードページでは、変更フィードの作成、既存の変更フィードの一覧表示、および既存の変更フィードの操作(変更フィードの一時停止、再開、編集、削除など)を行うことができます。
変更フィードを作成する
変更フィードを作成するには、チュートリアルを参照してください。
変更フィードをビュー
変更フィードは、 TiDB CloudコンソールまたはTiDB Cloud CLIを使用して表示できます。
- ターゲットのTiDB Cloud Essentialインスタンスの変更フィードページに移動します。
- 表示したい該当する変更フィードを見つけて、 [アクション]列の[...] > [ビュー]をクリックします。
- 変更フィードの詳細(設定、ステータス、メトリクスなど)を確認できます。
以下のコマンドを実行してください。
ticloud serverless changefeed get --cluster-id <cluster-id> --changefeed-id <changefeed-id>
変更フィードを一時停止または再開する
TiDB CloudコンソールまたはTiDB Cloud CLIを使用して、変更フィードを一時停止または再開できます。
- ターゲットのTiDB Cloud Essentialインスタンスの変更フィードページに移動します。
- 一時停止または再開したい該当する変更フィードを見つけて、 [アクション]列の[...] > [一時停止/再開]をクリックします。
変更フィードを一時停止するには、次のコマンドを実行します。
ticloud serverless changefeed pause --cluster-id <cluster-id> --changefeed-id <changefeed-id>
変更フィードを再開するには:
ticloud serverless changefeed resume -c <cluster-id> --changefeed-id <changefeed-id>
変更フィードを編集する
注記:
TiDB Cloud現在、一時停止状態の変更フィードの編集のみが許可されています。
変更フィードは、 TiDB CloudコンソールまたはTiDB Cloud CLIを使用して編集できます。
ターゲットのTiDB Cloud Essentialインスタンスの変更フィードページに移動します。
一時停止したい変更フィードを見つけて、 [アクション]列の[...] > [一時停止]をクリックします。
変更フィードのステータスが
Pausedに変更されたら、 [...] > [編集]をクリックして、対応する変更フィードを編集します。TiDB Cloudはデフォルトで変更フィードの設定を自動的に行います。以下の設定を変更できます。
- Apache Kafkaシンク:宛先、接続、開始位置を除くすべての設定
- MySQLシンク:宛先、接続、開始位置を除くすべての設定
設定を編集した後、 [...] > [再開]をクリックして、対応する変更フィードを再開します。
Apache Kafkaシンクを使用して変更フィードを編集する:
ticloud serverless changefeed edit --cluster-id <cluster-id> --changefeed-id <changefeed-id> --name <new-displayName> --kafka <full-specified-kafka> --filter <full-specified-filter>
MySQLシンクを使用して変更フィードを編集する:
ticloud serverless changefeed edit --cluster-id <cluster-id> --changefeed-id <changefeed-id> --name <new-displayName> --mysql <full-specified-mysql> --filter <full-specified-filter>
変更フィードを複製する
- ターゲットのTiDB Cloud Essentialインスタンスの変更フィードページに移動します。
- 複製したい変更フィードを探します。アクション列で、 ... >複製をクリックします。
- TiDB Cloudは、新しい変更フィード設定に元の設定を自動的に反映します。必要に応じて設定を確認および変更できます。
- 設定を確認後、 「送信」をクリックして新しい変更フィードを作成して開始します。
変更フィードを削除する
TiDB CloudコンソールまたはTiDB Cloud CLIを使用して、変更フィードを削除できます。
- ターゲットのTiDB Cloud Essentialインスタンスの変更フィードページに移動します。
- 削除したい変更フィードを見つけて、 [アクション]列の[...] > [削除]をクリックします。
以下のコマンドを実行してください。
ticloud serverless changefeed delete --cluster-id <cluster-id> --changefeed-id <changefeed-id>
Changefeedの請求
変更フィードはベータ版期間中は無料です。
Changefeedの状態
実行プロセス中に、変更フィードはエラーで失敗したり、手動で一時停止または再開されたりする場合があります。これらの動作により、変更フィードの状態が変化する可能性があります。
各州は以下のように説明されます。
CREATING: 変更フィードが作成されています。CREATE_FAILED: 変更フィードの作成に失敗しました。変更フィードを削除して、新しいものを作成する必要があります。RUNNING: changefeed は正常に実行され、checkpoint-ts も正常に進行します。PAUSED: 変更フィードが一時停止されています。WARNING: 変更フィードが警告を返します。回復可能なエラーのため、変更フィードは続行できません。この状態の変更フィードは、状態がRUNNINGに遷移するまで再開を試み続けます。この状態の変更フィードはGCオペレーションブロックします 。RUNNING_FAILED: 変更フィードが失敗しました。何らかのエラーにより、変更フィードを再開できず、自動的に復旧することもできません。増分データのガベージコレクション(GC) の前に問題が解決された場合は、失敗した変更フィードを手動で再開できます。増分データのデフォルトの有効期限 (TTL) は 24 時間です。つまり、変更フィードが中断されてから 24 時間以内に GC メカニズムによってデータが削除されることはありません。