ウェアハウスサイズの拡大¶
このトピックでは、ウェアハウスの所有者または管理者がウェアハウスのサイズを調整して、ウェアハウスで実行されているクエリのパフォーマンスを向上させる方法について説明します。
ウェアハウスが大きくなればなるほど、クエリまたは一連のクエリを実行するために使用できるコンピューティングリソースが増えます。このため、ウェアハウスのサイズを大きくすることは、クエリのパフォーマンスを向上させるための簡単な戦略になります。単純にウェアハウスのサイズを拡大し、クエリを再実行します。パフォーマンスの向上がクエリの実行コストの増加に見合わない場合は、ウェアハウスを元のサイズに戻します。
大規模なウェアハウスを使用すると、大規模で複雑なクエリに最大の影響があり、小規模で基本的なクエリのパフォーマンスは向上しない場合があります。
注釈
このトピックで提供されている診断クエリを実行するには、 共有 SNOWFLAKE データベースへのアクセス が必要です。デフォルトでは、 ACCOUNTADMIN ロールのみがクエリを実行するために必要な権限を持っています。
ウェアハウスの負荷の決定¶
ウェアハウスの負荷を調べると、ウェアハウスのサイズを大きくすることによりパフォーマンスが向上するかどうかを判断するのに役立ちます。ウェアハウスの負荷が高い場合は、同時実行クエリの必要とするコンピューティングリソースが競合する可能性があります。この場合は、ウェアハウスのサイズを大きくしても、期待したほどパフォーマンスが向上しない可能性があります。ただし、負荷が低いと判断できる場合は、ウェアハウスのサイズを大きくすると、複雑なクエリのパフォーマンスが向上する可能性が高くなります。
クエリ: ウェアハウスの負荷
このクエリは、実行されたクエリとキューに入れられたクエリのウェアハウスの総負荷に関する洞察を提供します。これらの負荷値は、間隔内の特定の状態にあるすべてのクエリの合計実行時間(秒単位)と、その間隔の合計時間(秒単位)の比率を表します。
たとえば、276秒が、5分(300秒)間隔のクエリ4つの合計時間である場合、クエリ負荷値は276/300=0.92です。
SELECT TO_DATE(start_time) AS date,
warehouse_name,
SUM(avg_running) AS sum_running,
SUM(avg_queued_load) AS sum_queued
FROM snowflake.account_usage.warehouse_load_history
WHERE TO_DATE(start_time) >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2
HAVING SUM(avg_queued_load) >0;
コストの考慮事項¶
ウェアハウスが大きいほど、特定の期間に一段と多くのクレジットを消費します。
ウェアハウスサイズ |
クレジット / 時間 |
クレジット / 秒 |
注意 |
---|---|---|---|
XS |
1 |
0.0003 |
Snowsight で作成され CREATE WAREHOUSE を使用するウェアハウスのデフォルトサイズ。 |
S |
2 |
0.0006 |
|
M |
4 |
0.0011 |
|
L |
8 |
0.0022 |
|
XL |
16 |
0.0044 |
Classic Console を使用して作成されたウェアハウスのデフォルトサイズ。 |
2XL |
32 |
0.0089 |
|
3XL |
64 |
0.0178 |
|
4XL |
128 |
0.0356 |
|
5XL |
256 |
0.0711 |
Amazon Web Services(AWS)およびMicrosoft Azureリージョンで一般公開され、 US 政府リージョンではプレビュー段階にあります。 |
6XL |
512 |
0.1422 |
Amazon Web Services(AWS)およびMicrosoft Azureリージョンで一般公開され、 US 政府リージョンではプレビュー段階にあります。 |
大規模なウェアハウスでクエリの実行にかかる時間が短い場合、大規模なウェアハウスを実行するコストの増加は、実行時間の短縮によって相殺される可能性があります。たとえば、今よりも1サイズ大きいウェアハウスでクエリ実行の速さが2倍になる場合、クエリを実行するための総コストは変わりません。
Tip
ベストプラクティスは、ウェアハウスのサイズを調整できるユーザーを制限することです。ユーザーが個別のクエリのニーズを満たすためにウェアハウスのサイズを大きくできるようにすると、クエリの実行後にウェアハウスを元のサイズに戻すのを忘れて、予期しないコストが発生する可能性があります。
ウェアハウスのサイズを増やす方法¶
ウェアハウスのサイズを増やすには、次のいずれかを実行します。
- Snowsight:
Snowsight にサインインします。
Admin » Warehouses に移動します。
ウェアハウスを見つけて、 . . . » Edit を選択します。
Size ドロップダウンを使用して、新しいウェアハウスサイズを選択します。
Save Warehouse を選択します。
- SQL:
ALTER WAREHOUSE コマンドを使用して、ウェアハウスのサイズを変更します。例:
ALTER WAREHOUSE my_wh SET WAREHOUSE_SIZE = large;