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

TiDB移行ツールの概要

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

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

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

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

    TiDB v4.0以降、TiUPは、TiDBエコシステム内のさまざまなクラスタコンポーネントの管理を支援するパッケージマネージャーとして機能します。これで、1つのコマンドを使用して任意のクラスタコンポーネントを管理できます。

    手順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
    

    も参照してください