Snowflake を触っていて「マルチクラスターウェアハウスってなんだ???」となったので疑問点と調べたことをまとめる。ただし公式ドキュメントをちゃんと読めばだいたい書いてある。
要点
- 内部的には「
MIN_CLUSTER_COUNT
(クラスター最小数)」と「MAX_CLUSTER_COUNT
(クラスター最大数)」という2つのパラメータがあるのみ - 「モード:
Maximized
(最大化) /Auto-scale
(自動スケール)」や「マルチクラスターウェアハウス有効」というようなパラメータは内部的には存在せず、これらMIN_CLUSTER_COUNT
MAX_CLUSTER_COUNT
を設定するための UI (?) に過ぎない
マルチクラスターウェアハウスとは?
通常のウェアハウス (シングルクラスターウェアハウス) ではクラスタは1つだけ起動するが、マルチクラスターウェアハウスでは複数のクラスタを起動することができる。
クラスタの起動数は MIN_CLUSTER_COUNT
MAX_CLUSTER_COUNT
で設定する。
マルチクラスタウェアハウスを有効にして MAX_CLUSTER_COUNT = 1
に設定した場合、シングルクラスターウェアハウスとまったく同じになる。
マルチクラスターウェアハウスのモードとは?
Maximized
(最大化) / Auto-scale
(自動スケール) という2つのモードがあるが、「Maximized
の場合は MIN_CLUSTER_COUNT
と MAX_CLUSTER_COUNT
が同じ値が設定される」というだけで、それ以外は何も変わらない。
マルチクラスターウェアハウス有効で Min Clusters = 1
の場合、常に起動し続けるから常に課金されてしまう?
マルチクラスターウェアハウスであっても AUTO_SUSPEND
が設定されていれば自動停止するし、停止中は課金されない。
「クラスター数」と「ウェアハウス全体の自動停止」は別物であり、 Min Clusters
Max Clusters
はあくまで「ウェアハウスが起動状態にあるときの最小/最大クラスター数」であるため。