データ移行の概要

このドキュメントでは、TiDB で使用できるデータ移行ソリューションの概要を説明します。データ移行ソリューションは次のとおりです。

  • 完全なデータ移行。

    • Amazon Auroraスナップショット、CSV ファイル、または Mydumper SQL ファイルを TiDB にインポートするには、 TiDB Lightningを使用して完全な移行を実行できます。
    • すべての TiDB データを CSV ファイルまたは Mydumper SQL ファイルとしてエクスポートするには、 Dumplingを使用して完全な移行を実行できます。これにより、MySQL または MariaDB からのデータ移行が容易になります。
    • データ サイズ ボリュームが小さい (たとえば、1 TiB 未満) データベースからすべてのデータを移行するには、TiDB Data Migration (DM) を使用することもできます。
  • TiDB のクイック初期化。 TiDB Lightningはデータの迅速なインポートをサポートし、TiDB 内の特定のテーブルを迅速に初期化できます。この機能を使用する前に、迅速な初期化が TiDB に大きな影響を与え、初期化期間中はクラスターがサービスを提供しないことに注意してください。

  • 増分レプリケーション。 TiDB DM を使用して、バイナリログを MySQL、MariaDB、またはAuroraから TiDB に複製できます。これにより、複製期間中のウィンドウのダウンタイムが大幅に短縮されます。

  • TiDB クラスター間のデータ複製。 TiDB はバックアップと復元をサポートしています。この機能は、既存の TiDB クラスターのスナップショットを新しい TiDB クラスターに初期化できます。

データベースの種類、展開場所、アプリケーション データのサイズ、およびアプリケーションのニーズに応じて、さまざまな移行ソリューションを選択できます。次のセクションでは、いくつかの一般的な移行シナリオを紹介します。これらのセクションを参照して、ニーズに応じて最適なソリューションを決定できます。

Aurora MySQL から TiDB にデータを移行する

Auroraから AWS にデプロイされた TiDB クラスターにデータを移行する場合、データ移行には、完全なデータ移行と増分レプリケーションの 2 つの操作が必要です。アプリケーションのニーズに応じて、対応する操作を選択できます。

MySQL から TiDB にデータを移行する

クラウド ストレージ (S3) サービスが使用されておらず、ネットワーク接続が良好で、ネットワークレイテンシーが低い場合は、次の方法を使用して MySQL から TiDB にデータを移行できます。

移行速度に対する要求が高い場合、またはデータ サイズが大きい (たとえば 1 TiB を超える) 場合で、移行期間中に他のアプリケーションが TiDB に書き込むことを許可しない場合は、 TiDB Lightningを使用してすばやくデータをインポートします。次に、DM を使用して、アプリケーションのニーズに基づいて増分データ (binlog) をレプリケートできます。

MySQL シャードを TiDB に移行してマージする

アプリケーションがデータ ストレージに MySQL シャードを使用しており、これらのシャードを 1 つのテーブルとして TiDB に移行する必要があるとします。この場合、DM を使用してシャードのマージと移行を実行できます。

シャード テーブルのデータ サイズが大きく (たとえば、1 TiB より大きい)、移行期間中に他のアプリケーションが TiDB に書き込むことを許可しない場合は、 TiDB Lightningを使用して、シャード テーブルをすばやくマージおよびインポートできます。その後、DM を使用して、アプリケーションのニーズに基づいて増分シャーディング データ (binlog) をレプリケートできます。

ファイルから TiDB にデータを移行する

より高度な移行ソリューション

次の機能により、移行プロセスが改善され、アプリケーションのより多くのニーズを満たすことができます。

エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2023 PingCAP. All Rights Reserved.