📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB Cloud Lake のアーキテクチャ



このドキュメントでは、TiDB Cloud Lake のアーキテクチャを紹介します。

TiDB Cloud Lake Architecture

    メタデータサービスはマルチテナントサービスであり、TiDB Cloud Lake 内の各テナントのメタデータを、高可用な Raft クラスターに保存します。このメタデータには、次のものが含まれます。

    • テーブルスキーマ: 各テーブルのフィールド構造と保存場所の情報を含み、クエリプランニングの最適化情報を提供するとともに、ストレージレイヤーへの書き込みに対するトランザクションのアトミック性を保証します。
    • クラスター管理: 各テナントのクラスター起動時に、クラスター内の複数のインスタンスがメタデータとして登録され、インスタンスのヘルスチェックを提供することで、クラスター全体の健全性を確保します。
    • セキュリティ管理: ユーザー、ロール、および権限付与情報を保存し、データアクセスにおける認証および認可プロセスの安全性と信頼性を確保します。

    ストレージとコンピュートを完全に分離したアーキテクチャにより、TiDB Cloud Lake は独自のコンピュート弾力性を実現しています。

    TiDB Cloud Lake の各テナントは複数のコンピュートクラスター (Warehouse) を持つことができ、それぞれが専用のコンピュートリソースを備えています。また、1 分を超えて非アクティブな場合は自動的に解放されるため、利用コストを削減できます。

    コンピュートクラスターでは、高性能な TiDB Cloud Lake エンジンを通じてクエリが実行されます。各クエリは、複数の異なるサブモジュールを経由します。

    • Planner: SQL 文を解析した後、異なるクエリタイプに基づいて、さまざまな演算子 (Projection、Filter、Limit など) を組み合わせてクエリプランを生成します。
    • Optimizer: TiDB Cloud Lake エンジンは、ルールベースおよびコストベースのオプティマイザーフレームワークを提供しており、述語プッシュダウン、結合順序の並べ替え、スキャンプルーニングなどの一連の最適化メカニズムを実装することで、クエリを大幅に高速化します。
    • Processors: TiDB Cloud Lake は、push-pull を組み合わせたパイプライン実行エンジンを実装しています。クエリの物理実行を Processor 内の一連のパイプラインとして構成し、クエリタスクの実行時情報に基づいてパイプライン設定を動的に適応させることができます。さらに、ベクトル化された式計算フレームワークと組み合わせることで、CPU の計算能力を最大限に引き出します。

    さらに、TiDB Cloud Lake はクエリワークロードの変化に応じてクラスター内のノード数を動的に増減できるため、より高速でコスト効率の高いコンピューティングを実現します。

    TiDB Cloud Lake のストレージレイヤーは FuseEngine をベースとしており、低コストなオブジェクトストレージ向けに設計および最適化されています。FuseEngine は、オブジェクトストレージの特性に基づいてデータを効率的に編成し、高スループットなデータの取り込みと取得を可能にします。

    FuseEngine はデータをカラム形式で圧縮してオブジェクトストレージに保存するため、データ量とストレージコストを大幅に削減できます。

    FuseEngine はデータファイルを保存するだけでなく、MinMax インデックス、ブルームフィルターインデックスなどのインデックス情報も生成します。これらのインデックスにより、クエリ実行時の IO と CPU 消費が削減され、クエリ性能が大幅に向上します。

    このページは役に立ちましたか?