📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

Vitess から TiDB へのデータ移行

このドキュメントでは、 ヴィテスから TiDB にデータを移行するために使用できるツールについて説明します。

VitessのバックエンドはMySQLベースであるため、VitessからTiDBにデータを移行する際には、MySQLに適用できるものと同じ移行ツールTiDB データ移行 (DM) DumplingなどTiDB Lightningを使用できます。これらのツールは、データ移行のためにVitess内の各シャードに対して設定する必要があることに注意してください。

通常、データ移行前にDMタスクをtask-modeallphysicalに設定することを推奨します。詳細については、 タスク構成ファイルテンプレート(上級) import-modeしてください。

データ サイズが 10 TiB を超える場合は、2 つの手順でインポートを実行することをお勧めします。

  1. 既存のデータをインポートするには、 DumplingとTiDB Lightning を使用します。
  2. DM を使用して増分データをインポートします。

これらのツールに加えて、 Vitess用Debeziumコネクタも使用できます。このコネクタを使用すると、 カフカコネクトまたはアパッチフリンク使用して、Vitess から TiDB に変更をストリーミングできます。

VitessとTiDBはどちらもMySQLプロトコルとSQL方言をサポートしているため、アプリケーションレベルでの変更は小さくなると予想されます。ただし、シャーディングやその他の実装固有の側面を直接管理するタスクでは、変更が大きくなる可能性があります。VitessからTiDBへのデータ移行を容易にするために、TiDBはVitessのHASH関数と互換性のある文字列のハッシュを返すVITESS_HASH()関数を導入しています。

DumplingとTiDB Lightning

次の 2 つの例は、 DumplingとTiDB Lightningが連携して Vitess から TiDB にデータを移行する方法を示しています。

  • この例では、 TiDB Lightning は論理インポートモード使用します。これは、最初にデータを SQL ステートメントにエンコードし、次に SQL ステートメントを実行してデータをインポートします。

    Vitess to TiDB Migration with TiDB backend

  • この例では、 TiDB Lightning は物理インポートモードを使用してデータを TiKV に直接取り込みます。

    Vitess to TiDB Migration with local backend

DM

次の例は、Vitess から TiDB にデータを移行するDMを示しています。

Vitess to TiDB with DM

このページは役に立ちましたか?