0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TiDBAdvent Calendar 2024

Day 9

TiDBの周辺ツールの紹介

Posted at

はじめに

データベースの運用ではデータベースの中のデータを出し入れする必要が生じます。TiDBにはこのようなときに利用できる豊富な周辺ツールがあるのですが、あまり全体像について書いたものがありません。

本記事ではそのような周辺ツールの全体像を紹介します。また、TiDB Cloudで利用可能かどうかについても言及します。

全体像

TiDBの周辺ツールの全体像はこちらです。

image.png

これらのツールの多くは tiup から利用可能になっています。
一つひとつ見ていきましょう。

BR: バックアップ&リカバリツール

TiDB Cloudではバックアップ・リストアが標準で利用可能です。

BRはTiDBのバックアップ・リストアツールで、TiDBのデータが保存されているTiKVのデータファイルのバックアップを作成します。s3へのエクスポートオプションもあります。

その動作上TiKVへの直接アクセスが必要になるため、TiDB CloudではツールとしてのBRは利用できません。標準のバックアップとリストアを利用します。

Dumpling: データエクスポートツール

TiDB Cloudのクラスタに対しても利用可能です。

DumplingはTiDBからデータをエクスポートするツールです。TiDBだけではなくMySQLに対しても利用可能です。CSV/SQL形式でクラウドストレージへの直接出力もサポートし、条件を指定した出力や、サイズや行数で出力ファイルを分割したりなど、高機能かつ高速な出力が可能です。

Lightning: データインポートツール

TiDB Cloudではimportが標準で利用可能です。

Dumplingの逆で、データをimportするツールです。Dumplingの出力をインポートするように設計されています。TiKVに直接データを書き込むPhysicalインポートモードをサポートし、高速なインポートが可能です。(Insert文として実行するLogicalインポートモードもあります)

TiDB Cloudではインポートツールとして提供されています。Lightning同様にDumplingでクラウドストレージに出力したファイルをインポートすることができます。

PhysicalインポートモードはTiKVに直接書き込むためTiDB Cloudでは利用できませんが、LogicalインポートモードをTiDB Cloudに対して利用することは可能です。ただTiDB Cloudの場合は標準のインポート機能を利用することをおすすめします。

DM: データ移行ツール

TiDB Cloudではオプションで利用可能です。(Data Migrationメニュー/Dedicatedのみ)

AWSのDMSのような、データ移行を行うツールです。移行元としてTiDBとMySQL、移行先としてTiDBをサポートしています。DMS同様に一括のデータ移行と、継続移行モードをサポートしています。一括データ移行は実質Dumpling+Lightningです。

TiDB Cloudではマネージドサービスとして、メニューから起動するだけで利用できます。
DMをセルフホストで起動してTiDB Cloudに対して利用することもできます。

TiCDC: チェンジフィードツール

TiDB Cloudではオプションで利用可能です。(Changefeedメニュー/Dedicatedのみ)

TiCDCはTiDBの更新差分を外部システムに連携するツールです。いわゆるCDC(Change Data Capture)と呼ばれるツールです。主にTiDBクラスタ同士の同期に利用されるツールですが、連携先はTiDBだけではなくMySQLやS3, DebeziumやKafkaなどがあり、更新情報を使ったイベント駆動アプリケーションの実装も可能です。

TiDB Cloudではマネージドサービスとして、メニューから起動するだけで利用できます。
TiKVに直接アクセスする必要があるため、セルフホストのTiCDCをTiDB Cloudに対して利用することはできません。

sync-diff-inspector: 差分確認ツール

TiDB Cloudのクラスタに対しても利用可能です

sync-diff-inspectorは、TiDB同士、もしくはMySQLとTiDBのデータ比較を行うツールです。
主に移行でデータが正しく移行できたかどうかの確認に利用されます。
TiDB Cloudに対しても利用可能です。

差分がある場合に差分を修正するためのSQLが生成されるのも面白い特徴です。

利用方法については、下記のブログに詳しく記載されています。

おわりに

いかがでしたでしょうか。また別の記事で個別のツールについては詳しく見ていきたいと思います!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?