データ移行の概要
このドキュメントでは、TiDB で使用できるデータ移行ソリューションの概要を説明します。データ移行ソリューションは次のとおりです。
完全なデータ移行。
- Amazon Auroraスナップショット、CSV ファイル、または SQL ダンプ ファイルを TiDB にインポートするには、 TiDB Lightningを使用して完全な移行を実行できます。
- すべての TiDB データを CSV ファイルまたは SQL ダンプ ファイルとしてエクスポートするには、 Dumpling を使用して完全な移行を実行します。これにより、MySQL または MariaDB からのデータ移行が容易になります。
- データ サイズのボリュームが小さい (たとえば、1 TiB 未満) データベースからすべてのデータを移行するには、TiDB データ移行 (DM) を使用することもできます。
TiDB の迅速な初期化。TiDB TiDB Lightning は、データの迅速なインポートをサポートし、TiDB 内の特定のテーブルを迅速に初期化できます。この機能を使用する前に、迅速な初期化は TiDB に大きな影響を与え、初期化期間中はクラスターがサービスを提供しないことに注意してください。
増分レプリケーション。TiDB DM を使用すると、MySQL、MariaDB、またはAuroraから TiDB にバイナリログをレプリケートできるため、レプリケーション期間中のウィンドウのダウンタイムが大幅に短縮されます。
TiDB クラスター間のデータ レプリケーション。TiDB はバックアップと復元をサポートしています。この機能により、既存の TiDB クラスターのスナップショットを新しい TiDB クラスターに初期化できます。
TiDB クラスター間の増分レプリケーション。TiDB は、同種のデータベース間の災害復旧をサポートし、災害発生後のプライマリ データベースとセカンダリ データベースの最終的なデータ整合性を保証します。これは、プライマリ クラスターとセカンダリ クラスターの両方が TiDB である場合にのみ機能します。
データベースの種類、展開場所、アプリケーション データのサイズ、アプリケーションのニーズに応じて、さまざまな移行ソリューションを選択できます。次のセクションでは、一般的な移行シナリオをいくつか紹介します。これらのセクションを参照して、ニーズに応じて最適なソリューションを決定してください。
Aurora MySQLからTiDBへのデータの移行
Auroraから AWS にデプロイされた TiDB クラスターにデータを移行する場合、データ移行には完全なデータ移行と増分レプリケーションの 2 つの操作が必要です。アプリケーションのニーズに応じて、対応する操作を選択できます。
MySQLからTiDBへのデータの移行
クラウドstorage(S3) サービスを使用しておらず、ネットワーク接続が良好で、ネットワークレイテンシーが低い場合は、 小規模データセットを MySQL から TiDB に移行する手順に従って MySQL から TiDB にデータを移行できます。
移行速度に対する要求が高い場合、またはデータ サイズが大きい場合 (たとえば、1 TiB より大きい)、および移行期間中に他のアプリケーションによる TiDB への書き込みを許可しない場合は、 TiDB Lightningを使用してデータをすばやくインポートできます。その後、アプリケーションのニーズに基づいて、DM を使用して増分データ (binlog) を複製できます。1 大規模なデータセットをMySQLからTiDBに移行する参照してください。
MySQL シャードを TiDB に移行してマージする
アプリケーションがデータstorageに MySQL シャードを使用しており、これらのシャードを 1 つのテーブルとして TiDB に移行する必要がある場合、DM を使用してシャードのマージと移行を実行できます。
シャードされたテーブルのデータ サイズが大きく (たとえば、1 TiB より大きい)、移行期間中に他のアプリケーションが TiDB に書き込むことを許可しない場合は、 TiDB Lightning を使用してシャードされたテーブルをすばやくマージしてインポートできます。その後、アプリケーションのニーズに基づいて、DM を使用して増分シャーディング データ (binlog) を複製できます。
ファイルから TiDB にデータを移行する
TiDB クラスター間の増分レプリケーション
TiCDC を使用すると、TiDB クラスター間の増分データ レプリケーションを行うことができます。詳細については、 TiCDC の概要を参照してください。
より高度な移行ソリューション
次の機能により移行プロセスが改善され、アプリケーションのより多くのニーズを満たすことができます。