重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

データ移行の概要

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

  • 完全なデータ移行。

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

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

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

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

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

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

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

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

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

MySQLシャードをTiDBに移行およびマージします

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

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

ファイルからTiDBへのデータの移行

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

次の機能は、移行プロセスを改善し、アプリケーションのより多くのニーズを満たす可能性があります。