従来のデータベースの課題と分散型SQLデータベースの登場
インターネット利用者の急増に伴って、多くのウェブサービスのバックエンドにおけるデータベースに対する要求は非常に大きなものになりました。特に書き込み負荷の増大は、従来のリレーショナルデータベース管理システム(RDBMS)にとって大きな課題でした。従来のRDBMSでは、データの書き込みがマスターサーバーに集中するため、トラフィック増加時にはボトルネックになります。その解決策としてシャーディング(データの水平分割)が採用されることが多いですが、アプリケーションロジックが複雑になったり、運用コストが増加したりといったデメリットがあります。また、バージョンアップやメンテナンス時にはサービスの停止が必要なので、24時間365日のサービス提供が求められるサービスや、現代のビジネス環境においては大きな課題となっています。
その一方で、高いスケーラビリティや高速なデータ処理を実現するために、NoSQLデータベースが登場しましたが、SQLが使えないこと、トランザクション処理が限定的であることなどがデメリットとなるケースもあり、あらゆる場面で適用できるわけではありません。こうした背景を受けて、2010年代に「NewSQL」と呼ばれる新しいカテゴリのデータベースが登場しました。RDBMSの「ACID特性(データの信頼性を確保するための重要な性質)」を維持しながら、NoSQLのスケーラビリティを実現しているのが特徴です。TiDBはこのNewSQLの代表的なデータベースです。ちなみにTiDBの「Ti」とは、金属のチタン(Titanium)の元素記号からとったもので、チタンのように強固なデータベースを実現するというコンセプトを表現したものだとか。

スケーラビリティと可用性とMySQL互換性の高さが特徴
TiDBの特徴は、そのアーキテクチャ設計にあります。コンピューティング層とストレージ層を分離したことにより、トラフィックが増加した場合でも、ノード(サーバー)を追加するだけで処理能力を向上させることができます。また、広く利用されているMySQLとの互換性も高く、それまでMySQLで運用していたシステムを、ほとんど変更せずに移行することが可能です。
「データベースを止めない」ための設計は徹底しており、一部のノードに障害が発生しても、自動的に正常なノードにフェイルオーバー(処理を引き継ぐ機能)するため、システム全体での可用性を維持することができます。従って、データベースのバージョンアップやノードの追加、削除などの運用作業に際しても、サービス全体を止めることなくメンテナンス等が実行できます。

その他にTiDBの特徴的な機能としてHTAP(ハイブリッド トランザクション/分析処理)があります。これは、通常なら別々のデータベースで行われることが多かったトランザクション処理とリアルタイム分析処理を、単一データベース内でETL(データ抽出・変換・読み込み)処理を行わずに実施できるというものです。また、複数のデータベースを単一のTiDBクラスターに統合することで、管理コストの削減と運用効率の向上も実現可能です。これらの特徴により、TiDBは企業の成長に合わせ柔軟に拡張できるデータ基盤として多くの企業での採用が広がっています。
用途や環境に応じてTiDBとTiDB Cloudが選べる
前述の通り、TiDBというソフトウェア自体はオープンソースで開発されており、オンプレミスの他、AWSを始めとするクラウド上のインスタンスで稼動させることができます。ただし、分散型データベースを適切にインストールし、管理・運用するためには高度な知識と経験、そしてコストが必要になります。
そこで、多くのユーザーはPingCAPが提供するTiDBのマネージドサービス「TiDB Cloud」を利用する方がオススメです。TiDB Cloudには、小規模な開発程度なら無料で利用できる「TiDB Cloud Serverless」と、ミッションクリティカルなアプリケーション開発にも耐える「TiDB Cloud Dedicated」の2つのクラスターから選ぶことができます。
TiDB Cloud Serverless:小規模な開発や検証に最適なマルチテナント型環境で、クレジットカード登録不要、毎月一定量まで無料で利用可能。具体的な無料利用枠は、行ベース・列ベースそれぞれ5GiBまで保存でき、5,000万RU(リソースユニット)まで。クラスター起動は約10秒で、従量課金制と自動スケーリングにより変動の激しいワークロードにも対応している。
TiDB Cloud Dedicated:本番環境や大規模システム向けの専有型サービスで、複数のアベイラビリティゾーン(AZ)を跨ぐ高可用性構成を備えている。コンピューティングとストレージを個別にスケーリング可能で、パフォーマンスチューニングやMySQL移行ツールなどの利用も可能だ。

TiDB Cloudは、AWSだけでなくGoogle Cloudなど主要クラウドやオンプレミスでも利用できるため、大規模DBの運用に際してベンダーロックインを回避できるというメリットもあります。長期計画やユースケースに応じてこれらの選択肢から適切なものを選ぶことで、UXやコストにも影響があります。たとえば、毎日放送では、TiDB Cloud Serverlessの導入により、従来最大で月額8万円程度かかっていたデータベースの費用を1,000円以内に抑えることができました。野球中継向けに過去の映像を素早く探し出す「クラウドリプレイシステム」をTiDB Cloud Serverlessで構築することで、大幅なコスト削減に成功した事例です。
また、DMM.comでは、認証システムにTiDB Cloudを採用することで、DBのバージョンアップに伴うサービス停止時間をなくすことができました。これにより、各サービスのステークホルダーとの調整コストを削減することと、そもそもサービスを停止せずに済むことでユーザー体験の向上も実現しました。導入に際しても、MySQLとの高い互換性により、既存アプリケーションのコードを変更せずに移行できたのも大きなメリットでした。
TiDBは高まるデータ活用ニーズに応える次世代型データベース
TiDBはMySQLとの高い互換性を保ちながら、従来のデータベースが抱えていたスケーラビリティや可用性の課題を解決し、リアルタイム分析機能も備えた次世代型データベースです。特にTiDB Cloudは、専門知識を持たない企業でも容易に分散型データベースの恩恵を受けることができます。
データ活用ニーズの高まりとデータ量の増加というトレンドを背景に、サービスの24時間365日稼働要求、コスト効率化の圧力といったビジネスニーズも合わさって、分散型データベースに対する期待は高まっています。AWSからも2024年末にAmazon Aurora DSQLという分散SQLデータベースがリリースされるなど、今後も企業のデジタル戦略を支える基盤技術として、今後さらに重要性を増していくでしょう。そのなかでTiDBは、機能面で先行し多くのユーザーから支持されており、今後ますます重要なサービスとなっていくことを期待されています。