Hologres サーバーレスインスタンスは、クラウドネイティブなサーバーレスアーキテクチャに基づくインスタンスタイプです。事前に専用の計算リソースを購入することなく、柔軟で弾力的、かつ使いやすい Hologres のコンピューティングおよびストレージサービスを提供し、リソース使用量をゼロまでスケールダウンできます。本トピックでは、Hologres サーバーレスインスタンスのアーキテクチャについて説明します。
背景情報
Hologres の汎用インスタンスまたは計算グループインスタンスを使用する場合、ビジネスワークロードを見積もり、事前に専用の計算リソースを購入する必要があります。これにより、以下の問題が発生する可能性があります。
リソースの問題:事前に購入した専用の計算リソースは、ピーク時には不足し、オフピーク時には無駄になる可能性があります。
安定性の問題:予期せぬトラフィックの急増に対して十分なリソースを確保することが難しく、安定性の問題につながる可能性があります。
Hologres は、Serverless Computing 機能に基づいてサーバーレスインスタンスをリリースしました。サーバーレスインスタンスには、計算リソースの維持コストがかかりません。実際のワークロードに基づいてリモートの Serverless Computing リソースをスケジューリングし、変動するビジネスニーズに対応できます。このアプローチにより、専用の計算リソースを使用する際に発生しうるリソース不足、リソースの無駄、および不安定性の問題を効果的に解決します。
課金
リソースは次のように課金されます。
計算リソース:サーバーレスインスタンスには、計算リソースの維持コストがかかりません。データ書き込みおよびクエリリクエストによって実際に使用されたリソースに対して、従量課金で請求されます。
ストレージリソース:標準ストレージ (ローカル冗長ストレージ) がサポートされており、従量課金で請求されます。
課金の詳細については、「Serverless インスタンスの課金」をご参照ください。
メリット
Hologres サーバーレスインスタンスには、以下のメリットがあります。
弾力的なコンピューティング:事前に専用の計算リソースを購入する必要はありません。サーバーレスの計算リソースはオンデマンドで利用可能です。
柔軟なストレージ:ストレージとして Hologres 内部テーブルをサポートし、柔軟なインデックス構築により優れたクエリパフォーマンスを実現します。データのインポートやエクスポートなしで、外部テーブルを介して MaxCompute データをクエリできます。必要に応じてストレージクラスを選択できます。
高い安定性:リソースはクエリレベルで要求され、クエリ間で物理的に分離されます。これにより、各クエリの安定した実行が保証されます。
低コスト:事前に専用の計算リソースを購入する必要がないため、リソースの無駄を避けることができます。クエリで実際に使用されたリソースとその期間に対してのみ課金されます。
O&M フリー:クラスターデプロイやスケーリングを管理する必要はありません。
シナリオ
Hologres Serverless インスタンスは、以下の本番シナリオに適しています。開発環境またはテスト環境でも使用できます。
小規模なデータ量を扱う読み書きシナリオ。
大規模なデータ量を扱う、高性能で低頻度の読み書きシナリオ。
ワークロードの変動が大きく、ピーク負荷を予測して事前に専用の計算リソースを確保することが困難なシナリオ。
サーバーレスインスタンスはクエリごとにリソースをスケジューリングするため、高い QPS (クエリ/秒) が要求されるストレステストシナリオには推奨されません。ただし、固定量のリソースでクエリレイテンシーをテストするために使用することはできます。
以下のシナリオはサーバーレスインスタンスには適していません。代わりに計算グループインスタンスを推奨します。
サーバーレスインスタンスは、固定プランを使用した SQL 実行の高速化をサポートしておらず、実行には自動的に Hologres クエリエンジン (HQE) を使用します。そのため、サーバーレスインスタンスはリアルタイムのストリーミングデータ書き込みシナリオには適していません。ただし、動的テーブルに基づく準リアルタイムおよびオフラインリフレッシュをサポートしています。これは、サーバーレスインスタンスを使用してオフラインおよび準リアルタイムのデータウェアハウスを構築できることを意味します。
インスタンスタイプの比較
サーバーレスインスタンスと、計算グループインスタンスや共有クラスターインスタンスなどの他のインスタンスタイプとの詳細な比較については、「インスタンスの選択」をご参照ください。
サーバーレスインスタンスと Serverless Computing の違い
サーバーレスインスタンス:
Hologres の専用型インスタンス (従量課金) であり、独自のインスタンス ID とストレージを持ちます。
サーバーレスインスタンス内のすべての読み書きリクエストは、リモートの Serverless Computing リソースによって処理されます。
Serverless Computing:
Hologres のこの機能は、独自のインスタンス ID やストレージを持ちません。
この機能により、サーバーレスインスタンスなどの特定の Hologres インスタンスが、リモートの Serverless Computing リソースをスケジューリングして読み書きリクエストを実行できます。
サーバーレスインスタンス、計算グループインスタンス、および汎用インスタンスはすべて Hologres インスタンスのタイプです。これらはすべて、Serverless Computing 機能を使用して読み書きリクエストを実行することをサポートしています。
Serverless インスタンスアーキテクチャ
次の図は、サービスアーキテクチャを示しています。
サーバーレスインスタンスのコアコンポーネントは次のとおりです。
コンピューティングレイヤー
フロントエンド (FE) ノード:これらのノードは無料で提供されます。インスタンスへの接続、リクエストに必要なリソースの見積もり、およびサーバーレスリソースプールへのリクエスト送信を担当します。
サーバーレス計算リソース:これはゾーンレベルの共有計算リソースプールです。ユーザーリクエストの実行と、各リクエストのリソースを個別にスケジューリングすることを担当します。
ストレージレイヤー
Alibaba Pangu ストレージサービス上に構築された Hologres 専用ストレージをサポートします。このストレージは、高性能、高信頼性、高可用性、低コスト、弾力的なストレージスペース、堅牢なセキュリティなどのコア機能を提供します。
また、外部テーブルを介した MaxCompute ストレージへのアクセスもサポートしています。このストレージに対して追加料金を支払う必要はありません。