TiDBとは?機能や特徴・製品の概要まとめ
TiDBのプロダクト概要
TiDBとは
TiDB (タイ・デービー) は、マルチプラットフォームに対応しているオープンソースのNewSQLデータベースです。
ゲーム業界、金融、決済サービス、Eコマース、コンテンツサービス、ロジスティックスなど多種多様な業界においてミッションクリティカルな場面での導入が進み、全世界で3,000社以上の企業に採用されています。
TiDBは、MySQL互換の分散型データベースで、従来のRDBMS同様にSQLを使用してデータにアクセスすることができ、分散型のアーキテクチャにより水平方向の拡張性、強力な一貫性、高い可用性、HTAP (ハイブリッドトランザクション/分析処理) 、クラウドネイティブを特徴としています。
また、TiDBのフルマネージドサービスであるTiDB Cloudの利用例も増えてきており、専有型のTiDB Dedicatedと共有型で無償でも利用可能なTiDB Serverless2つのモデルを提供をしています。
TiDBの画面イメージ
TiDBの特徴
1. MySQLの性能や運用課題を解決
TiDBはMySQLプロトコルをサポートしており、既存のMySQLクライアントやドライバーをそのまま利用できます。MySQLと同様のSQL構文およびデータ型をサポートし、基本的なクエリやスキーマ定義はMySQLと互換性があります。
MySQLとTiDBの大きな違いとしては、MySQLが従来の単一サーバー (マスター/スレーブ構成) であるのに対し、TiDBは分散型データベースのため複数のノードで構成されています。MySQLでは、シャーディングを手動で設定する必要がありますが、TiDBは自動シャーディングを提供しデータの分割と配置が自動で行われます。
そのため、大規模なデータセットやキャンペーン時の高トラフィックでもスケールアウトを容易にすることができ、逆にトラフィックが落ち着いた場合はスケールインを簡単に行うことが可能です。
MySQLで性能や運用などの課題がある場合はTiDBを代替データベースとしてご検討ください。
2. システム構成をシンプルに:開発/運用負荷と学習/採用コストを低減
従来のリレーショナルデータベースはトランザクション処理に、NoSQLデータベースは分散処理に特化していますが、TiDBなどのNewSQLデータベースは両方の特性を持ち合わせています。これにより、複雑な分散トランザクションをサポートしながら、データの一貫性を維持し、水平方向の拡張性を実現、分散アーキテクチャとレプリケーション機能により高可用性と耐久性を提供します。
RDBMS、NoSQL、DWHなど複数のアプリケーションで構成される複雑なシステムをTiDBに置き換えることで、統一されたクエリ言語や管理インターフェースを使用でき、開発や運用負荷を軽減することができます。
また、複数のデータベース技術を習得する必要がないため、チーム全体の生産性が向上し、学習・採用コストの面でもメリットがあります。
3. リアルタイム分析技術 (HTAP) を内蔵
TiDBのストレージレイヤーは、行 (TiKV) と列 (TiFlash) の2つのコンポーネントから構成され、数百のノードとペタバイトのデータでもスケールできる高可用性と強力な一貫性を実現しています。
TiKVは、データの保存および分散処理を行い、データの自動バックアップやレプリケーション、トランザクションの管理などを行います。
一方、TiFlashはリアルタイム分析や高速なクエリ処理によりを実現し、トランザクションと分析ワークロードを同時に処理することができます。
通常のデータ分析では、データベースからBIツールにデータのバッチ処理が必要ですが、BIツールでは、①リアルタイムのデータを反映することができない、②レポートの遅延、③バッチ処理のための負荷とリソースの増加、などのデメリットが挙げられます。データベースでありながらリアルタイム分析技術を内蔵するTiDBでは「とりあえず今現状のデータを見たい」というケースに最適です。
TiDBのコミュニティ
TiUGこのグループは、PingCAP 株式会社の TiDB について、すでに活用中のユーザーからこれから活用したい、学びたいという仲間が集まって、みんなで知識や体験、考えなどをシェアし合いながら学びを深めていくコミュニティグループです。
聞くスタイルのミートアップや手を動かしながら学ぶワークショップ、仲間同士が情報交換や交流を深める会などさまざまなアクティビティを定期的に開催します。