TiDB 移行ツールの概要

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

このドキュメントでは、ユーザー シナリオ、サポートされているアップストリームとダウンストリーム、これらのツールの利点と制限について紹介します。必要に応じて適切なツールを選択できます。

TiDB データ移行 (DM)

ユーザーシナリオMySQL 互換データベースから TiDB へのデータ移行
上流のMySQL、MariaDB、 Aurora、MySQL
下流TiDB
利点
  • 完全なデータ移行と増分レプリケーションをサポートする、便利で統合されたデータ移行タスク管理ツール
  • テーブルと操作のフィルタリングをサポート
  • シャードのマージと移行をサポート
  • 制限データのインポート速度は、TiDB Lightning の論理インポート モードとほぼ同じですが、TiDB Lightning の物理インポート モードよりも大幅に遅くなります。そのため、DM を使用して、サイズが 1 TiB 未満の完全なデータを移行することをお勧めします。

    Dumpling

    ユーザーシナリオMySQL または TiDB からの完全なデータ エクスポート
    上流のMySQL、TiDB
    ダウンストリーム (出力ファイル)SQL、CSV
    利点
  • データのフィルタリングを容易にするテーブル フィルター機能のサポート
  • Amazon S3 へのデータのエクスポートをサポート
  • 制限
  • エクスポートしたデータを TiDB 以外のデータベースに復元する場合は、 Dumplingを使用することをお勧めします。
  • エクスポートしたデータを別の TiDB クラスターに復元する場合は、バックアップと復元 (BR) を使用することをお勧めします。
  • TiDB Lightning

    ユーザーシナリオTiDB への完全なデータのインポート
    アップストリーム (インポートされたソース ファイル)
  • Dumplingからエクスポートされたファイル
  • Amazon Auroraまたは Apache Hive によってエクスポートされた寄木細工のファイル
  • CSVファイル
  • ローカル ディスクまたは Amazon S3 からのデータ
  • 下流TiDB
    利点
  • 大量のデータを迅速にインポートし、TiDB クラスター内の特定のテーブルを迅速に初期化するサポート
  • インポートの進行状況を保存するチェックポイントをサポートし、 tidb-lightningが再起動後に中断したところからインポートを続行できるようにします。
  • データフィルタリングをサポート
  • 制限
  • 物理インポート モードがデータのインポートに使用される場合、インポート プロセス中に TiDB クラスターはサービスを提供できません。
  • TiDB サービスに影響を与えたくない場合は、 TiDB Lightning 論理インポート モードに従ってデータ インポートを実行します。
  • バックアップと復元 (BR)

    ユーザーシナリオデータのバックアップと復元による大量の TiDB 顧客データの移行
    上流のTiDB
    ダウンストリーム (出力ファイル)SST、backup.meta ファイル、backup.lock ファイル
    利点
  • 別の TiDB クラスターへのデータの移行に適しています
  • ディザスタ リカバリ用の外部ストレージへのデータのバックアップをサポート
  • 制限
  • BR が TiCDC またはDrainerのアップストリーム クラスターにデータを復元する場合、復元されたデータは TiCDC またはDrainerによってダウンストリームにレプリケートできません。
  • BR は、同じnew_collations_enabled_on_first_bootstrap値を持つクラスター間の操作のみをサポートします。
  • TiCDC

    ユーザーシナリオこのツールは、TiKV 変更ログをプルすることによって実装されます。クラスター データをアップストリーム TSO との一貫性のある状態に復元し、他のシステムがデータ変更をサブスクライブできるようにサポートします。
    上流のTiDB
    下流TiDB、MySQL、アパッチ パルサー、カフカ、コンフルエント
    利点TiCDC Open Protocol を提供
    制限TiCDC は、少なくとも 1 つの有効なインデックスを持つテーブルのみをレプリケートします。次のシナリオはサポートされていません。
    • RawKV のみを使用する TiKV クラスター。
    • TiDB の DDL 操作CREATE SEQUENCESEQUENCEの機能。

    Binlog

    ユーザーシナリオ1 つの TiDB クラスターを別の TiDB クラスターのセカンダリ クラスターとして使用するなど、TiDB クラスター間の増分レプリケーション
    上流のTiDB
    下流 (または出力ファイル)TiDB、MySQL、Kafka、増分バックアップ ファイル
    利点リアルタイムのバックアップと復元をサポートします。ディザスタ リカバリ用に復元する TiDB クラスタ データをバックアップする
    制限TiDB Binlogは一部の TiDB バージョンと互換性がありません。 TiCDCを使用することをお勧めします。

    同期差分インスペクター

    ユーザーシナリオデータベースに格納されたデータを MySQL プロトコルと比較する
    上流のTiDB、MySQL
    下流TiDB、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
    

    こちらもご覧ください

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