TiDB 移行ツールの概要

TiDB は、完全なデータ移行、増分データ移行、バックアップと復元、データ複製など、さまざまなシナリオに対応する複数のデータ移行ツールを提供します。

このドキュメントでは、これらのツールのユーザー シナリオ、利点、および制限事項について説明します。必要に応じて適切なツールを選択できます。

次の表は、ユーザー シナリオ、サポートされている移行ツールのアップストリームとダウンストリームを示しています。

ツール名ユーザーシナリオアップストリーム (またはインポートされたソース ファイル)下流 (または出力ファイル)利点制限
TiDB データ移行 (DM)MySQL 互換データベースから TiDB へのデータ移行MySQL、MariaDB、 Aurora、MySQLTiDB
  • 完全なデータ移行と増分レプリケーションをサポートする、便利で統合されたデータ移行タスク管理ツール
  • テーブルと操作のフィルタリングをサポート
  • シャードのマージと移行をサポート
  • データのインポート速度は、TiDB Lighting の TiDB バックエンドとほぼ同じですが、TiDB Lighting の Local バックエンドよりもはるかに低速です。そのため、DM を使用して、サイズが 1 TiB 未満の完全なデータを移行することをお勧めします。
    DumplingMySQL または TiDB からの完全なデータ エクスポートMySQL、TiDBSQL、CSV
  • データのフィルタリングを容易にするテーブル フィルター機能のサポート
  • Amazon S3 へのデータのエクスポートをサポート
  • エクスポートしたデータを TiDB 以外のデータベースに復元する場合は、 Dumplingを使用することをお勧めします。
  • エクスポートしたデータを別の TiDB クラスターに復元する場合は、バックアップと復元 (BR) を使用することをお勧めします。
  • TiDB LightningTiDB への完全なデータのインポート
  • Dumplingからエクスポートされたファイル
  • CSV ファイル
  • ローカル ディスクまたは Amazon S3 から読み取ったデータ
  • TiDB
  • 大量のデータを迅速にインポートし、TiDB クラスター内の特定のテーブルを迅速に初期化するサポート
  • インポートの進行状況を保存するチェックポイントをサポートし、 tidb-lightningが再起動後に中断したところからインポートを続行できるようにします。
  • データフィルタリングをサポート
  • データのインポートに Local-backend が使用されている場合、インポート プロセス中に TiDB クラスターはサービスを提供できません。
  • TiDB サービスに影響を与えたくない場合は、 TiDB Lightning TiDB-backend に従ってデータ インポートを実行します。
  • バックアップと復元 (BR)データのバックアップと復元により、大量の TiDB 顧客データを移行します。TiDBSST、backup.meta ファイル、backup.lock ファイル
  • 別の TiDB クラスターへのデータの移行に適しています
  • ディザスタ リカバリ用の外部ストレージへのデータのバックアップをサポート
  • BR が TiCDC またはDrainerのアップストリーム クラスターにデータを復元する場合、復元されたデータは TiCDC またはDrainerによってダウンストリームにレプリケートできません。
  • BR は、同じnew_collations_enabled_on_first_bootstrap値を持つクラスター間の操作のみをサポートします。
  • TiCDCこのツールは、TiKV 変更ログをプルすることによって実装されます。アップストリームの TSO と整合性のある状態にデータを復元し、他のシステムがデータの変更をサブスクライブできるようにサポートします。TiDBTiDB、MySQL、アパッチ パルサー、カフカ、コンフルエントTiCDC Open Protocol を提供TiCDC は、少なくとも 1 つの有効なインデックスを持つテーブルのみをレプリケートします。次のシナリオはサポートされていません。
    • RawKV のみを使用する TiKV クラスター。
    • DDL 操作CREATE SEQUENCEと TiDB のSEQUENCE関数。
    Binlog1 つの TiDB クラスターを別の TiDB クラスターのセカンダリ クラスターとして使用するなど、TiDB クラスター間の増分レプリケーションTiDBTiDB、MySQL、Kafka、増分バックアップ ファイルリアルタイムのバックアップと復元をサポートします。ディザスタ リカバリ用に復元する TiDB クラスタ データをバックアップする一部の TiDB バージョンと互換性がない
    同期差分インスペクターデータベースに格納されたデータを MySQL プロトコルと比較するTiDB、MySQLTiDB、MySQL少量のデータが矛盾しているシナリオでデータを修復するために使用できます
  • MySQL と TiDB 間のデータ移行では、オンライン チェックはサポートされていません。
  • JSON、BIT、BINARY、BLOB およびその他のタイプのデータはサポートされていません。
  • TiUP を使用してツールをインストールする

    TiDB v4.0 以降、TiUP は、TiDB エコシステム内のさまざまなクラスター コンポーネントを管理するのに役立つパッケージ マネージャーとして機能します。単一のコマンドを使用して、任意のクラスター コンポーネントを管理できるようになりました。

    ステップ 1. TiUP をインストールする

    curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh

    グローバル環境変数を再宣言します。

    source ~/.bash_profile

    ステップ 2. コンポーネントをインストールする

    次のコマンドを使用して、使用可能なすべてのコンポーネントを表示できます。

    tiup list

    コマンド出力には、使用可能なすべてのコンポーネントが一覧表示されます。

    Available components: Name Owner Description ---- ----- ----------- bench pingcap Benchmark database with different workloads br pingcap TiDB/TiKV cluster backup restore tool cdc pingcap CDC is a change data capture tool for TiDB client pingcap Client to connect playground cluster pingcap Deploy a TiDB cluster for production ctl pingcap TiDB controller suite dm pingcap Data Migration Platform manager dmctl pingcap dmctl component of Data Migration Platform errdoc pingcap Document about TiDB errors pd-recover pingcap PD Recover is a disaster recovery tool of PD, used to recover the PD cluster which cannot start or provide services normally playground pingcap Bootstrap a local TiDB cluster for fun tidb pingcap TiDB is an open source distributed HTAP database compatible with the MySQL protocol tidb-lightning pingcap TiDB Lightning is a tool used for fast full import of large amounts of data into a TiDB cluster tiup pingcap TiUP is a command-line component management tool that can help to download and install TiDB platform components to the local system

    インストールするコンポーネントを選択します。

    tiup install dumpling tidb-lightning

    ノート:

    特定のバージョンのコンポーネントをインストールするには、 tiup install <component>[:version]コマンドを使用します。

    ステップ 3. TiUP とそのコンポーネントを更新する (オプション)

    新しいバージョンのリリース ログと互換性に関する注意事項を参照することをお勧めします。

    tiup update --self && tiup update dm

    こちらもご覧ください