TiDB 統合タスク (Preview)
TiDB 統合タスクは、TiDB クラスターから TiDB Cloud Lake にデータをレプリケートします。Dumpling エクスポートからのフル Snapshot ロード、TiCDC changefeed からの継続的な Change Data Capture (CDC)、またはその両方の組み合わせをサポートします。
再利用可能なステージング用バケット設定を先に作成する必要がある場合は、TiDB データソース を参照してください。
ユースケース
- 分析のために TiDB データベースとテーブルを TiDB Cloud Lake に移行する
- TiCDC を通じて TiDB Cloud Lake を TiDB と継続的に同期させる
- シャーディングされたデータベースを、1 つのタスク内でソースごとのターゲットデータベースに統合する
- フルロードを 1 回だけ実行する、またはフルロードと継続的な変更キャプチャを組み合わせる
同期モード
前提条件
TiDB 統合タスクを作成する前に、以下を確認してください。
- TiDB データソースがすでに作成されていること。
- データソースで設定したオブジェクトストレージのバケットに、TiDB Cloud Lake から到達できること。
- 同期したいテーブルの TiCDC / Dumpling エクスポートが、タスクで参照するプレフィックス配下のバケットに書き込まれていること。
TiDB 統合タスクの作成
このセクションでは、TiDB Cloud Lake で TiDB 統合タスクを作成する手順を説明します。
ステップ 1: 基本設定を構成する
- Data > Data Integration に移動し、Create Task をクリックします。
- TiDB データソースを選択し、基本設定を構成します。
Table Rules
1 行に 1 つのルールを入力します。各ルールは schemaPattern.tablePattern の形式で、除外する場合は先頭に ! を付けます。
app.orders an exact table
shard_*.* every table of every shard_ database
!*.tmp_* exclude temporary tables
ルールは最後から最初の順に評価されます。データベースパターンとテーブルパターンの両方に最初に一致したルールが結果を決定します。どのルールにも一致しないオブジェクトは除外されます。除外ルールのみを含むリストには、暗黙的に先頭に *.* が追加されます。
一致した各ソースデータベースは、それぞれ独自のターゲットデータベースに書き込まれるため、異なるソースデータベース内で同名のテーブルは分離されたままになります。これは、1 つのタスクで複数のソースデータベースを同期する唯一の方法です。
Preview Matched Tables をクリックすると、現在のルールを、プレフィックス配下に実際に存在するオブジェクトに対して評価できます。プレビューには、一致したソースデータベースとテーブル、および導出されたターゲットデータベースとテーブルが表示されます。
Snapshot のオプション
同期モードにスナップショットが含まれる場合、追加オプションによって Dumpling エクスポートのロード方法を制御できます。
ターゲット名のプレフィックスとサフィックス
ターゲットのデータベース名とテーブル名は、ソース名から導出され、必要に応じてプレフィックスやサフィックスを付けられます。
target database = targetDatabasePrefix + sourceDatabase + targetDatabaseSuffix
target table = targetTablePrefix + sourceTable + targetTableSuffix
プレフィックスとサフィックスを空のままにすると、ソース名がそのまま使用されます。プレフィックスとサフィックスには、英字、数字、アンダースコアのみを使用できます。
たとえば、データベースプレフィックスが src_ の場合、ソースデータベース shard_1 とテーブル orders は src_shard_1.orders に書き込まれます。
ステップ 2: タスクを作成する
設定を確認し、Create をクリックして統合タスクを作成します。
同期モードごとのタスク動作
CDC タスクでは、進行状況はチェックポイントとして保存されます。タスクを停止して再起動すると、先頭から再ロードするのではなく、保存された位置から再開します。
詳細設定
以下の設定は、検出、ロード (load)、マージを調整するタスクレベルのパラメーターです。