TiDBはMySQL互換の「分散データベース」
2022年11月に開催された国内最大級のデータベース技術カンファレンス「db tech showcase 2022 Tokyo」の来場者アンケートで、「今後、利用してみたいデータベース製品」の1位に選ばれたのが「TiDB」だった。この結果には、かなり驚かされたと宮地氏。選ばれた主な理由として、TiDBを開発しているPingCAPが国内での体制を強化したことにより、TiDBがどのような特長のあるデータベースであるかの認知が向上したことが考えられると言う。
また、TiDBは利用できる環境を用意しやすいことも興味を持たれている理由の1つだろう。注目度の高いAmazon AuroraやAzure Synapse Analyticsなどは、それぞれのクラウドサービス上でしか利用できない。一方、TiDBはオープンソースソフトウェアで、AWSやGoogle Cloud上でフルマネージドサービスである「TiDB Cloud」としても提供されている。エンジニアが自らセットアップして、様々な環境で使えることはエンジニアの負担を下げることにもつながる。
さらに「機能の良さもあるでしょう。エンジニアは良いものでなければ使いたいと思いません」と宮地氏。たとえばTiDBは広く使われているMySQLと互換性があり、MySQLベースの既存アプリケーションをほぼ書き換えずに利用できる。この点もエンジニアが、関心を持つところだという。
またPostgreSQL互換の分散データベースはいくつかあるが、MySQL互換のものはなく、それも興味を持つポイントだと指摘する。様々なところでデータが生まれ、その量は増加するばかりだ。それらを効率的に蓄積し、分析などを高い性能で処理したい。この要望に応える際に、データベースがMySQLであれば、シャーディングしか方法がない。しかしMySQLのシャーディングは、1ノードあたりのリード/ライト(Read/Write)処理に限界があり、ノード追加にも手間がかかる。シャーディングを行えば、アプリケーションの改修も必要だ。一方TiDBはノード追加も容易で、それだけで処理が負荷分散される。Amazon Aurora MySQLともよく比べられるが、Auroraはリードレプリカができてもライト処理のオフロードはできない。それもエンジニアが関心を持つポイントだろう。
もう1つ拡張の柔軟性もTiDBが評価されるポイントだ。ユーザーやデータが増えた際に、データベースノードだけ、あるいはストレージだけをオンラインで追加し拡張できる。この点はトータルでのコストパフォーマンスにも影響する。そしてハイブリッドトランザクション/分析処理のHTAPに対応している点もTiDBの魅力だ。OLTPのデータはTiDBのローストアに保存され、ほぼリアルタイムにカラム型の「TiFlash」にも保存される。TiFlashのデータを使えば、高速な分析処理ができるのだ。「このようにTiDBでは、エンジニアがやりたいことをすべて満たしています」と宮地氏は言う。