TiDBツールの概要
TiDBは、展開操作、データ管理(インポートとエクスポート、データ移行、バックアップとリカバリなど)、および複雑なOLAPクエリを支援する豊富なツールセットを提供します。必要に応じて適切なツールを選択できます。
展開および操作ツール
さまざまなシステム環境での展開と運用のニーズを満たすために、TiDBには、TiUPとTiDB Operatorの2つの導入および運用ツールが用意されています。
物理マシンまたは仮想マシンにデプロイを導入して運用する
TiUPは、物理マシンまたは仮想マシン上のTiDBパッケージマネージャーです。 TiUPは、TiDB、PD、TiKVなどの複数のTiDBコンポーネントを管理できます。 TiDBエコシステムのコンポーネントを起動するには、1つのTiUPコマンドを実行するだけです。
TiUPは、Golangで記述されたクラスタ管理コンポーネントであるTiUPクラスタを提供します。 TiUPクラスタを使用することにより、TiDBクラスターのデプロイ、開始、停止、破棄、スケーリング、アップグレードなどの日常のデータベース操作を簡単に実行し、TiDBクラスタパラメーターを管理できクラスタ。
TiUPの基本は次のとおりです。
- 用語と概念
- TiUPを使用してTiDBクラスターをデプロイする
- TiUPコマンドでTiUPコンポーネントを管理する
- 該当するTiDBバージョン:v4.0以降
KubernetesでTiDBをデプロイして運用する
TiDB Operatorは、KubernetesのTiDBクラスターの自動オペレーティングシステムです。展開、アップグレード、スケーリング、バックアップ、フェイルオーバー、構成変更など、TiDBの完全なライフサイクル管理を提供します。 TiDB Operatorを使用すると、TiDBはパブリッククラウドまたはプライベートクラウドにデプロイされたKubernetesクラスターでシームレスに実行できます。
TiDB Operatorの基本は次のとおりです。
- TiDB Operatorアーキテクチャ
- KubernetesでTiDB Operatorを使い始める
- 該当するTiDBバージョン:v2.1以降
データ管理ツール
TiDBは、インポートとエクスポート、バックアップと復元、データレプリケーション、データ移行、増分同期、データ検証などの複数のデータ管理ツールを提供します。
完全なデータエクスポート
Dumplingは、MySQLまたはTiDBから論理的に完全なデータをエクスポートするためのツールです。
Dumplingの基本は次のとおりです。
- 入力:MySQL/TiDBクラスタ
- 出力:SQL/CSVファイル
- サポートされているTiDBバージョン:すべてのバージョン
- Kubernetesのサポート:いいえ
ノート:
PingCAPは、以前はTiDBに固有の拡張機能を備えたmydumperプロジェクトのフォークを維持していました。その後、このフォークはDumplingに置き換えられました。これは、Goで書き直され、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へのデータのインポートもサポートしています。
TiDBLightningの基本は次のとおりです。
- 入力データソース:
- Dumplingの出力ファイル
- その他の互換性のあるCSVファイル
- サポートされているTiDBバージョン:v2.1以降
- Kubernetesのサポート:はい。詳細については、 TiDB Lightningを使用して、KubernetesのTiDBクラスタにデータをすばやく復元するを参照してください。
ノート:
ローダーツールはメンテナンスされなくなりました。ローダーに関連するシナリオでは、代わりにTiDBライティングの
tidb
モードを使用することをお勧めします。詳細については、 TiDBLightningTiDBバックエンドを参照してください。
バックアップと復元
復元する (BR)は、TiDBクラスタデータの分散バックアップと復元のためのコマンドラインツールです。 BRは、膨大なデータ量のTiDBクラスターを効果的にバックアップおよび復元できます。
BRの基本は次のとおりです。
- 入力および出力データソース :SST+
backupmeta
ファイル - サポートされているTiDBバージョン:v3.1およびv4.0
- Kubernetesのサポート:はい。詳細については、 BRを使用してS3互換ストレージにデータをバックアップするとBRを使用してS3互換ストレージからデータを復元するを参照してください。
インクリメンタルデータレプリケーション
TiDB Binlogは、TiDBクラスターのbinlogを収集し、ほぼリアルタイムの同期とバックアップを提供するツールです。これは、TiDBクラスターをプライマリTiDBクラスタのセカンダリクラスタにするなど、TiDBクラスター間の増分データレプリケーションに使用できクラスタ。
TiDBBinlogの基本は次のとおりです。
- 入出力:
- 入力:TiDBクラスタ
- 出力:TiDBクラスタ、MySQL、Kafkaまたは増分バックアップファイル
- サポートされているTiDBバージョン:v2.1以降
- Kubernetesのサポート:はい。詳細については、 TiDBBinlogクラスターの操作とKubernetesでのTiDBBinlogDrainerの構成を参照してください。
データ移行
TiDBデータ移行 (DM)は、MySQL/MariaDBからTiDBへの完全なデータ移行と増分データ複製をサポートする統合データ複製タスク管理プラットフォームです。
DMの基本は次のとおりです。
- 入力:MySQL / MariaDB
- 出力:TiDBクラスタ
- サポートされているTiDBバージョン:すべてのバージョン
- Kubernetesのサポート:いいえ、開発中です
データ量がTBレベルを下回っている場合は、DMを使用してMySQL/MariaDBからTiDBに直接データを移行することをお勧めします。移行プロセスには、完全なデータのインポートとエクスポート、および増分データレプリケーションが含まれます。
データ量がTBレベルの場合は、次の手順を実行します。
- Dumplingを使用して、MySQL/MariaDBから完全なデータをエクスポートします。
- TiDB Lightningを使用して、手順1でエクスポートしたデータをTiDBクラスタにインポートします。
- DMを使用して、MySQL/MariaDBからTiDBに増分データを複製します。
ノート:
Syncerツールはメンテナンスされなくなりました。 Syncerに関連するシナリオでは、代わりにDMのインクリメンタルタスクモードを使用することをお勧めします。
OLAPクエリツール
TiDBはOLAPクエリツールTiSparkを提供します。これにより、ネイティブSparkを使用しているかのようにTiDBテーブルをクエリできます。
Sparkを使用してTiKVデータソースをクエリする
TiSparkは、複雑なOLAPクエリに応答するためにTiKV上でApacheSparkを実行するために構築されたシンレイヤーです。 Sparkプラットフォームと分散TiKVクラスタの両方を活用し、TiDBにシームレスに接着し、ワンストップのハイブリッドトランザクションおよび分析処理(HTAP)ソリューションを提供します。