TiDB ツールの概要

TiDB は、展開操作、データ管理 (インポートとエクスポート、データ移行、バックアップと回復など)、および複雑な OLAP クエリを支援する豊富なツール セットを提供します。必要に応じて適切なツールを選択できます。

導入および運用ツール

さまざまなシステム環境での展開と運用のニーズを満たすために、TiDB は、TiUP とTiDB Operatorという 2 つの展開および運用ツールを提供します。

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

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

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

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

TiDB を Kubernetes にデプロイして運用する

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

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

データ管理ツール

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

完全なデータのエクスポート

Dumplingは、MySQL または TiDB から論理的にフル データをエクスポートするためのツールです。

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

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

ノート:

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

完全なデータのインポート

TiDB Lightning (Lightning) は、大量のデータを TiDB クラスターに完全にインポートするために使用されるツールです。現在、 TiDB LightningはDumplingまたは CSV データ ソース経由でエクスポートされた SQL ダンプの読み取りをサポートしています。

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

  • local : TiDB Lightningはデータを順序付けられたキーと値のペアに解析し、TiKV に直接インポートします。このモードは通常、大量のデータ (TB レベル) を新しいクラスターにインポートするためのものです。インポート中、クラスターはサービスを提供できません。
  • importer : このモードはlocalモードに似ています。このモードを使用するには、追加のコンポーネントtikv-importerをデプロイして、キーと値のペアをインポートできるようにする必要があります。ターゲット クラスタが v4.0 以降のバージョンの場合は、 localモードを使用することをお勧めします。
  • tidb : このモードは、TiDB/MySQL をバックエンドとして使用します。これは、 localモードおよびimporterモードよりも低速ですが、オンラインで実行できます。また、MySQL へのデータのインポートもサポートしています。

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

ノート:

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

バックアップと復元

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

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

増分データ複製

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

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

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

データ移行

TiDB データ移行 (DM) は、MySQL/MariaDB から TiDB への完全なデータ移行と増分データ レプリケーションをサポートする統合データ レプリケーション タスク管理プラットフォームです。

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

  • 入力: MySQL/MariaDB
  • 出力: TiDB クラスター
  • サポートされている TiDB バージョン: すべてのバージョン
  • Kubernetes のサポート: いいえ、開発中です

データ量が TB レベルを下回る場合は、DM を使用して直接 MySQL/MariaDB から TiDB にデータを移行することをお勧めします。移行プロセスには、完全なデータのインポートとエクスポート、および増分データの複製が含まれます。

データ ボリュームが TB レベルの場合は、次の手順を実行します。

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

ノート:

Syncer ツールはメンテナンスされなくなりました。 Syncer に関連するシナリオでは、代わりに DM のインクリメンタル タスク モードを使用することをお勧めします。

OLAP クエリ ツール

TiDB は OLAP クエリ ツール TiSpark を提供します。これにより、ネイティブの Spark を使用しているかのように TiDB テーブルにクエリを実行できます。

Spark を使用して TiKV データ ソースにクエリを実行する

ティスパークは、TiKV 上で Apache Spark を実行して複雑な OLAP クエリに応答するために構築されたシンレイヤーです。 Spark プラットフォームと分散 TiKV クラスターの両方を利用し、TiDB にシームレスに接着し、ワンストップのハイブリッド トランザクションおよび分析処理 (HTAP) ソリューションを提供します。