TiDB データ移行用語集
このドキュメントでは、TiDB データ移行 (DM) のログ、監視、構成、およびドキュメントで使用される用語を示します。
TiDB 関連の用語と定義については、 TiDB用語集参照してください。
B
Binlog
TiDB DMにおけるbinlogは、TiDBデータベース内で生成されるバイナリログファイルを指します。MySQLやMariaDBにおけるbinlogと同様の意味を持ちます。詳細はMySQL バイナリログとMariaDB バイナリログ参照してください。
Binlogイベント
Binlogイベントは、MySQLまたはMariaDBサーバーインスタンスに対するデータ変更に関する情報です。これらのbinlogイベントはbinlogファイルに保存されます。詳細はMySQLBinlogイベントとMariaDBBinlogイベントを参照してください。
Binlogイベントフィルター
Binlogイベントフィルター 、ブロックリストと許可リストのフィルタリングルールよりもきめ細かなフィルタリング機能です。詳細はbinlogイベントフィルターを参照してください。
Binlogの位置
binlog位置は、 binlogファイル内のbinlogイベントのオフセット情報です。詳細はMySQL SHOW BINLOG EVENTSとMariaDB SHOW BINLOG EVENTS参照してください。
Binlog複製処理ユニット/同期ユニット
Binlogログレプリケーション処理ユニットは、DM-workerにおいて上流のバイナリログまたはローカルリレーログを読み取り、これらのログを下流に移行するために使用される処理ユニットです。各サブタスクは1つのbinlogレプリケーション処理ユニットに対応します。現在のドキュメントでは、binlogログレプリケーション処理ユニットは同期処理ユニットとも呼ばれます。
ブロックと許可テーブルリスト
ブロック・許可テーブルリストは、特定のデータベースまたはテーブルに対するすべての操作をフィルタリングしたり、移行対象のみを選択したりする機能です。詳細はブロックと許可のテーブルリストを参照してください。この機能はMySQL レプリケーション フィルタリングおよびMariaDB レプリケーションフィルターに類似しています。
C
チェックポイント
チェックポイントは、完全なデータ インポートまたは増分レプリケーション タスクが一時停止されて再開される位置、または停止されて再起動される位置を示します。
- フルインポートタスクでは、チェックポイントは、インポート対象のファイル内の正常にインポートされたデータのオフセットなどの情報に対応します。チェックポイントは、データインポートタスクと同期して更新されます。
- 増分レプリケーションでは、チェックポイントは、正常に解析され下流に移行されたbinlogイベントのbinlogの位置とその他の情報に対応します。チェックポイントは、DDL操作が正常に移行された後、または最後の更新から30秒後に更新されます。
さらに、 リレー処理装置に対応するrelay.meta情報はチェックポイントと同様に機能します。リレー処理ユニットは上流からbinlogイベントを取得し、このイベントをリレーログに書き込み、このイベントに対応するbinlogの位置またはGTID情報をrelay.metaに書き込みます。
D
ダンプ処理装置/ダンプユニット
ダンプ処理単位は、DM-worker において上流からのすべてのデータをエクスポートするために使用される処理単位です。各サブタスクは 1 つのダンプ処理単位に対応します。
G
GTID
GTIDはMySQLまたはMariaDBのグローバルトランザクションIDです。この機能を有効にすると、GTID情報がbinlogファイルに記録されます。複数のGTIDはGTIDセットを形成します。詳細はMySQL GTID のフォーマットと保存とMariaDB グローバルトランザクションIDを参照してください。
L
負荷処理ユニット/負荷ユニット
ロード処理単位は、DM-workerにおいて、完全にエクスポートされたデータを下流にインポートするために用いられる処理単位です。各サブタスクはロード処理単位に対応します。このドキュメントでは、ロード処理単位はインポート処理単位とも呼ばれます。
M
移行/移行
TiDB データ移行ツールを使用して、アップストリーム データベースの完全なデータをダウンストリーム データベースにコピーするプロセス。
「完全」と明記している場合、「完全または増分」とは明記していない場合、「完全 + 増分」と明記している場合は、replicate/replication ではなく migrate/migration を使用します。
R
リレーログ
リレーログとは、DM-workerが上流のMySQLまたはMariaDBから取得し、ローカルディスクに保存するbinlogファイルを指します。リレーログの形式は標準的なbinlogファイルであり、互換性のあるバージョンのmysqlbinlogなどのツールで解析できます。その役割はMySQLリレーログおよびMariaDB リレーログと同様です。
リレー ログのディレクトリ構造、初期移行ルール、TiDB DM のデータ パージなどの詳細については、 TiDB DMリレーログ参照してください。
リレー処理ユニット
リレー処理ユニットは、DM-worker において上流からbinlogファイルを取得し、リレーログにデータを書き込むために使用される処理ユニットです。各 DM-worker インスタンスには、リレー処理ユニットが 1 つだけ存在します。
複製/レプリケーション
TiDB データ移行ツールを使用して、上流データベースの増分データを下流データベースにコピーするプロセス。
「増分」を明確に記載する場合は、 migrate/migration ではなく、replicate/replication を使用します。
S
セーフモード
セーフモードは、テーブルスキーマに主キーまたは一意のインデックスが存在する場合に、DML文を複数回インポートできるモードです。このモードでは、上流の文の一部は、書き換えられた後にのみ下流に移行されます。1 INSERT文はREPLACEに書き換えられ、 UPDATE文はDELETEとREPLACEに書き換えられます。
このモードは、次のいずれかの状況で有効になります。
- タスク構成ファイルの
safe-modeパラメータがtrueに設定されている場合、セーフ モードは有効なままになります。 - シャードマージのシナリオでは、すべてのシャードテーブルで DDL ステートメントが複製される前は、セーフ モードが有効なままになります。
- 完全移行タスクのダンプ処理単位に引数
--consistency none設定されている場合、エクスポート開始時のbinlogの変更がエクスポートされたデータに影響を与えるかどうかを判断できません。そのため、これらのbinlogの変更の増分レプリケーションではセーフモードが有効なままになります。 - タスクがエラーによって一時停止され、その後再開された場合、一部のデータに対する操作が 2 回実行される可能性があります。
シャードDDL
シャードDDLは、上流のシャードテーブルに対して実行されるDDL文です。シャードテーブルのマージプロセスにおいて、TiDB DMによって調整および移行される必要があります。現在のドキュメントでは、シャードDDLはシャーディングDDLとも呼ばれています。
シャードDDLロック
シャードDDLロックは、シャードDDLの移行を調整するロックメカニズムです。詳細は悲観的モードでのシャードテーブルからのデータのマージと移行の実装原則を参照してください。現在のドキュメントでは、シャードDDLロックはシャーディングDDLロックとも呼ばれています。
シャードグループ
シャードグループとは、下流の同じテーブルにマージおよび移行される上流のシャードテーブルすべてを指します。TiDB DMの実装では、2階層のシャードグループが使用されます。詳細は悲観的モードでのシャードテーブルからのデータのマージと移行の実装原則を参照してください。現在のドキュメントでは、シャードグループはシャーディンググループとも呼ばれます。
サブタスク
サブタスクは、各 DM ワーカーインスタンスで実行されるデータ移行タスクの一部です。タスク構成によっては、1 つのデータ移行タスクに 1 つのサブタスクが含まれる場合もあれば、複数のサブタスクが含まれる場合もあります。
サブタスクのステータス
サブタスクステータスは、データ移行サブタスクのステータスです。現在のステータスオプションには、 New 、 Running 、 Paused 、 Stopped 、 Finishedあります。データ移行タスクまたはサブタスクのステータスの詳細については、 サブタスクのステータスを参照してください。
T
テーブルルーティング
テーブルルーティング機能により、DMは上流のMySQLまたはMariaDBインスタンスの特定のテーブルを下流の指定されたテーブルに移行できます。この機能は、シャードテーブルのマージと移行に使用できます。詳細はテーブルルーティングを参照してください。
タスク
データ移行タスクは、コマンドstart-task実行に成功した後に開始されます。タスク構成によっては、単一の移行タスクを単一のDMワーカーインスタンスで実行することも、複数のDMワーカーインスタンスで同時に実行することもできます。
タスクのステータス
タスクステータスは、データ移行タスクのステータスを指します。タスクステータスは、そのすべてのサブタスクのステータスに依存します。詳細はサブタスクのステータスを参照してください。