Hologres 仮想ウェアハウスインスタンスは、分時スケーリング機能をサポートしています。仮想ウェアハウスのスケーリングプランを設定すると、システムはビジネスのピーク時とオフピーク時のトラフィックに基づいて、スケジュールに従って計算リソースを自動的にスケールアウトおよびスケールインします。これにより、インスタンスの安定性の向上、リソース使用率の向上、コストの削減に役立ちます。このトピックでは、分時スケーリング機能の使用方法について説明します。
シナリオ
たとえば、仮想ウェアハウスインスタンスに init ウェアハウス、ウェアハウス 1、ウェアハウス 2 の 3 つの仮想ウェアハウスが含まれているとします。データ中台チームは、init ウェアハウスを使用して大規模な ETL (抽出、変換、書き出し) 操作を実行し、大量のデータをオフラインでインポートしたり、数分以内にデータをインポートしたり、リアルタイムでデータをインポートしたりします。ビジネスチーム A はウェアハウス 1 を使用してデータのクエリを実行します。ビジネスチーム B はウェアハウス 2 を使用してデータのクエリを実行します。この例では、次のルールに基づいて分時スケーリング機能を使用できます。
数分以内のデータインポートとリアルタイムのデータインポート: init ウェアハウスを使用します。1 日を通してインポートされるデータ量が安定している場合は、分時スケーリング機能は必要ありません。毎日一定期間 (16 時間未満) にインポートされるデータ量が非常に多い場合は、ピーク時に柔軟な計算リソースを提供するために、分時スケーリングプランを設定することをお勧めします。
データクエリ: 異なるビジネスチームは、異なるフォロワー仮想ウェアハウスを使用してクエリを実行します。これにより、負荷の分離が保証されます。ビジネスチームからのクエリリクエストの数が安定している場合は、分時スケーリングは必要ありません。1 日あたりのクエリリクエストの数が定期的に変化する場合は、ピーク時に柔軟な計算リソースを提供するために、分時スケーリングプランを設定することをお勧めします。
大規模な ETL 操作と大量のデータのオフラインインポート: サーバーレスコンピューティングリソースを使用することをお勧めします。計算リソースを予約せずにサーバーレスコンピューティングリソースを使用できます。これは、インスタンスの安定性を向上させ、メモリ不足 (OOM) エラーのリスクを軽減するのに役立ちます。実際に消費されたサーバーレスコンピューティングリソースの量に対してのみ課金されます。サーバーレスコンピューティング機能の詳細については、「サーバーレスコンピューティング」をご参照ください。サーバーレスコンピューティング機能の使用方法の詳細については、「サーバーレスコンピューティングのユーザーガイド」をご参照ください。
制限事項
分時スケーリング機能は仮想ウェアハウスインスタンスでのみサポートされており、汎用インスタンスまたは読み取り専用のセカンダリインスタンスではサポートされていません。
Hologres V2.2.21 以降では、分時スケーリング機能がサポートされています。
次の表は、さまざまなリージョンでの分時スケーリング機能のサポートについて説明しています。
分時スケーリング機能はパブリックプレビュー中です。この機能を使用する場合は、Alibaba Cloud アカウントを使用してフォームに記入し、「分時スケーリングの使用申請」を送信してください。
リージョン
分時スケーリングのサポート
説明
中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深圳)
サポートされています
申請が承認された後、この機能を直接使用できます。
中国東部 2 金融、中国北部 2 Ali Gov 1、中国南部 1 金融、日本 (東京)、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)
サポートされていません
この機能の使用申請を送信することはできません。
中国 (香港)、シンガポール、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)
チケットを送信して、この機能の使用を申請する
この機能を使用するには、次の手順を実行します。
フォームに記入し、「分時スケーリングの使用申請」を送信します。
使用上の注意
分時スケーリング機能を使用するには、次のいずれかのアカウントタイプを使用する必要があります。
Alibaba Cloud アカウントまたは AliyunHologresWarehouseFullAccess ポリシーがアタッチされている RAM ユーザー。AliyunHologresWarehouseFullAccess ポリシーには、Hologres コンソールに対する読み取り専用権限と、分時スケーリング機能を設定するための権限が含まれています。権限付与の詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
インスタンスに対するスーパーユーザー権限を持つアカウント。権限付与の詳細については、「Hologres インスタンスに対する開発権限を RAM ユーザーに付与する」をご参照ください。
仮想ウェアハウスでのスケールアウトおよびスケールイン操作は、データのクエリと書き込みにある程度の影響を与えます。
Hologres V2.2 では、分時スケーリング機能を使用してスケジュールに従って仮想ウェアハウスをスケールインまたはスケールアウトすると、仮想ウェアハウスでのデータのクエリと書き込みが約 15 秒間中断されます。
Hologres V3.0 以降では、分時スケーリング機能を使用してスケジュールに従って仮想ウェアハウスをスケールアウトする場合、仮想ウェアハウスでのデータのクエリと書き込みは影響を受けません。仮想ウェアハウスは処理状態です。分時スケーリング機能を使用してスケジュールに従って仮想ウェアハウスをスケールインする場合、仮想ウェアハウスでのデータのクエリと書き込みが約 15 秒間中断されます。
Hologres V3.1 以降では、分時スケーリング機能を使用してスケジュールに従って仮想ウェアハウスをスケールインする場合、仮想ウェアハウスでの主要なデータのクエリと書き込みは影響を受けません。ただし、仮想ウェアハウスで大規模なクエリまたは大規模な書き込み操作が実行されているときにスケールインがトリガーされ、タスクを 60 分以上実行し続ける必要がある場合、タスクはスケールイン後 60 分でエラーを報告します。
仮想ウェアハウスのスケーリングプランを設定した後、次の項目に注意してください。
仮想ウェアハウスを一時停止、削除、またはスケールインすることはできません。
hg_alter_warehouse
文を手動で実行するのではなく、Hologres コンソールでのみ仮想ウェアハウスをスケールアウトできます。hg_create_warehouse
文を手動で実行するのではなく、Hologres コンソールでのみ仮想ウェアハウスを作成できます。
用語
インスタンスの計算リソース
インスタンスの予約済み計算リソース: サブスクリプションと従量課金方式がサポートされています。インスタンスの予約済み計算リソースには、割り当て済みリソースと未割り当てリソースが含まれます。
割り当て済みリソース: インスタンス内の仮想ウェアハウスに割り当てられている予約済みリソース。
未割り当てリソース: インスタンス内の仮想ウェアハウスに割り当てられていない予約済みリソース。
インスタンスの弾性計算リソース: インスタンス内のすべての仮想ウェアハウスに対して弾力的に生成される計算リソース。
インスタンスの合計計算リソース: インスタンスで使用される計算リソースの合計量。これは、インスタンスの予約済み計算リソースの量と弾性計算リソースの量の合計です。
仮想ウェアハウスの計算リソース
仮想ウェアハウスの予約済み計算リソース: インスタンス内の仮想ウェアハウスに割り当てられている予約済み計算リソース。
仮想ウェアハウスの弾性計算リソース: インスタンス内の仮想ウェアハウスに対して弾力的に生成される計算リソース。
仮想ウェアハウスの合計計算リソース: 仮想ウェアハウスで使用される計算リソースの合計量。これは、仮想ウェアハウスの予約済み計算リソースの量と弾性計算リソースの量の合計です。
次の図は、仮想ウェアハウスインスタンスのリソースを示しており、次の表はリソースの詳細を示しています。
項目 | リソースの詳細 |
インスタンス | 96 CU (計算ユニット) の予約済みリソース。そのうち 64 CU が割り当て済み、32 CU が未割り当て |
32 CU の弾性リソース | |
合計計算リソース: 96 + 32 = 128 CU | |
仮想ウェアハウス init_warehouse | 32 CU の予約済みリソースと 16 CU の弾性リソース。合計 48 CU の計算リソース |
仮想ウェアハウス warehouse_2 | 32 CU の予約済みリソースと 16 CU の弾性リソース。合計 48 CU の計算リソース |
料金
インスタンスの予約済み計算リソース: サブスクリプションまたは従量課金方式に基づいて、仮想ウェアハウスインスタンスの専用計算リソースに対して課金されます。
インスタンスの弾性計算リソース: 分時スケーリング機能によって提供される弾性計算リソースの料金は、次の式を使用して計算されます。
料金 = 消費された弾性計算リソースの量 (単位: CU 時間) × 単価
。単価の詳細については、「課金概要」をご参照ください。料金は 1 時間単位で計算されます。システムは請求書をプッシュし、アカウント残高から料金を自動的に差し引きます。説明インスタンスの弾性計算リソースと未割り当て計算リソースは互いに独立しています。分時スケーリング機能は、インスタンスに未割り当ての計算リソースがあるかどうかに関係なく、スケジュールに従ってインスタンスに弾性計算リソースを提供します。
手順
仮想ウェアハウスリソースの管理
[仮想ウェアハウス管理] ページに移動します。
Hologres コンソール にログオンします。上部のナビゲーションバーで、ドロップダウンリストからリージョンを選択します。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。[インスタンス] ページで、目的のインスタンスの ID をクリックします。
[インスタンスの詳細] ページの左側のナビゲーションツリーで、[仮想ウェアハウス管理] をクリックします。
仮想ウェアハウスインスタンスのリソース情報を表示します。
[仮想ウェアハウスリソース管理] タブで、割り当て済みの予約済みリソースの量、未割り当ての予約済みリソースの量、弾性リソースの量など、仮想ウェアハウスインスタンスのリソース情報を表示できます。
仮想ウェアハウスリソースを管理します。
[仮想ウェアハウスの作成] をクリックします。[仮想ウェアハウスの作成] ダイアログボックスで、[仮想ウェアハウス名] パラメーターと [仮想ウェアハウスリソース] パラメーターを設定して、仮想ウェアハウスを追加します。
[ステータス] が [実行中] である仮想ウェアハウスについて、[設定の変更]、[再起動]、[リバランス]、または [停止] をクリックします。シャードリバランスの詳細については、「リバランス」をご参照ください。
説明インスタンスのデフォルトの仮想ウェアハウス init_warehouse を [一時停止] することはできません。
仮想ウェアハウスのスケーリングプランの設定
スケーリングプランの時系列グラフの表示
[仮想ウェアハウス管理] ページで、[仮想ウェアハウススケーリングプラン] タブをクリックします。
[インスタンス/仮想ウェアハウス] ドロップダウンリストからインスタンスまたは仮想ウェアハウスを選択して、時系列グラフを表示します。時系列グラフは、インスタンスまたは仮想ウェアハウスで実行されるようにスケジュールされているスケールインおよびスケールアウト操作を示します。履歴リソース使用量を示すメトリックはグラフに表示されません。
仮想ウェアハウスのスケーリングプランの設定
[仮想ウェアハウススケーリングプラン] タブで、目的の仮想ウェアハウスの左側にある
をクリックし、[期間の追加] をクリックします。有効期間の開始時刻と終了時刻を設定し、弾性計算リソースの量を設定して、[アクション] 列の [保存] をクリックします。
既存のスケーリングプランの [アクション] 列で [編集] または [削除] をクリックすることもできます。
弾性計算リソースの量は、予約済み計算リソースの量を超えることはできません。
仮想ウェアハウスには最大 5 つのスケーリング期間を設定できます。
仮想ウェアハウスからスケーリングプランを削除すると、仮想ウェアハウスのリソースが変更されていない場合でも、仮想ウェアハウスは処理状態になります。このプロセスでは、仮想ウェアハウスでのデータの読み取りと書き込みは影響を受けません。
仮想ウェアハウスのスケーリングプランを保存した後、現在の時刻が関連するスケーリング期間内にある場合、仮想ウェアハウスのリソースはすぐにスケールアウトまたはスケールインされます。例:
例 1:
仮想ウェアハウス A には 64 CU の予約済み計算リソースがあります。16:00 に仮想ウェアハウス A のスケーリングプランを作成して保存します。
スケーリングプランでは、32 CU の弾性計算リソースが割り当てられ、有効期間は 15:00 から 18:00 です。この場合、スケーリングプランを保存した後、仮想ウェアハウス A の計算リソースの合計量はすぐに 96 CU にスケールアウトされます。
例 2:
仮想ウェアハウス A には 64 CU の予約済み計算リソースがあります。16:00 に仮想ウェアハウス A の既存のスケーリングプランを変更して保存します。
変更前: 32 CU の弾性計算リソースが割り当てられ、有効期間は 15:00 から 18:00 です。
変更後: 32 CU の弾性計算リソースが割り当てられ、有効期間は 17:00 から 18:00 です。
変更を保存した後、仮想ウェアハウス A の計算リソースの合計量はすぐに 96 CU から 64 CU にスケールインされます。
分時スケーリング機能のパフォーマンスの監視
このセクションでは、分時スケーリング機能のパフォーマンスを監視する方法について説明します。
スケーリングプランの実行ログ
[仮想ウェアハウス管理] ページで、[スケーリングプラン実行ログ] タブをクリックします。
時間範囲を選択します。指定された時間範囲のスケーリングプランの実行情報が表示されます。これには、実行時間、仮想ウェアハウス名、実行ステータス、イベントタイプ、予約済み計算リソースの量、弾性計算リソースの量が含まれます。
メトリック
Hologres コンソールで Warehouse_timed_elastic_cores(Count)
メトリックを表示できます。このメトリックは、分時スケーリング機能に基づいてインスタンスによって提供される弾性計算リソースのコア数を示します。このメトリックのアラートルールを設定することもできます。詳細については、「Hologres メトリック」をご参照ください。
CloudMonitor イベント
Hologres 時間ベースのスケーリングプランによってトリガーされるスケールインおよびスケールアウトイベントは、CloudMonitor に記録されます。
CloudMonitor コンソールの [イベントセンター] に移動します。[システムイベント] ページで、[イベント監視] セクションのプロダクトドロップダウンリストから Hologres を選択します。次に、次の時間ベースのスケーリングイベントの時間情報を表示できます。システムイベントイベント監視
Instance:Warehouse:TimedElastic:Start
: 仮想ウェアハウスの時間ベースのスケーリングが開始されます。Instance:Warehouse:TimedElastic:Finish
: 仮想ウェアハウスの時間ベースのスケーリングが完了しました。Instance:Warehouse:TimedElastic:Failed
: 仮想ウェアハウスの時間ベースのスケーリングが失敗しました。
CloudMonitor のイベントに基づいて通知とアラートルールを設定します。詳細については、「システムイベントによってトリガーされるアラートルールの作成」をご参照ください。
次のコードは、CloudMonitor の
Instance:Warehouse:TimedElastic:Failed
イベントの詳細を示しています。{ "Status": "Failed", "InstanceName": "<instance_id>", "ResourceId": "<instance_resource_id>", "Content": { "ScaleType": "ScaleDown", "ScheduleId": "xxxxxx", "TimedElasticCPU": 0, "WarehouseId": "2", "WarehouseName": "<warehouse_name>" }, "Product": "hologres", "Time": 1722852008000, "Level": "WARN", "RegionId": "<region>", "Id": "<event_id>", "GroupId": "0", "Name": "Instance:Warehouse:TimedElastic:Failed" }
ActionTrail
Hologres コンソールでスケーリングプランに対して実行される変更などの操作、およびスケーリングプランに基づいて実行されるスケールインおよびスケールアウト操作は、ActionTrail コンソールに記録されます。詳細については、「イベント監査ログ」をご参照ください。