TiDBは、金融業界、ゲーム業界、eコマースなど様々な業界の3000社以上のグローバル企業から信頼を得ています。各企業がどのようにTiDBを使用しているか、また評価しているかについて、詳しくは事例記事をご覧ください。
TiDB
TiDBは次世代の分散型リレーショナルデータベースです。TiDBは、新しいノードを追加するだけで、コンピューティングとストレージの両方の容量を独立して拡張することができます。このため、垂直方向にしか拡張できない従来のリレーショナルデータベースと比較して、インフラストラクチャのキャパシティ・スケーリングがより簡単かつ柔軟になります。
MySQLに対するTiDBの優位性:
- TiDBは柔軟なスケーラビリティを備えた分散アーキテクチャを採用しています。
- TiDBは自動的に動的分散を行うため、数回クリックするだけで簡単にTiDBクラスタを水平方向にスケールさせることができます。
- TiDBは自動フェイルオーバーによる高可用性をサポートし、ディスクやマシンの障害に関係なく、自動バックアップによるビジネスの継続性をサポートします。
- TiDBは、1つのデータベースでオンライントランザクション処理 (OLTP) とオンライン分析処理 (OLAP) の両方のワークロードを処理するハイブリッドトランザクション分析処理 (HTAP) データベースです。
TiDBはMySQLのプロトコルと方言をサポートしています。ほとんどの場合、コードを変更することなく、MySQLをTiDBに置き換えてアプリケーションを動かすことができます。
TiDBはオープンソースのデータベースであり、オンプレミスや自社のデータセンターでTiDBを稼働させたい組織にとって最適な選択肢です。
TiDB Cloudは、TiDBのフルマネージドクラウドDBaaSです。使いやすいWebベースの管理コンソールを備えており、ミッションクリティカルな本番環境のTiDBクラスタを管理できます。
現在、TiDBはトリガー、ストアドプロシージャ、ユーザー定義関数、外部キーを除くMySQL 5.7の構文の大部分をサポートしています。詳細はMySQL互換のドキュメントをご覧ください.
MySQL 8.0クライアントを使用していてTiDBへの接続に失敗する場合は、default-auth
とdefault-character-set
オプションを追加してみてください:
mysql -h 127.0.0.1 -u root -P 4000 --default-auth=mysql_native_password --default-character-set=utf8
これは MySQL 8.0が MySQL 5.7のデフォルト認証プラグインを変更したためです。古い暗号化方式を使用するように指定するには、上記のオプションを手動で追加する必要があります。
MySQLクライアントまたはドライバでサポートされている任意の言語を使用できます。
TiDBは、MySQLとの互換性のためにREPEATABLE-READを提供するスナップショット分離一貫性を実装しています。データはRaftコンセンサスアルゴリズムを使用してTiKVノード間で冗長的にコピーされ、ノード障害が発生した場合の復旧性を確保します。
TiDBはレプリケーションログ+ステートマシンというモデルを使ってデータを複製します。書き込み要求の場合、データはLeaderに書き込まれ、Leaderはそのコマンドをログの形でFollowersに複製します。クラスタ内の大半のノードがこのログを受信すると、このログはコミットされ、State Machineに適用できるようになります。
TiDBは、ベアメタル、クラウドベース、ハイブリッドインストールで利用できます。TiDBと一緒に使うためにKubernetes Operatorが用意されています。また、PC上のテスト環境や、多数のノードにまたがる本番品質のクラスタ全体を素早く簡単にデプロイするために使えるツール、TiUpを使うこともできます。
TiDBはRaftコンセンサスアルゴリズムを使用して、データの可用性を高め、Raftグループのストレージ全体に安全に複製されるようにします。データはTiKVノード間で冗長的に複製され、マシンやデータセンターの障害から保護するために異なるアベイラビリティゾーンに配置されます。自動フェイルオーバーにより、TiDBはお客様のサービスが常に提供されるようサポートします。
TiDBは、金融サービス、eコマース、エンタープライズアプリケーション、ゲームなどの業界において、3000社以上のグローバル企業のミッションクリティカルなユースケースを実行してきたチームによってサポートされています。サポートの詳細については担当営業までお問い合わせください。
PD (Placement Driver) は、クラスタのメタデータを格納するため、TiDBクラスタ全体の「頭脳」です。TiKVノードからリアルタイムに報告されるデータ分散状態に応じて、特定のTiKVノードにデータスケジューリングコマンドを送信します。
TiDBは、TiKVまたはTiFlashストアから返されたクエリのデータを集約するSQLコンピューティングレイヤーです。TiDBは水平方向にスケーラブルで、TiDBノードの数を増やすと、クラスタが処理できる同時クエリ数が増えます。
TiKVは、OLTPデータの保存に使用されるトランザクション・ストアです。TiKVのすべてのデータは自動的に複数のレプリカ (デフォルトでは3つのレプリカ) に保持されるため、TiKVはネイティブの高可用性を持ち、自動フェイルオーバーをサポートします。TiKVは水平スケーラブルであり、トランザクショナルストアの数を増やすことでOLTPのスループットが向上します。
TiFlashは、トランザクション・ストア (TiKV) からリアルタイムにデータを複製し、リアルタイムOLAPワークロードをサポートする分析用ストレージです。TiKVとは異なり、TiFlashはデータをカラム単位で格納し、分析処理を高速化します。また、TiFlashは水平スケーラブルであり、TiFlashノードを増やすことでOLAPストレージとコンピューティングの容量を増やすことができます。
TiKVはキーバリュー空間をキー範囲に分割し、各キー範囲を「リージョン」として扱います。TiKVでは、クラスタ内の全ノードにデータが分散され、リージョンが基本単位となります。PDは、リージョンをクラスタ内の全ノードにできるだけ均等に分散させる (スケジューリングする) 役割を担っています。
TiDBは、Raftコンセンサスアルゴリズムを使ってリージョン単位でデータを複製します。異なるノードに格納されたリージョンの複数のレプリカがRaftグループを形成します。
各データ変更はRaftログとして記録されます。Raftログのレプリケーションにより、データはRaftグループの複数のノードに安全かつ確実に複製されます。
従来、データベースには2つのタイプがあります: 1) オンライントランザクション処理 (OLTP) データベースと、2) オンライン分析処理 (OLAP) データベースです。OLTPとOLAPのリクエストは、多くの場合、分離された異なるデータベースで処理されます。この伝統的なアーキテクチャでは、OLTPデータベースからOLAP用のデータウェアハウスやデータレイクへのデータ移行は、時間がかかり、エラーが発生しやすいプロセスです。
ハイブリッドトランザクション分析処理 (HTAP) データベースとして、TiDBはOLTP (TiKV) ストアとOLAP (TiFlash) ストアの間でデータを自動的に確実に複製することにより、システムアーキテクチャを簡素化し、メンテナンスの複雑さを軽減し、トランザクションデータのリアルタイム分析をサポートします。典型的なHTAPのユースケースは、ユーザー・パーソナライゼーション、AIレコメンデーション、不正検知、ビジネス・インテリジェンス、リアルタイム・レポートなどが挙げられます。
HTAPのシナリオについては、HTAPデータベースを構築してデータプラットフォームをシンプルにする方法をご覧ください。
TIDBは、TiDB LightningとMySQLデータベースからデータを移行するためのデータ移行ツールを提供しています。TiDBはMySQLプロトコルを実装しており、MySQLクライアントからTiDBへのアクセスが可能です。また、Java、Go、Rust、PythonなどのTiKV APIを使ったデータへのアクセスも提供しています。
コミュニティ版 (TiDB Community) には、監査のようないくつかの機能が含まれていません。最大の違いは、エンタープライズ版 (TiDB Self-Managed) に技術サポートが含まれています。
トランスポートレイヤーセキュリティ (TLS) と透過的データ暗号化 (TDE) が静止時の暗号化のために含まれています。TiDBサーバーへのアプリケーションとデータ通信のプレーンです。証明書の検証のためのサブジェクト代替名と、内部通信のためのTLSコンテキストを比較するための拡張構文が含まれています。
TiDB Cloud
TiDBは、金融業界、インターネット企業、ゲーム業界、Eコマースなど、3000社以上のグローバル企業から信頼を得ています。各企業がどのようにTiDBを検証、導入、運用しているか、詳細は事例記事をご覧ください
TiDB Cloudは、直感的なコンソールからコントロールできるフルマネージドクラウドインスタンスにより、TiDBクラスタのデプロイ、管理、保守をさらにシンプルにします。AWSやGoogle Cloudに簡単にデプロイでき、ミッションクリティカルなアプリケーションを迅速に構築できます。
TiDB Cloudを利用することで、インフラストラクチャの管理やクラスタのデプロイなど、かつては複雑だったタスクを、トレーニングをほとんど受けていない開発者やDBAが簡単に処理できるようになり、データベースの複雑さではなく、アプリケーションに集中できるようになります。また、ボタンをクリックするだけでTiDBクラスタを増減できるため、必要な量と期間だけデータベースをプロビジョニングすることができ、コストのかかるリソースを無駄にすることがなくなります。
TiDBはオープンソースのデータベースであり、自社のデータセンターでTiDBをオンプレミスで稼働させたい、セルフマネジメントのクラウド環境で稼働させたい、あるいはその2つのハイブリッドで稼働させたいと考えている企業にとって最適な選択肢です。
TiDB Cloudは、TiDBのフルマネージドクラウドDBaaSです。使いやすいWebベースの管理コンソールを備えており、ミッションクリティカルな本番環境のTiDBクラスタを管理できます。
現在、TiDB Cloudはトリガー、ストアドプロシージャ、ユーザー定義関数、外部キーを除くMySQL 5.7の構文の大部分をサポートしています。詳細はMySQLの互換性をご覧ください.
MySQLクライアントまたはドライバでサポートされている任意の言語を使用できます。
TiDB Cloudは現在、AWSとGoogle Cloudで利用できます。
現在サポートされているTiDBのバージョンについて詳細はTiDB Cloudリリースノートをご覧ください。
TiDB Cloudについて学ぶには、ステップバイステップのチュートリアルをご利用ください。まずは以下のトピックをご覧ください:
TiDB Cloudの紹介
TiDB Cloudクイックスタート
TiDB Cloud専用クラスタの作成
上記と併せTiDB Universityをご利用ください。
TiDBはRaftコンセンサスアルゴリズムを使用して、データの可用性を高め、Raftグループのストレージ全体に安全に複製されるようにします。データはTiKVノード間で冗長的にコピーされ、マシンやデータセンターの障害から保護するために異なるアベイラビリティゾーンに配置されます。自動フェイルオーバーにより、TiDBはお客様のサービスが常にオンであることを保証します。
SaaSプロバイダーとして、当社はデータ・セキュリティに真剣に取り組んでいます。当社はService Organization Control (SOC) 2 Type 1 complianceで要求される厳格な情報セキュリティ方針および手順を確立しています。 これにより、お客様のデータの安全性、可用性、機密性をサポートしています。
TiDBは、金融サービス、eコマース、エンタープライズアプリケーション、ゲームなどの業界において、3000社以上のグローバル企業のミッションクリティカルなユースケースを実行してきたチームによってサポートされています。サポートの詳細については担当営業までお問い合わせください。
PD (Placement Driver) は、クラスタのメタデータを格納するため、TiDBクラスタ全体の「頭脳」です。TiKVノードからリアルタイムに報告されるデータ分散状態に応じて、特定のTiKVノードにデータスケジューリングコマンドを送信します。
TiDBは、TiKVまたはTiFlashストアから返されたクエリのデータを集約するSQLコンピューティングレイヤーです。TiDBは水平方向にスケーラブルで、TiDBノードの数を増やすと、クラスタが処理できる同時クエリ数が増えます。
TiKVは、OLTPデータの保存に使用されるトランザクション・ストアです。TiKVのすべてのデータは自動的に複数のレプリカ (デフォルトでは3つのレプリカ) に保持されるため、TiKVはネイティブの高可用性を持ち、自動フェイルオーバーをサポートします。TiKVは水平スケーラブルであり、トランザクショナルストアの数を増やすことでOLTPのスループットが向上します。
TiFlashは、トランザクション・ストア (TiKV) からリアルタイムにデータを複製し、リアルタイムOLAPワークロードをサポートする分析用ストレージです。TiKVとは異なり、TiFlashはデータをカラム単位で格納し、分析処理を高速化します。また、TiFlashは水平スケーラブルであり、TiFlashノードを増やすことでOLAPストレージとコンピューティングの容量を増やすことができます。
TiKVはキーバリュー空間をキー範囲に分割し、各キー範囲を「リージョン」として扱います。TiKVでは、クラスタ内の全ノードにデータが分散され、リージョンが基本単位となります。PDは、リージョンをクラスタ内の全ノードにできるだけ均等に分散させる (スケジューリングする) 役割を担っています。
TiDBは、Raftコンセンサスアルゴリズムを使ってリージョン単位でデータを複製します。異なるノードに格納されたリージョンの複数のレプリカがRaftグループを形成します。
各データ変更はRaftログとして記録されます。Raftログのレプリケーションにより、データはRaftグループの複数のノードに安全かつ確実に複製されます。
従来、データベースには2つのタイプがあります: 1) オンライントランザクション処理 (OLTP) データベースと、2) オンライン分析処理 (OLAP) データベースです。OLTPとOLAPのリクエストは、多くの場合、分離された異なるデータベースで処理されます。この伝統的なアーキテクチャでは、OLTPデータベースからOLAP用のデータウェアハウスやデータレイクへのデータ移行は、時間がかかり、エラーが発生しやすいプロセスです。
ハイブリッドトランザクション分析処理 (HTAP) データベースとして、TiDBはOLTP (TiKV) ストアとOLAP (TiFlash) ストアの間でデータを自動的に確実に複製することにより、システムアーキテクチャを簡素化し、メンテナンスの複雑さを軽減し、トランザクションデータのリアルタイム分析をサポートします。典型的なHTAPのユースケースは、ユーザー・パーソナライゼーション、AIレコメンデーション、不正検知、ビジネス・インテリジェンス、リアルタイム・レポートなどが挙げられます。
HTAPのシナリオについてはHTAPデータベースを構築してデータプラットフォームをシンプルにする方法をご覧ください。
TiDBはMySQLデータベースからデータを移行するためにTiDB Lightningとデータ移行ツールを提供しています。TiDBはMySQLプロトコルを実装しており、MySQLクライアントからTiDBへのアクセスが可能です。また、Java、Go、Rust、PythonなどのTiKV APIを使ったデータへのアクセスも提供しています。
トランスポートレイヤーセキュリティ (TLS) と透過的データ暗号化 (TDE) が静止時の暗号化のために含まれています。TiDBサーバーへのアプリケーションとデータ通信のプレーンです。証明書の検証のためのサブジェクト代替名と、内部通信のためのTLSコンテキストを比較するための拡張構文が含まれています。