SnowPro Advanced: Data Engineer 無料問題 4 / 10 ・ 分野2: Performance Optimization
昼の混雑が過ぎたので、実行中の Large のウェアハウスを Medium に下げた。その直後から、午後の定例のダッシュボードのクエリがしばらく遅くなり、やがて元の速さに戻った。公式の説明に沿った理由はどれか。
- Medium にすると結果の保持が消えるため、同じ文も実行し直しになった
- サイズを下げると表の統計が作り直され、計画が固まるまで遅くなった
- 外した計算資源に付いていた表データの保持が捨てられ、作り直すまで遅くなった
- 縮小の作業の間は新しいクエリが止められ、その待ちのぶん遅くなった
正解と解説を見る
正解: C
正解の理由
動いているウェアハウスのサイズを下げると計算資源が外され、その資源に付いていた表データの保持も捨てられる。公式は、これが性能に響きうると書いている。保持はクエリを処理するうちに作り直されるので、遅さは一時的で、やがて元に戻る。
違う選択肢
「Medium にすると結果の保持が消えるため、同じ文も実行し直しになった」… 結果の保持(persisted query results)はウェアハウスの計算資源に付いたものではなく、24時間で期限が切れる仕組みである。サイズを変えても消えない。
「縮小の作業の間は新しいクエリが止められ、その待ちのぶん遅くなった」… 公式は、サイズの変更は動いている間でもいつでもできると書いている。下げる間に新しいクエリを止めるという記述は無い。
「サイズを下げると表の統計が作り直され、計画が固まるまで遅くなった」… 公式のサイズ変更の説明に、表の統計や実行計画を作り直すという記述は無い。遅くなる理由として公式が挙げるのは、外した資源に付いていた保持が捨てられることである。
設計の勘所
公式は、サイズを下げてクレジットを節約するか、今のサイズのまま保持を守るかの釣り合いで判断するよう勧めている。5XL・6XL から 4XL 以下へ下げるときは、古いウェアハウスが静まるまでの短い間、新旧の両方が課金される。上げるほうでは、足した資源は準備が整ってから使われる。