TiDB Cloudのデータエクスポート方法をまとめてみた

TiDB Cloudのデータエクスポート方法をまとめてみた

Clock Icon2024.09.20

こんにちは、ゲームソリューション部のsoraです。
今回は、TiDB Cloudのデータエクスポート方法をまとめてみたことについて書いていきます。

エクスポート方法

データのエクスポート方法として、以下3種類を挙げます。

  • Dumplingでのエクスポート
  • TiDB Cloudのエクスポート機能(ベータ版)
  • mysqldumpでのエクスポート

TSO(TiDBのタイムスタンプ)を指定して取得できたり、TiDBに最適化されていることから、Dumpling が良いと思います。
TiDB Cloudのエクスポート機能(ベータ版) は、TiDB Cloudの画面から手軽にエクスポートできるという点で良いと思います。

Dumplingでのエクスポート

データエクスポートツールであるDumplingを使用してエクスポートする方法です。
TiDBに対して最適化が行われているツールであるため、基本的にはこの方法が良いと思います。
TSO(TiDBのタイムスタンプ)を指定してのデータ取得も可能です。

弊社にもやってみたブログがあるので、詳細はそちらをご確認ください。
https://dev.classmethod.jp/articles/export-tidb-data-with-dumpling/

TiDB Cloudのエクスポート機能(ベータ版)

TiDB Cloudの画面にて利用可能な方法で、TiDB Cloud CLIを使用してローカルにエクスポートしたり、IAMロールやアクセスキーを使用してS3にエクスポートすることができます。
Serverlessクラスタのみで利用可能な方法であり、現在ベータ版として提供されています。
ローカルにエクスポートする場合は、TiDB Cloud CLIのインストールが必要なものの、エクスポート時のコマンドは表示されて実行するだけのため、手軽に利用することができました。

弊社にもやってみたブログがあるので、詳細はそちらをご確認ください。
https://dev.classmethod.jp/articles/tidb-cloud-gui-export/

mysqldumpでのエクスポート

こちらはあまり使用することはないと思いますが、TiDBはMySQL互換なこともあり、MySQLで使用されるmysqldumpを使用することも可能です。
ただし、可能であればTiDBに最適化されているという点で Dumpling を使用する方が良いです。

実際にAmazon Linux 2023のEC2インスタンスからTiDB Cloudに対してmysqldumpを試してみると、データをエクスポートすることができました。

# mysql-clientのインストール
sudo dnf -y localinstall  https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
sudo dnf -y install mysql-community-client

# mysqldumpの実行
mysqldump -u xxxxxxxxxxxxxxx.root -P 4000 -pxxxxxxxxxxxxxxxx -h gateway01.ap-northeast-1.prod.aws.tidbcloud.com database_name table_name > output.csv

最後に

今回は、TiDB Cloudのデータエクスポート方法をまとめてみたことを記事にしました。
どなたかの参考になると幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.