TiDB ツールの概要

TiDB は、TiDB のデプロイと保守、データの管理 (データ移行、バックアップと復元、データ比較など)、および TiKV での Spark SQL の実行に役立つ豊富なツール セットを提供します。必要に応じて適切なツールを選択できます。

導入および運用ツール

TiDB は、さまざまなシステム環境での展開と運用のニーズを満たすために、TiUP とTiDB Operatorを提供します。

TiDB を物理マシンまたは仮想マシンにデプロイして操作する - TiUP

TiUPは、物理マシンまたは仮想マシン上の TiDB パッケージ マネージャーです。 TiUP は、TiDB、PD、TiKV などの複数の TiDB コンポーネントを管理できます。 TiDB エコシステムのコンポーネントを開始するには、TiUP コマンドを 1 行実行するだけです。

TiUP は、Golang で記述されたクラスター管理コンポーネントであるTiUPクラスターを提供します。 TiUP クラスターを使用すると、TiDB クラスターのデプロイ、開始、停止、破棄、スケーリング、およびアップグレードを含む日常のデータベース操作を簡単に実行し、TiDB クラスターのパラメーターを管理できます。

TiUP の基本は次のとおりです。

TiDB を Kubernetes にデプロイして操作する - TiDB Operator

TiDB Operatorは、Kubernetes で TiDB クラスターを管理するための自動運用システムです。展開、アップグレード、スケーリング、バックアップ、および構成変更を含む、TiDB の完全なライフサイクル管理を提供します。 TiDB Operatorを使用すると、パブリック クラウドまたはプライベート クラウドにデプロイされた Kubernetes クラスターで TiDB をシームレスに実行できます。

TiDB Operatorの基本は次のとおりです。

データ管理ツール

TiDB は、インポートとエクスポート、バックアップと復元、増分データ複製、データ検証など、複数のデータ管理ツールを提供します。

データ移行 - TiDB データ移行 (DM)

TiDB データ移行 (DM) は、MySQL/MariaDB から TiDB への完全なデータ移行と増分データ レプリケーションをサポートするツールです。

DMの基本は以下の通りです。

  • ソース: MySQL/MariaDB
  • ターゲット: TiDB クラスター
  • サポートされている TiDB バージョン: すべてのバージョン
  • Kubernetes サポート: TiDB Operatorを使用して、TiDB DM を Kubernetes にデプロイします。

データ量が 1 TB 未満の場合は、DM を使用して直接 MySQL/MariaDB から TiDB にデータを移行することをお勧めします。移行プロセスには、完全なデータ移行と増分データ レプリケーションが含まれます。

データ ボリュームが 1 TB を超える場合は、次の手順を実行します。

  1. Dumplingを使用して、MySQL/MariaDB から完全なデータをエクスポートします。
  2. TiDB Lightningを使用して、手順 1 でエクスポートしたデータを TiDB クラスターにインポートします。
  3. TiDB DM を使用して、MySQL/MariaDB から TiDB に増分データを複製します。

ノート:

Syncer ツールはメンテナンスされなくなりました。 Syncer に関連するシナリオでは、DM を使用して増分レプリケーションを実行することをお勧めします。

完全なデータ エクスポート -Dumpling

Dumplingは、MySQL または TiDB からの論理フル データ エクスポートをサポートします。

Dumplingの基本は次のとおりです。

  • 出典: MySQL/TiDB クラスター
  • 出力: SQL/CSV ファイル
  • サポートされている TiDB バージョン: すべてのバージョン
  • Kubernetes のサポート: いいえ

ノート:

PingCAP は以前、TiDB に固有の拡張機能を備えたmydumper プロジェクトのフォークを維持していました。このフォークはその後、Golang で書き直されたDumplingに置き換えられ、TiDB に固有の最適化がさらに提供されます。 mydumper の代わりにDumplingを使用することを強くお勧めします。

完全なデータのインポート - TiDB Lightning

TiDB Lightningは、TiDB クラスターへの大規模なデータセットの完全なデータ インポートをサポートします。

TiDB Lightningは次のモードをサポートしています。

  • Physical Import Mode : TiDB Lightningはデータを順序付けられたキーと値のペアに解析し、TiKV に直接インポートします。このモードは通常、大量のデータ (TB レベル) を新しいクラスターにインポートするためのものです。インポート中、クラスターはサービスを提供できません。
  • Logical Import Mode : このモードは、TiDB/MySQL をバックエンドとして使用します。これはPhysical Import Modeよりも低速ですが、オンラインで実行できます。また、MySQL へのデータのインポートもサポートしています。

TiDB Lightningの基本は次のとおりです。

ノート:

ローダー ツールはメンテナンスされなくなりました。ローダーに関連するシナリオでは、代わりにLogical Import Modeを使用することをお勧めします。

バックアップと復元 - バックアップと復元 (BR)

復元する (BR) は、TiDB クラスター データの分散バックアップおよび復元用のコマンド ライン ツールです。 BR は、膨大なデータ量の TiDB クラスターを効果的にバックアップおよび復元できます。

BR の基本は次のとおりです。

増分データ複製 - TiCDC

TiCDCは、TiKV から変更ログをプルして、TiDB の増分データを複製するために使用されるツールです。アップストリームの任意の TSO と一致する状態にデータを復元できます。 TiCDC は、データ変更をサブスクライブする他のシステムをサポートする TiCDC オープン プロトコルも提供します。

TiCDC の基本は次のとおりです。

  • 出典: TiDB クラスター
  • ターゲット: TiDB クラスター、MySQL、Kafka、および Confluent
  • サポートされている TiDB バージョン: v4.0.6 以降のバージョン

増分ログ レプリケーション - TiDB Binlog

Binlogは、TiDB クラスターの binlog を収集し、ほぼリアルタイムのデータ複製とバックアップを提供するツールです。 TiDB クラスタをプライマリ TiDB クラスタのセカンダリ クラスタにするなど、TiDB クラスタ間の増分データ レプリケーションに使用できます。

TiDB Binlogの基本は次のとおりです。

  • 出典: TiDB クラスター
  • ターゲット: TiDB クラスター、MySQL、Kafka、または増分バックアップ ファイル
  • サポートされている TiDB バージョン: v2.1 以降のバージョン
  • Kubernetes のサポート: はい。詳細については、 TiDB Binlogクラスタの操作Kubernetes での TiDB BinlogDrainerを参照してください。

同期差分インスペクター

同期差分インスペクターは、MySQL または TiDB データベースに保存されているデータを比較するツールです。さらに、sync-diff-inspector を使用して、少量のデータに一貫性がないシナリオでデータを修復することもできます。

以下は、sync-diff-inspector の基本です。

  • 出典: MySQL/TiDB クラスター
  • ターゲット: MySQL/TiDB クラスター
  • サポートされている TiDB バージョン: すべてのバージョン

OLAP クエリ ツール - TiSpark

ティスパークは、複雑な OLAP クエリに対処するために PingCAP によって開発された製品です。 Spark の強みと、分散型 TiKV クラスターおよび TiDB の機能を組み合わせて、ワンストップのハイブリッド トランザクションおよび分析処理 (HTAP) ソリューションを提供します。