Hologres V2.0 では、新しいタイプのインスタンスとして仮想ウェアハウスインスタンスが導入されました。仮想ウェアハウスインスタンスを使用して、読み書き分離を実装できます。このトピックでは、仮想ウェアハウスインスタンスのアーキテクチャについて説明します。
バックグラウンド
Hologres V1.1 では、複数のインスタンス間で読み書き分離と共有ストレージを備えた高可用性デプロイメントアーキテクチャが実装されています。プライマリインスタンスには、複数の読み取り専用セカンダリインスタンスをアタッチできます。これらのインスタンスはストレージを共有しますが、計算リソースは分離されているため、読み書き分離による高可用性デプロイメントが実現します。詳細については、「プライマリインスタンスとセカンダリインスタンスの読み書き分離デプロイメント(共有ストレージ)」をご参照ください。ただし、現在の読み取り専用セカンダリインスタンスモードには、次の制限があります。
それぞれ独立したエンドポイントを持つ複数のインスタンスを作成する必要があります。トラフィックを切り替える場合は、エンドポイントを変更する必要があります。
読み取り専用セカンダリインスタンスは、プライマリインスタンスとメタデータを共有します。読み取り専用セカンダリインスタンスごとに、特定のロールに基づいてパラメーターを設定することはできません。たとえば、クエリの高可用性要件に基づいて、読み取り専用セカンダリインスタンスごとに異なる数のレプリカを設定することはできません。
これらの問題に対処するため、Hologres V2.0 では、新しいタイプのインスタンスとして仮想ウェアハウスインスタンスが導入されています。計算リソースはさまざまな仮想ウェアハウスに分割され、読み書き分離、リソースの隔離、ビジネスの隔離などの複数のシナリオを効果的にサポートします。これにより、リソースの隔離や弾力性などのコア機能がユーザーに提供されます。読み取り専用セカンダリインスタンスモードと比較して、仮想ウェアハウスインスタンスには次の利点があります。
仮想ウェアハウスは、独立した弾力的なスケーラビリティ(弾力的な割り当てとオンデマンド作成)を備えています。
仮想ウェアハウスは、データとメタデータを共有できます。
エンドポイントを変更せずにトラフィックを切り替えるには、1 つのエンドポイントのみが必要です。
Hologres V4.0 以降、仮想ウェアハウスインスタンスのアーキテクチャがアップグレードされました。柔軟な読み書き分離と読み取り/読み取り分離に加えて、究極の書き込み/書き込み分離をサポートします。
注意
単一の仮想ウェアハウスインスタンスには、最大 10 個の仮想ウェアハウスを含めることができ、それぞれに 32 ~ 512 CU のリソースがあります。
Hologres V3.0.10 以降、仮想ウェアハウスの最大サイズは 1,024 CU に調整されています。
Hologres V3.0.27 以降、仮想ウェアハウスの最大サイズ制限は削除されています。
Hologres V2.0 では、仮想ウェアハウスインスタンスは次のようにデータの読み取り/書き込みタスクをサポートします。
プライマリ仮想ウェアハウスのみがデータ書き込みを実行できます。
すべての仮想ウェアハウスがデータ読み取りを処理できます。
仮想ウェアハウスへの権限付与の詳細については、「仮想ウェアハウスにデータアクセス権限を付与する」をご参照ください。
Hologres V4.0 以降、仮想ウェアハウスインスタンスは次のようにデータ書き込みタスクをサポートします。
プライマリ仮想ウェアハウスのみが、INSERT、UPDATE、Fixed Copy などの Fixed Plan によって最適化された書き込みタスクを処理できます。詳細については、「Fixed Plan で SQL 実行を高速化する」をご参照ください。
すべての仮想ウェアハウスは、
insert into selectなどのバッチデータインポートタスクを処理できます。仮想ウェアハウスインスタンスでデータ書き込みを処理するには、
hg_warehouse_enable_use_local_resourceGUC パラメーターを有効にします。詳細については、「GUC パラメーター」をご参照ください。
アーキテクチャ
次の図は、仮想ウェアハウスインスタンスのアーキテクチャを示しています。
Hologres V4.0
Hologres V4.0 は、同じテーブルグループに対する究極の書き込み/書き込み隔離をサポートします。
Hologres V2.0
Hologres V2.0 は、読み書き隔離と読み取り/読み取り隔離をサポートします。
V2.0 では、書き込み/書き込み隔離を実装するには、ストレージレイヤーでデータを複数のテーブルグループに分割する必要があります。詳細については、「基本的な概念」をご参照ください。
仮想ウェアハウスインスタンスに関連するコアコンポーネント:
データストレージ:Hologres データストレージは Apsara Distributed File System 上に構築されており、高性能、高信頼性、高可用性、低コスト、弾力的なストレージスペース、強力な安定性とセキュリティなどのコアサービスを提供します。
仮想ウェアハウス:仮想ウェアハウスは、ユーザーのクエリリクエストの実行を担当する、独立した弾力的にスケーラブルな計算リソースを提供します。
クラウドサービスコンポーネント: クラウドサービスコンポーネントには、ゲートウェイ、Meta Service、Holo Master が含まれます。これらのコンポーネントは、メタデータ管理、セキュリティ認証管理、統合アクセス管理、ノード管理などの機能を提供します。ゲートウェイは、仮想ウェアハウス上のさまざまなフロントエンド (FE) ノードに接続を転送するために使用されます。たとえば、
read_warehouse仮想ウェアハウスを使用する必要がある場合、ゲートウェイは接続をread_warehouse仮想ウェアハウス上の FE ノードの 1 つに転送します。ゲートウェイは、仮想ウェアハウス上の FE ノードに 1 秒あたり最大 100 の接続を転送できます。Hologres V2.2.22 以降では、この数は 1 秒あたり 150 接続に増やすことができます。