Skip to content

元ドキュメント: 製品アーキテクチャ

製品アーキテクチャ

TDSQL Boundless のインスタンスには、クラスター版と基本版の2種類があります:

  • クラスター版:複数のノードで構成され、マルチレプリカ Raft クラスターとして高パフォーマンスかつ高可用なデータベースサービスを提供します。エンタープライズの本番環境に適しています。
  • 基本版:単一ノードで構成され、低コストで完全なデータベース機能を提供しますが、高可用性は含まれません。個人ユーザー向けです。

注意:基本版インスタンスはコンソールからクラスター版にアップグレードできますが、クラスター版を基本版にダウングレードすることはできません。

TDSQL Boundless インスタンス内のノードは、対等アーキテクチャと分離アーキテクチャの2種類に分かれます:

  • 対等アーキテクチャ:コンピュートレイヤー SQLEngine とストレージレイヤー TDStore が同一物理ノードに統合されており、ハードウェアノード数とクロスノード通信を削減し、コスト低減とパフォーマンス向上を実現します。
  • 分離アーキテクチャ:コンピュートレイヤー SQLEngine とストレージレイヤー TDStore がそれぞれ異なる物理ノードに配置されます。

TDStore テクニカルアーキテクチャ

集中型シングルノードデータベースでも分散データベースでも、機能モジュールは通常3つの主要コンポーネントに分けられます:

  • コンピュートエンジン:SQL パース、オプティマイザ、エグゼキュータなど
  • ストレージエンジン:トランザクション処理、データストレージなど
  • メタデータサービス:グローバル論理クロック、グローバル ID ジェネレータ、メタデータストレージ、スケジューリングエンジン(データ/DR スケジューリング)、負荷収集など

TDSQL Boundless の全体アーキテクチャは下図の通りです:

アーキテクチャ全体図

コンピュートエンジン — SQLEngine

  • カーネル:MySQL 8.0 をベースに実装されており、MySQL との互換性が高い
  • アーキテクチャ:マルチマスター構成のステートレス設計で、各 SQLEngine ノードが読み書き可能
  • 動作:管理ノードからグローバルトランザクションタイムスタンプとデータルーティング情報を取得し、ストレージノードとトランザクション処理を行い、結果をクライアントに返却

SQLEngine

ストレージエンジン — TDStore

  • アーキテクチャ:LSM-Tree と Multi-Raft をベースとした分散 KV ストレージエンジン
  • データ:Raft ベースのマルチレプリカストレージ。データは Key レンジに基づき異なる Region に分散し、複数の Region が Replication Group を構成し、Raft コンセンサスプロトコルによりデータ複製と高可用フェイルオーバーを実現
  • 動作:TDStore はコンピュートノードからのリクエストを受信・処理し結果を返却。各 Region のプライマリレプリカが読み書きリクエストの受信と処理を担当

TDStore

メタデータサービス — TDMC

  • アーキテクチャ:Raft ベースの1プライマリ2セカンダリのメタデータ管理クラスター。Leader がサービスを提供
  • データ
    • グローバルユニークかつ単調増加するトランザクション ID の割り当て
    • TDStore と SQLEngine のメタデータ管理
    • Region データルーティング情報の管理
    • グローバル MDL ロック管理
  • 管理制御
    • Replication Group の分割、マージ、マイグレーション、リーダー切替のスケジューリング
    • ストレージレイヤーのスケールアウト/スケールインのスケジューリング
    • ストレージレイヤーのロードバランシング
    • 各ディメンションの異常イベントアラート

TDMC

ストレージモデル

TDSQL Boundless のストレージエンジンは、すべてのユーザーデータを(-∞, +∞)のリニアで順序付けられた無限の Key 空間にマッピングします。各行のデータが Key 空間の特定のポイントに対応します。

対等アーキテクチャノード

TDSQL Boundless のアーキテクチャ設計では、コンピュートをストレージ(キャッシュ/ストレージ)にできる限り近づけつつ、コンピュート・ストレージ分離による高い柔軟性も実現しています:

  • 対等アーキテクチャ(HyperNode)設計を採用し、各対等ノード(プロセス)がコンピュート、ストレージ、ログの3つの機能エンジンを完全に内蔵
  • コンピュートレイヤーとローカルストレージはローカルアクセスモードを使用し、リモートストレージへのアクセスはネットワーク RPC を使用
  • ビジネスシナリオに応じて、メタデータおよびスケジューリングモジュールを通じてノードの役割を指定可能

対等アーキテクチャ

注意:ノード役割指定機能は現在未公開です。

Tencent Cloud プロダクトドキュメント