模擬試験 セット1 — 全100問 残り 115:00

模擬試験 セット1(基礎・典型問題編)

本試験と同じ100問・115分です。単一選択(ラジオボタン)と複数選択(チェックボックス、「2つ選べ」等)が混在します。ページを開いた時点からタイマーが動いています。すべて解答したら最下部の「採点する」を押してください(時間切れで自動採点されます)。

最終確認:2026年8月

ドメイン1:Snowflake AI Data Cloudの特徴とアーキテクチャ(問1〜31)

問1. Snowflakeのアーキテクチャにおいて、クエリの解析・最適化やトランザクション管理を担当する層はどれか。最も適切なものを選べ。

解説:クエリの解析・最適化、メタデータ管理、認証、トランザクション管理はクラウドサービス層の役割である。Aのストレージ層はデータの永続化を担い、Bのコンピュート層(仮想ウェアハウス)は最適化済みのクエリを実行する層である。Dの「クライアントアプリケーション層」はSnowflakeの3層アーキテクチャには存在しない。参照:1-1節

問2. Snowflakeのアーキテクチャの特徴を説明したものとして、最も適切なものはどれか。

解説:Snowflakeは、全ウェアハウスから共通のストレージにアクセスできるシェアードディスク型の利点と、各ウェアハウスが独立してMPP処理を行うシェアードナッシング型の利点を組み合わせたハイブリッドアーキテクチャである。AとCはそれぞれ片方の型のみの説明で誤り。Snowflakeはクラウド専用のフルマネージドサービスであり、オンプレミスにはインストールできないためDも誤り。参照:1-1節

問3. クラウドサービス層が担当する機能として正しいものを2つ選べ。

解説:BとDが正解。認証・アクセス制御、メタデータ管理、クエリ最適化はいずれもクラウドサービス層の機能である。Aのクエリ実行はコンピュート層(仮想ウェアハウス)、Cの物理的なデータ格納はストレージ層の役割。Eの可視化はSnowsightなどのインターフェースやBIツールの役割であり、クラウドサービス層の機能ではない。参照:1-1節

問4. Snowflakeのデータベースストレージ層に関する説明として、最も適切なものはどれか。

解説:ロードされたデータはSnowflakeが自動的に圧縮し、列指向の内部フォーマットでマイクロパーティションとしてクラウドストレージに保存する。Aは「行指向・非圧縮」の点が誤り。内部ファイルへの直接アクセスはできず、SQL経由でのみ操作するためBは誤り。ストレージは使用量に応じて自動的に拡張されるためCも誤り。参照:1-1節

問5. ある企業では、朝の時間帯にBIダッシュボードへのアクセスが集中し、同時実行クエリの待ち行列が発生している。マルチクラスタウェアハウスの導入を検討する場合、必要となる最低エディションはどれか。

解説:マルチクラスタウェアハウスはEnterpriseエディション以上で利用できる。Standardでは利用できないためAは誤り。CとDでも利用は可能だが「必要となる最低エディション」という問いに対しては過剰であり不正解。参照:1-2節

問6. 金融機関が、Snowflake管理のキーと顧客管理のキーを組み合わせるTri-Secret Secureの利用を必須要件としている。この要件を満たす最低エディションはどれか。

解説:Tri-Secret SecureはBusiness Criticalエディション以上の機能である。StandardやEnterpriseでは利用できないためA・Bは誤り。エディションに依存しない追加オプションではないためDも誤り。参照:1-2節

問7. 仮想ウェアハウスのクレジット課金に関する説明として、最も適切なものはどれか。

解説:仮想ウェアハウスは稼働中の時間に対して秒単位で課金され、起動・再開時には最低60秒分が課金される。Bの1時間単位の切り上げは誤り。課金はクエリ件数(C)やスキャン量(D)ではなく、ウェアハウスの稼働時間とサイズに基づく。参照:1-2節

問8. Mediumサイズ(クレジット4/時)の仮想ウェアハウスをLargeサイズに変更した。1時間あたりのクレジット消費はどうなるか。

解説:ウェアハウスサイズは1段階上がるごとにクレジット消費が2倍になる。Medium(4クレジット/時)の1段階上のLargeは8クレジット/時である。Aの1.5倍やCの4倍(2段階分)は誤り。サイズ変更でクレジット消費は変わるためDも誤り。参照:1-5節

問9. SnowflakeのWebインターフェースであるSnowsightでできることとして、正しいものを2つ選べ。

解説:AとDが正解。SnowsightではワークシートでのSQL実行、チャート・ダッシュボード作成のほか、オブジェクトやコストの管理も行える。SnowflakeはフルマネージドサービスでありユーザーがサーバーにSSH接続することはできないためBは誤り。オンプレミスDBの直接管理(C)やクラウドプロバイダーの契約変更(E)はSnowsightの機能ではない。参照:1-3節

問10. 管理者がシェルスクリプトからSQLを定期実行するために利用する、Snowflakeが提供するコマンドラインクライアントはどれか。

解説:SnowSQLはSnowflakeが提供するCLIクライアントで、対話的な実行やスクリプトからのバッチ実行に利用できる。AのSnowsightはWebインターフェース、BのSnowparkはPython/Java/Scala向けの開発フレームワーク、CのSnowpipeは継続的データロードのサービスであり、いずれもCLIクライアントではない。参照:1-3節

問11. Snowflakeのオブジェクト階層を上位から下位へ正しく並べたものはどれか。

解説:Snowflakeの階層はアカウントの下にデータベース、その下にスキーマ、その中にテーブルやビューなどのオブジェクトが配置される。B・C・Dはいずれもデータベースとスキーマ、またはアカウントの位置関係が逆転しており誤り。なおアカウントの上位には組織(Organization)がある。参照:1-4節

問12. 仮想ウェアハウスはオブジェクト階層のどこに位置づけられるか。最も適切なものを選べ。

解説:仮想ウェアハウスはアカウントレベルのオブジェクトで、データベースやスキーマには属さず、アカウント内の任意のデータベースのデータを処理できる。データベース配下(A)やスキーマ配下(B)に作られるという説明は誤り。テーブルと1対1で対応するものでもないためDも誤り。参照:1-4節

問13. 仮想ウェアハウスのAUTO_SUSPENDとAUTO_RESUMEに関する説明として、最も適切なものはどれか。

解説:AUTO_SUSPENDはアイドル状態が指定時間続いた場合にウェアハウスを自動停止し、AUTO_RESUMEはクエリ到着時に自動再開する機能で、コスト削減に有効である。AUTO_SUSPENDは実行中のクエリを強制終了しないためAは誤り。停止中のウェアハウスはクレジットを消費しないためCは誤り。再作成は不要で自動または手動で再開できるためDも誤り。参照:1-5節

問14. 大量のデータを結合・集計する単一の複雑なクエリの実行時間が長すぎる。この問題への対処として最も適切なものはどれか。

解説:単一の複雑なクエリの性能改善にはスケールアップ(サイズ拡大)が適切である。スケールアウト(B)は同時実行クエリ数の増加への対策であり、1つのクエリは1つのクラスタで実行されるため単一クエリは速くならない。AUTO_SUSPENDの延長(C)は起動待ちの削減にしかならず、サイズ縮小(D)は性能をさらに悪化させる。参照:1-5節

問15. マルチクラスタウェアハウスに関する説明として、正しいものを2つ選べ。

解説:BとCが正解。Standardポリシーはキューを防ぐことを優先して即座にクラスタを追加し、Economyポリシーはコスト節約を優先して追加を抑制する。マルチクラスタウェアハウスはEnterprise以上の機能のためAは誤り。スケールアウトは同時実行性の向上が目的で、単一クエリの高速化には効果がないためDは誤り。最小・最大クラスタ数はALTER WAREHOUSEで変更できるためEも誤り。参照:1-5節

問16. あるアナリストが実行したクエリと完全に同一のクエリを、データ変更がない状態で別のユーザーが実行したところ、ウェアハウスが停止中にもかかわらず結果が即座に返った。この動作を実現している仕組みはどれか。

解説:結果キャッシュはクラウドサービス層に保持され、同一クエリかつ基礎データに変更がない場合、ウェアハウスを起動せずに24時間以内なら結果を返せる。Aのローカルディスクキャッシュはウェアハウス稼働中のみ有効で、クエリ実行自体は必要。Bのプルーニングはスキャン量の削減であり、ウェアハウス不要にはならない。Dのマテリアライズドビューは事前定義が必要で、この場面の説明として不適切。参照:1-5節

問17. 仮想ウェアハウスのローカルディスクキャッシュ(データキャッシュ)に関する説明として、最も適切なものはどれか。

解説:ローカルディスクキャッシュは各ウェアハウスのコンピュートノード上に保持され、ウェアハウスの停止で失われる。ウェアハウスごとに独立しており共有されないためAは誤り。Bの「24時間」は結果キャッシュの説明。Cのクラウドサービス層に保持されるのも結果キャッシュであり、ローカルディスクキャッシュはコンピュート層に存在する。参照:1-5節

問18. マイクロパーティションに関する説明として、最も適切なものはどれか。

解説:マイクロパーティションはロード時にSnowflakeが自動作成する、非圧縮換算で50〜500MB相当の不変なストレージ単位である。手動でのパーティション定義は不要のためAは誤り。不変であるため更新時は直接書き換えではなく新しいマイクロパーティションが作成される(C)。1パーティションには多数の行が格納されるためDも誤り。参照:1-6節

問19. WHERE句で日付を絞り込んだクエリで、Snowflakeが不要なマイクロパーティションのスキャンをスキップできるのはなぜか。最も適切なものを選べ。

解説:クラウドサービス層は各マイクロパーティションの列ごとのmin/maxなどのメタデータを保持しており、条件に合致しないパーティションをスキャン対象から除外(プルーニング)する。Bは全件読み込みでありプルーニングの説明として誤り。Snowflakeには従来型のセカンダリインデックスはないためCは誤り。手動の除外作業は不要のためDも誤り。参照:1-6節

問20. クラスタリングキーの定義を検討すべき状況として、最も適切なものはどれか。

解説:クラスタリングキーは、非常に大きなテーブルで特定列のフィルタ検索の性能(プルーニング効率)が悪化している場合に有効である。小さなテーブル(A)ではプルーニングの効果がほとんどなく不要。すべてのテーブルで必須ではなく、大半のテーブルは自然なクラスタリングで十分なためBは誤り。再クラスタリングにはコンピュートコストがかかるため、書き込みコスト削減(D)にはならない。参照:1-6節

問21. transientテーブルに関する説明として、最も適切なものはどれか。

解説:transientテーブルはTime Travelが最大1日でFail-safeがなく、その分ストレージコストを抑えられる。AはEnterpriseエディションにおけるpermanentテーブルの説明。セッション終了で消えるのはtemporaryテーブルでありBは誤り。transientテーブルは通常どおり更新可能なためCも誤り。参照:1-7節

問22. permanentテーブルに関する説明として、正しいものを2つ選べ。

解説:BとEが正解。permanentテーブルのTime TravelはEnterprise以上で最大90日まで設定でき、その後7日間のFail-safeがある。Fail-safeからの復元はSnowflakeのサポート経由でのみ可能で、ユーザーがSQLで直接復元することはできないためAは誤り。Fail-safeは7日固定で延長できないためCは誤り。permanentテーブルはTime Travelを利用できるためDも誤り。参照:1-7節

問23. temporaryテーブルの特徴として、最も適切なものはどれか。

解説:temporaryテーブルは作成したセッションに紐づき、セッション終了時に自動削除される。他のセッションからは参照できないためBは誤り。temporaryテーブルにFail-safeはない(Time Travelも最大1日)ためCは誤り。セッション終了で自動的に消えるため特別なロールによる削除も不要でDも誤り。参照:1-7節

問24. クラウドストレージ上のデータレイクのファイルを、Snowflakeにロードせずにクエリしたい。この用途に適したテーブルタイプはどれか。

解説:外部テーブルは、外部ステージ上のファイルをSnowflakeにロードすることなく読み取り専用でクエリできるテーブルタイプである。A・C・DはいずれもデータをSnowflake内部のストレージに保持するタイプであり、「ロードせずにクエリする」という要件を満たさない。参照:1-7節

問25. 社内文書を対象としたRAG(検索拡張生成)アプリケーションを構築するため、キーワード検索とベクトル検索を組み合わせたハイブリッド検索サービスを利用したい。適切なCortex機能はどれか。

解説:Cortex Searchはキーワード検索とベクトル検索を組み合わせたハイブリッド検索を提供し、RAGの検索基盤に適している。ACortex Analystは自然言語からSQLを生成する機能、BのDocument AIは文書からの情報抽出機能であり用途が異なる。DのSnowpipeは継続的データロードのサービスでAI機能ではない。参照:1-8節

問26. 業務部門のユーザーが「先月の地域別売上は?」のように自然言語で質問すると、セマンティックモデルに基づいてSQLが生成され回答が得られる仕組みを提供するCortex機能はどれか。

解説:Cortex Analystは、セマンティックモデルを利用して自然言語の質問からSQLを生成し、構造化データへの問い合わせを可能にする機能である。AのCortex Searchは非構造化データのハイブリッド検索、CのDocument AIは文書からの情報抽出が役割。DのSnowparkはプログラミング言語でデータ処理を記述するフレームワークであり、自然言語問い合わせの機能ではない。参照:1-8節

問27. 経理部門では、スキャンされた請求書PDFから金額や日付などの項目を抽出してテーブル化する作業を自動化したい。この用途に適したSnowflakeの機能はどれか。

解説:Document AIは、請求書や契約書などの文書から指定した項目の値を抽出する機能で、非構造化文書の構造化に適している。AのCortex Analystは構造化データへの自然言語問い合わせ、Bのマテリアライズドビューはクエリ結果の事前計算、Cのリソースモニターはクレジット消費の監視機能であり、いずれも文書からの情報抽出はできない。参照:1-8節

問28. Snowparkに関する説明として、正しいものを2つ選べ。

解説:AとCが正解。SnowparkはPython・Java・Scalaに対応し、DataFrame操作はSnowflake側で実行されるため大量データをクライアントに移動する必要がない。よってBは誤り。実行基盤は通常の仮想ウェアハウスであり専用GPUクラスタの契約は不要のためDは誤り。SnowparkとSQLは併用できるためEも誤り。参照:1-9節

問29. Streamlit in Snowflakeの説明として、最も適切なものはどれか。

解説:Streamlit in Snowflakeでは、Pythonで記述したインタラクティブなデータアプリをSnowflake内でそのままホストでき、既存のデータとRBACを活用できる。SQLの翻訳ツールではないためBは誤り。Snowflake内でホストされるため別途Webサーバーは不要でCは誤り。記述言語はPythonでありDも誤り。参照:1-9節

問30. データプロバイダーが、自社で開発したデータとロジックを組み合わせたアプリケーションをパッケージ化し、Snowflake Marketplaceを通じて他のアカウントに配布したい。この目的に適した仕組みはどれか。

解説:Native App Frameworkを使うと、データとアプリケーションロジックをパッケージ化してMarketplace経由で配布・収益化できる。Aの外部テーブルは外部ストレージのクエリ用、Bのリソースモニターはクレジット監視用、DのSnowSQLはCLIクライアントであり、いずれもアプリケーション配布の仕組みではない。参照:1-9節

問31. 仮想ウェアハウスのコスト最適化のプラクティスとして、適切なものを2つ選べ。

解説:AとDが正解。AUTO_SUSPENDの短縮によるアイドル課金の削減と、小さいサイズから始めて実測に基づき調整するのが基本的なコスト最適化である。常時最大サイズで稼働(B)や常時稼働の維持(C)は不要なクレジット消費を生む。ワークロードごとにウェアハウスを分離する方が管理・最適化しやすいためEも不適切。参照:1-5節

ドメイン2:アカウント管理とデータガバナンス(問32〜51)

問32. SnowflakeのRBACモデルにおける権限(プリビレッジ)の付与に関する説明として、最も適切なものはどれか。

解説:Snowflakeでは権限をユーザーに直接付与することはできず、必ずロールに付与し、ユーザーにはロールを割り当てる。よってAは誤り。ウェアハウスは権限付与の対象オブジェクトであって権限の受け皿ではないためCは誤り。権限はアカウント・データベース・スキーマ・テーブルなど様々なレベルで付与できるためDも誤り。参照:2-1節

問33. アカウント全体の権限付与(GRANT)の状況を一元的に管理する役割を担い、MANAGE GRANTS権限を持つシステム定義ロールはどれか。

解説:SECURITYADMINはMANAGE GRANTS権限を持ち、アカウント全体の権限付与を管理する。BのSYSADMINはウェアハウスやデータベースなどオブジェクトの作成・管理が役割。CのPUBLICは全ユーザーに自動付与される最小限のロール。DのORGADMINは組織レベルでのアカウント管理を担うロールであり、権限付与の一元管理は役割ではない。参照:2-1節

問34. 新入社員のユーザーアカウント作成と新しいカスタムロールの作成を担当者に任せたい。この作業に必要な最小限のシステム定義ロールはどれか。

解説:USERADMINはユーザーとロールの作成・管理を担うロールであり、この作業に必要な最小限のロールである。ACCOUNTADMIN(A)でも可能だが最小権限の原則に反する。SYSADMIN(B)はオブジェクト管理が役割でユーザー作成の権限は持たない。PUBLIC(C)にはユーザー作成権限がない。参照:2-1節

問35. ACCOUNTADMINロールの運用に関するベストプラクティスとして、適切なものを2つ選べ。

解説:BとDが正解。ACCOUNTADMINは最上位ロールのためMFAを必須とし、付与は限定しつつもロックアウト防止のため複数人に割り当てるのが推奨である。全ユーザーのデフォルトロール化(A)や日常業務での使用(C)は最小権限の原則に反する。ACCOUNTADMINはシステム定義ロールであり削除できないためEは誤り。参照:2-2節

問36. 部門ごとにカスタムロールを作成してアクセス制御を設計する。作成したカスタムロールの階層上の配置として、Snowflakeが推奨する構成はどれか。

解説:カスタムロールは最終的にSYSADMINに集約する階層構成が推奨される。これによりSYSADMIN(およびその上位のACCOUNTADMIN)がすべてのオブジェクトを管理できる。独立したまま(A)ではオブジェクトが管理者から見えなくなるおそれがある。PUBLICへの付与(B)は全ユーザーに権限が渡ってしまい危険。ACCOUNTADMIN直下への付与(D)は推奨構成ではなく、SYSADMIN経由の集約が原則である。参照:2-2節

問37. ロールANALYSTがロールREPORT_VIEWERを付与(GRANT ROLE)されている場合の動作として、最も適切なものはどれか。

解説:ロールを別のロールに付与すると階層が形成され、上位ロール(ANALYST)は下位ロール(REPORT_VIEWER)の権限を継承する。継承の方向は下位から上位への一方向であり、Aのような逆方向やCのような相互共有にはならない。ロール階層はSnowflakeのRBACの基本機能でありDは誤り。参照:2-2節

問38. データベースや仮想ウェアハウスなどのオブジェクトの作成・管理を主な役割とするシステム定義ロールはどれか。

解説:SYSADMINはウェアハウス・データベース・スキーマなどのオブジェクトを作成・管理する役割を持つ。BのUSERADMINはユーザーとロールの管理、CのSECURITYADMINは権限付与の管理(MANAGE GRANTS)が主な役割。DのPUBLICは全ユーザーが持つ既定ロールで、オブジェクト管理の役割は持たない。参照:2-1節

問39. ETLツールのサービスアカウントがパスワードを使わずにSnowflakeへ接続できるようにしたい。プログラムからの接続に推奨される認証方式はどれか。

解説:キーペア認証は公開鍵・秘密鍵を使う方式で、プログラムやサービスアカウントからの接続に推奨される。平文パスワードの保存(A)や共通パスワードの使い回し(C)はセキュリティ上の悪手である。SCIM(B)はユーザーやグループのプロビジョニングの仕組みであり、認証プロトコルではない。参照:2-3節

問40. IdP(IDプロバイダー)上でのユーザーの追加・削除をSnowflakeのユーザー管理に自動的に反映させたい。この目的に利用する仕組みはどれか。

解説:SCIMはIdPと連携してユーザーやグループの作成・更新・無効化を自動プロビジョニングする標準規格である。Aのネットワークポリシーは接続元IPの制御、Cのキーペア認証はプログラム向けの認証方式、Dのリソースモニターはクレジット消費の監視であり、いずれもプロビジョニングの仕組みではない。参照:2-3節

問41. Snowflakeの認証・ネットワークセキュリティに関する説明として、正しいものを2つ選べ。

解説:BとCが正解。SSOはSAML 2.0対応のIdPとのフェデレーションで実現し、ネットワークポリシーでは許可・ブロックするIP範囲を定義できる。SCIMは認証ではなくプロビジョニングの規格のためAは誤り。MFAはACCOUNTADMINにこそ推奨される設定でありDは誤り。ネットワークポリシーは特定の上位エディション限定の機能ではないためEも誤り。参照:2-3節

問42. 顧客テーブルの電話番号列について、権限のあるロールにはそのまま表示し、それ以外のロールにはマスクした値を表示したい。この要件に適した機能と必要な最低エディションの組み合わせはどれか。

解説:列の値をロールに応じてマスク表示するのは動的データマスキングであり、Enterpriseエディション以上で利用できる。行アクセスポリシー(A)は行の表示可否を制御する機能で、列のマスキングではない。動的データマスキングはStandardでは利用できないためBは誤り。Tri-Secret Secure(D)は暗号化キー管理の機能で、かつBusiness Criticalの機能である。参照:2-4節

問43. 営業担当者が売上テーブルをクエリした際、自分の担当地域の行だけが返るように制御したい。この要件に適した機能はどれか。

解説:行アクセスポリシーは、クエリ実行者のロールなどの条件に基づいて表示される行をフィルタする機能で、Enterprise以上で利用できる。動的データマスキング(B)は列の値のマスクであり行の制御はできない。ネットワークポリシー(C)は接続元IPの制御、リソースモニター(D)はクレジット監視であり、行レベルのアクセス制御とは無関係。参照:2-4節

問44. 組織内の個人情報を含む列を「PII」として分類し、対象オブジェクトの追跡やアクセス監査に活用したい。この目的に適したガバナンス機能はどれか。

解説:オブジェクトタグはテーブルや列などにキーと値のメタデータを付与する機能で、機密データの分類・追跡やコスト配賦に活用できる。タグはマスキングポリシーと組み合わせることも可能である。リソースモニター(A)はクレジット監視、マルチクラスタウェアハウス(B)は同時実行性能、Time Travel(C)は過去データの参照・復元の機能であり、データ分類の目的には合わない。参照:2-4節

問45. Snowflakeの保存データの暗号化キー管理に関する説明として、最も適切なものはどれか。

解説:Snowflakeは階層型キーモデルを採用し、キーは30日ごとに自動ローテーションされる。キーは自動的に更新されるためAは誤り。キー管理はSnowflakeが行い、顧客がキー管理を組み合わせたい場合はTri-Secret Secure(Business Critical)を利用するのであってBは誤り。保存データの暗号化は全エディションで標準提供されるためDも誤り。参照:2-5節

問46. Snowflakeの暗号化に関する説明として、正しいものを2つ選べ。

解説:AとCが正解。Snowflakeでは保存データが常にデフォルトで暗号化され、Tri-Secret Secureでは顧客管理キーとSnowflake管理キーによる複合マスターキーを構成する。暗号化は標準機能で既定が平文ということはなくBは誤り。通信もTLSで暗号化されるためDは誤り。Tri-Secret SecureはBusiness Critical以上の機能のためEも誤り。参照:2-5節

問47. 月次のクレジット消費に上限の目安を設け、超過時に通知やウェアハウス停止を行うリソースモニターを作成できるロールはどれか。

解説:リソースモニターを作成できるのはACCOUNTADMINである(作成後、他ロールに閲覧・変更の権限を付与することは可能)。PUBLIC(B)、USERADMIN(C)、一般のカスタムロール(D)はリソースモニターを作成できない。参照:2-6節

問48. リソースモニターのアクションのうち、「実行中のクエリの完了を待ってからウェアハウスを停止する」動作をするものはどれか。

解説:SUSPENDは実行中のクエリの完了を待ってからウェアハウスを停止する。NOTIFY(A)は通知のみで停止は行わない。SUSPEND_IMMEDIATE(C)は実行中のクエリをキャンセルして即時停止する。TERMINATE(D)というアクションはリソースモニターには存在しない。参照:2-6節

問49. SNOWFLAKEデータベースのACCOUNT_USAGEスキーマに関する説明として、最も適切なものはどれか。

解説:ACCOUNT_USAGEは365日分の履歴を保持し、ビューに応じて45分〜3時間程度の反映遅延がある。またドロップ済みオブジェクトの情報も含まれる。遅延なし(A)はINFORMATION_SCHEMAの特徴。保持期間7日(B)は誤りで、たとえばINFORMATION_SCHEMAのQUERY_HISTORYなどの方が短い保持となる。ドロップ済みを参照できない(C)のはINFORMATION_SCHEMAの特徴である。参照:2-7節

問50. INFORMATION_SCHEMAに関する説明として、正しいものを2つ選べ。

解説:AとDが正解。INFORMATION_SCHEMAは遅延なく最新の情報を参照でき、ドロップ済みオブジェクトは含まれない。365日保持(B)とドロップ済みの参照(C)はACCOUNT_USAGEの特徴であり、INFORMATION_SCHEMAの保持期間はより短い。INFORMATION_SCHEMAは各データベースに存在し、アクセス可能なオブジェクトの範囲で一般のロールからも参照できるためEは誤り。参照:2-7節

問51. 監査対応のため、約10か月前に実行されたクエリの履歴を調査する必要がある。参照すべき情報源として最も適切なものはどれか。

解説:ACCOUNT_USAGEのQUERY_HISTORYビューは365日分の履歴を保持するため、10か月前のクエリ調査に適している。INFORMATION_SCHEMAのQUERY_HISTORY(A)は保持期間が短く10か月前の履歴は参照できない。ローカルディスクキャッシュ(C)や結果キャッシュ(D)は性能向上のための仕組みであり、履歴の調査には使えない。参照:2-7節

ドメイン3:データロード・アンロードと接続(問52〜69)

問52. あるデータエンジニアが、テーブル ORDERS に付属するテーブルステージにあるファイルの一覧を確認したい。LIST コマンドで指定するステージ参照として正しいものはどれか。

解説:テーブルステージは「@%テーブル名」で参照する。Aの「@ステージ名」は名前付きステージ、Cの「@~」はユーザーステージの参照方法であり、Dのような構文は存在しない。参照:3-1節

問53. ローカルPC上のCSVファイルを内部ステージにアップロードするために PUT コマンドを使用する。PUT コマンドの動作として正しいものはどれか。

解説:PUTはローカルファイルを内部ステージへアップロードするコマンドで、既定で自動的にgzip圧縮が適用される。Aは誤りで、外部ステージへのファイル配置はクラウドプロバイダ側のツールで行う。Bは既定の自動圧縮に反する。Dは逆方向のGETコマンドの説明である。参照:3-1節

問54. クラウドストレージ上のバケットを外部ステージとして利用する際、アクセスキーなどの資格情報をSQL文に直接記載せずに安全に接続する方法として最も推奨されるものはどれか。

解説:ストレージ統合を使うと、クラウド側のIAMロール等に委任する形で資格情報をSnowflake側に秘匿でき、SQLにキーを書く必要がなくなる。BはキーがDDLに残るため非推奨。Cはクライアント接続元の制御、Dは列データのマスキング機能であり、ステージの認証とは無関係である。参照:3-1節

問55. COPY INTO によるロードとロードメタデータについて、正しい記述はどれか。(2つ選べ)

解説:COPY INTOのロードメタデータは64日間保持され、同一ファイルの再ロードを既定で防止する(A)。再ロードが必要な場合は FORCE=TRUE で可能(D)。したがってBの「無期限」とCの「再ロード不可」は誤り。ロードメタデータはテーブルに紐づき、ウェアハウス単位ではないためEも誤り。参照:3-2節

問56. COPY INTO 実行時に ON_ERROR オプションを指定しなかった場合の既定の動作はどれか。

解説:ON_ERROR の既定値は ABORT_STATEMENT で、エラー検出時にステートメント全体が中断される。A・C・Dはいずれも明示的に指定した場合にのみ有効となる動作である(なお Snowpipe では既定が SKIP_FILE と異なる点にも注意)。参照:3-2節

問57. 本番テーブルへロードする前に、ステージ上のファイルを実際にはロードせずにエラーの有無だけを確認したい。COPY INTO で使用するオプションはどれか。

解説:VALIDATION_MODE を指定すると、データをロードせずにファイルの検証だけを行い、エラー内容を返せる。Aはロードを実行しつつエラー行をスキップする設定、Bは列名でのマッピング、Cはロード成功後にステージのファイルを削除するオプションであり、いずれも「ロードせず検証」はできない。参照:3-2節

問58. COPY INTO で効率よくロードするために推奨されるファイルサイズの目安として最も適切なものはどれか。

解説:推奨は圧縮後100〜250MB程度で、これにより並列ロードが効率的に行われる。Aのような小さすぎるファイルは並列度あたりの効率とオーバーヘッドの面で不利、Dの巨大単一ファイルは並列化できず遅くなる。Bの16MBは旧仕様のVARIANT値上限に由来する数字で、ファイルサイズの推奨値ではない(現在のVARIANT上限は128MB(非圧縮))。参照:3-2節

問59. Snowpipe を AUTO_INGEST=TRUE で構成した場合、新しいファイルの到着はどのように検知されるか。

解説:AUTO_INGEST=TRUE では、クラウドストレージ側のイベント通知(キューやトピック経由)でファイル到着が通知され、自動的にロードされる。もう一つの方式はREST APIによる通知である。Bのようなウェアハウスによるポーリングは行われず、Cでは自動化にならない。DのStreamはテーブルの変更を追跡するオブジェクトで、ファイル検知には使わない。参照:3-3節

問60. Snowpipe のコンピュートリソースと課金について正しい記述はどれか。

解説:Snowpipe はユーザーのウェアハウスを使わないサーバーレスのサービスで、使用したコンピュートに加えてファイル1つあたりのオーバーヘッドが課金される。このため極端に小さいファイルを大量に流すとコスト効率が悪くなる。A・B・Cはいずれもこの仕組みに反する。参照:3-3節

問61. Snowpipe Streaming の特徴として正しい記述はどれか。(2つ選べ)

解説:Snowpipe Streaming はファイルステージングを経由せず行単位で直接書き込む方式で(B)、ファイルベースの Snowpipe より低レイテンシを実現できる(E)。AとCはファイルベースの通常の Snowpipe の説明に近く、Streaming には当てはまらない。Dはサーバーレスであるため誤り。参照:3-3節

問62. Snowpipe のロード履歴(重複ロード防止に使われるメタデータ)が保持される期間はどれか。

解説:Snowpipe のロード履歴は14日間保持される。Aの64日は COPY INTO によるバルクロードのロードメタデータの保持期間であり、混同しやすいので区別して覚える。CとDに該当する仕様はない。参照:3-3節

問63. 外部テーブルの変更を追跡するために作成できる Stream の種類はどれか。

解説:外部テーブルに作成できるのは insert-only ストリームのみである。standard(INSERT/UPDATE/DELETEすべてを追跡)と append-only(INSERTのみ追跡)は通常のテーブル向けの種類であり、Dのような種類は存在しない。参照:3-4節

問64. テーブルに作成した Stream のオフセット(読み取り位置)が前進するのはどのタイミングか。

解説:Stream のオフセットは、Stream を DML 文で消費するトランザクションがコミットされた時点で前進する。Bの単なる SELECT ではオフセットは動かないため、何度でも同じ差分を参照できる。CやDのような手動更新・時間経過による前進の仕組みはない。参照:3-4節

問65. CREATE TASK でタスクを作成した直後の状態と、実行を開始するために必要な操作の組み合わせとして正しいものはどれか。

解説:タスクは作成直後はサスペンド状態であり、ALTER TASK ... RESUME を実行しない限りスケジュールされない。「作成したのに動かない」という典型的なつまずきポイントである。A・B・Cはいずれもこの仕様に反する。参照:3-4節

問66. 複数のタスクを連携させてパイプライン(DAG)を構成する場合のスケジュール設定として正しいものはどれか。

解説:DAG ではスケジュールを持つのはルートタスクだけで、子タスクは AFTER 句で先行タスクを指定して連結する。A・Cのように子タスクへ SCHEDULE を設定することはできず(SCHEDULE と AFTER は排他)、Dは AFTER による DAG 構成が可能である事実に反する。参照:3-4節

問67. Stream に新しい差分データがあるときだけタスクを実行し、データがない場合の無駄なウェアハウス起動を避けたい。タスクの WHEN 句に指定する関数はどれか。

解説:WHEN SYSTEM$STREAM_HAS_DATA('ストリーム名') を指定すると、Stream に消費すべきデータがあるときだけタスク本体が実行され、コストを節約できる。Aは Snowpipe の状態確認、Bはタスクの依存関係の確認、Dはクラスタリング状態の確認に使う関数である。参照:3-4節

問68. 変換パイプラインを「結果テーブルの定義と鮮度目標を宣言するだけ」で構築し、リフレッシュ処理の管理を Snowflake に任せたい。最も適切なオブジェクトはどれか。

解説:Dynamic Table はクエリ定義と TARGET_LAG(または下流に合わせる DOWNSTREAM)を宣言するだけで、増分リフレッシュとフルリフレッシュの選択を含めて Snowflake が自動管理する。BやDでも実現はできるが「宣言的で管理を任せる」要件には合わない。Cはストレージ上のファイルを参照する仕組みで変換パイプラインではない。参照:3-5節

問69. COPY INTO @stage によるデータのアンロードについて、正しい記述はどれか。(2つ選べ)

解説:アンロードの既定は SINGLE=FALSE の複数ファイル出力(A)で、HEADER=TRUE によりヘッダー行を付与できる(C)。既定の形式はgzip圧縮されたCSVでありBは誤り。ローカルへ取り出すには COPY INTO @stage でアンロードした後に GET でダウンロードする2段階が必要でDは誤り。PARTITION BY 句で列の値に基づいた出力分割も可能なためEも誤り。参照:3-6節

ドメイン4:パフォーマンス最適化・クエリ・変換(問70〜90)

問70. Query Profile を確認したところ、大規模な集計クエリで「Bytes spilled to remote storage」が多く発生していた。最も効果的な対策はどれか。

解説:spill はメモリ不足によりデータがローカルディスク、さらにリモートストレージへ書き出される現象で、対策は1クエリあたりのメモリを増やすスケールアップである。Aのスケールアウトは同時実行数(キューイング)対策であり単一クエリのメモリは増えない。Cは同一クエリの再実行にしか効かず、Dはコスト管理の設定でありパフォーマンスとは無関係。参照:4-1節

問71. 業務時間帯に多数のユーザーが同時にクエリを実行し、Query Profile や履歴でキューイング(queued)の時間が長いことが判明した。最も適切な対策はどれか。

解説:キューイングは同時実行数が処理能力を超えているサインであり、クラスタを追加して並列度を上げるスケールアウトが有効。Aのサイズアップは個々のクエリを速くするがキュー解消の直接策ではない。Bはコストが増えるだけで根本対策にならず、Cはポイントルックアップ高速化の機能で同時実行数の問題には効かない。参照:4-1節、4-3節

問72. Query Profile で「Partitions scanned」が「Partitions total」に比べて大幅に少ない値になっていた。これは何を意味するか。

解説:scanned/total の比率が小さいほど、フィルタ条件によってスキャン対象のマイクロパーティションが効率的に絞り込まれている(プルーニングが効いている)ことを示す。Bのspillは別の指標に表れる。Cの結果キャッシュヒット時はそもそもスキャン自体が発生しない。Dはむしろ scanned が total に近い(絞り込めていない)場合に検討する事項である。参照:4-1節

問73. クエリ結果キャッシュ(result cache)について、正しい記述はどれか。(2つ選べ)

解説:結果キャッシュはクラウドサービス層に24時間保持され(B)、基データが変わると無効になり再利用されない(D)。Aはウェアハウスキャッシュの説明であり誤り。クラウドサービス層から返るためウェアハウス不要でCは誤り。権限があれば別ユーザー・別セッションのクエリでもヒットし得るためEも誤り。参照:4-2節

問74. 夜間にサスペンドされていたウェアハウスを朝に再開したところ、前日は高速だった同じテーブルへのクエリが初回だけ遅かった。最も可能性の高い原因はどれか。

解説:ウェアハウスキャッシュ(ローカルディスクキャッシュ)はサスペンドで失われるため、再開直後はリモートストレージからデータを読み直す分だけ遅くなる。Aは条件が合えば24時間以内の同一クエリに効く別の仕組み。Bのメタデータはクラウドサービス層で維持され消えない。DのTime Travelは過去データ参照の機能で通常クエリの速度とは無関係。参照:4-2節

問75. ウェアハウスがサスペンド状態のまま、初めて実行する SELECT COUNT(*) FROM sales; が即座に結果を返した。この動作を説明するものはどれか。

解説:COUNT(*) や MIN/MAX のような集計は、マイクロパーティションごとに保持される統計メタデータからウェアハウスを起動せずに回答できる。「初めて実行する」クエリなのでBの結果キャッシュは該当しない。Cはウェアハウス稼働が前提であり、Dのような動作でもクレジット消費の痕跡が残るはずで説明として不適切。参照:4-2節

問76. 仮想ウェアハウスを使用せずに(クレジットを消費せずに)結果が返る可能性がある操作はどれか。(2つ選べ)

解説:メタデータキャッシュによる統計応答(C)と、クラウドサービス層の結果キャッシュへのヒット(E)はいずれもウェアハウスなしで結果が返る。A・B・Dのような実データのスキャンや行単位の計算を伴う初回クエリは、必ずウェアハウスのコンピュートを必要とする。参照:4-2節

問77. 数十億行のテーブルに対し、特定の会員IDを等値条件で指定して数行だけを返す検索が多発している。クラスタリングキーとは無関係な列のため、プルーニングが効かず遅い。最も適切な機能はどれか。

解説:検索最適化サービスは大テーブルへのポイントルックアップ(等値検索など)を高速化する機能で、この要件に合致する(Enterprise以上)。Aは集計の事前計算向きで任意IDの検索には不向き。Cは同一クエリの再実行にしか効かず、検索されるIDが毎回異なる場合はヒットしない。Dは逆効果である。参照:4-4節

問78. マテリアライズドビュー(MV)について正しい記述はどれか。

解説:MVは単一テーブルに対する集計・射影を事前計算し、自動メンテナンスで最新化される(Enterprise以上)。AのJOINは定義できない。Bの手動リフレッシュは不要(自動メンテナンスがMVの特長)。CはEnterprise以上限定である点に反する。参照:4-4節

問79. 次の機能のうち、Enterprise エディション以上を必要とするものはどれか。(2つ選べ)

解説:検索最適化サービス(A)とQAS(D)はEnterprise以上で利用できる機能である(マテリアライズドビューも同様)。ゼロコピークローン(B)、既定1日のTime Travel(C)、Snowpipe(E)はStandardエディションでも利用できる。参照:4-3節、4-4節

問80. 通常は軽いクエリが中心のウェアハウスに、ときどき大規模スキャンを伴うアドホッククエリが混ざる。ウェアハウスサイズを常時大きくせずに、大規模スキャン部分だけを高速化したい。最も適切な機能はどれか。

解説:QASは大規模スキャンなどの重い処理部分をサーバーレスコンピュートへオフロードし、ウェアハウス本体のサイズを上げずに対応できる(Enterprise以上)。Aは同時実行数対策であり単一の重いクエリには効かない。Bはアドホック(毎回異なる)クエリにはヒットしにくい。Dは特定の絞り込みパターンに合わせた恒常的な対策で「ときどきのアドホック」要件には合わない。参照:4-3節

問81. VARIANT 型の1つの値として格納できるデータサイズの上限(非圧縮)はどれか。

解説:VARIANT値1件あたりの上限は非圧縮データで最大128MBである(内部オーバーヘッドの影響で実効上限はこれをわずかに下回る場合がある)。Bの16MBはかつての上限で、現在は廃止された旧仕様の値である(古い教材や過去の試験問題では16MBと記載されていることがあるため注意)。A・Dも誤り。参照:4-5節

問82. VARIANT 列 src に {"customer": {"name": "Sato"}} のようなJSONが格納されている。name の値を STRING 型として取り出す構文はどれか。

解説:VARIANTのパス走査は「列名:パス」で始め、キャストは「::型」で行うため、src:customer.name::string が正しい。Bは最初の区切りにコロンを使っていない点が誤り。Cは::がキャスト演算子でありパス走査には使えない。DのJSON_VALUEはこの用途の標準的な構文ではない。参照:4-5節

問83. VARIANT 列内のJSON配列の各要素を、それぞれ1行に展開してリレーショナルに扱いたい。使用する機能はどれか。

解説:LATERAL FLATTEN は半構造化データの配列やオブジェクトを行に展開するテーブル関数である。AのUNPIVOTは列を行に変換するリレーショナル操作、BのARRAY_AGGは逆に行を配列へ集約する関数、CのOBJECT_CONSTRUCTはオブジェクトを組み立てる関数であり、いずれも配列の行展開はできない。参照:4-5節

問84. ファイル全体が1つの大きなJSON配列([ {...}, {...}, ... ])になっているファイルを、要素ごとに1行としてロードしたい。ファイルフォーマットに指定するオプションはどれか。

解説:STRIP_OUTER_ARRAY=TRUE は外側の配列を取り除き、配列の各要素を個別の行としてロードする。指定しない場合は配列全体が1つのVARIANT値となり、128MB(非圧縮)上限に抵触しやすい。Aはnull値の除去、Cは文字コードエラーの無視、Dは空白の除去に関するオプションである。参照:4-5節

問85. 顧客ごとに最新の注文1件だけを取得するため、ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_date DESC) の結果が1の行に絞り込みたい。サブクエリを使わずにウィンドウ関数の結果で直接フィルタできる句はどれか。

解説:QUALIFY はウィンドウ関数の結果に対するフィルタ専用の句で、QUALIFY ROW_NUMBER() ... = 1 のように書ける。AのHAVINGは集約(GROUP BY)結果へのフィルタ、BのWHEREはウィンドウ関数より前に評価されるため直接は使えず、Dはグループ化の句でフィルタではない。参照:4-6節

問86. ステージ上の非構造化ファイルへアクセスするためのURL生成関数について、正しい記述はどれか。(2つ選べ)

解説:GET_PRESIGNED_URL は期限付き・認証不要のURL(A)、BUILD_STAGE_FILE_URL は永続的だがステージ権限を要するURL(E)を生成する。BUILD_SCOPED_FILE_URL は一時的かつ権限に連動するURLなのでB(関数の取り違え)とCは誤り。期限の有無は関数ごとに異なるためDも誤り。参照:4-6節

問87. SAMPLE 句によるサンプリングについて正しい記述はどれか。

解説:BERNOULLI(ROW)は各行を確率的に選ぶ行単位方式で統計的に均質、SYSTEM(BLOCK)はブロック単位で選ぶため高速だが偏りが出やすい。AとBは方式の説明が逆であり、Cは両者の粒度が異なる事実に反する。参照:4-6節

問88. 数十億行のアクセスログからユニークユーザー数の概算を高速に求めたい。厳密な値でなくてよい場合に最も適切な関数はどれか。

解説:APPROX_COUNT_DISTINCT は HyperLogLog による近似カウントで、大規模データでは厳密な COUNT(DISTINCT) より高速・低メモリで動作する。Bは大規模データではむしろ重くなる。Cは重複を除外せず、DはIDの合計であってユーザー数ではない。参照:4-6節

問89. ステージングテーブルの内容を本体テーブルへ反映する際、「キーが一致する行は更新、存在しない行は挿入」を1つのSQL文で実行したい。使用する文はどれか。

解説:MERGE 文は WHEN MATCHED / WHEN NOT MATCHED の分岐により、更新と挿入(および削除)を1文で実行できる(いわゆるupsert)。Aは全件入れ替え、Bはステージのファイルをロードするコマンド、Dはテーブルの再作成であり、いずれもキー単位の条件分岐反映はできない。参照:4-7節

問90. ストアドプロシージャの実行権限モデルについて、EXECUTE AS を指定せずに作成した場合の既定はどれか。

解説:ストアドプロシージャの既定は owner's rights であり、プロシージャ所有者の権限で実行される。呼び出し元の権限で実行したい場合は EXECUTE AS CALLER を明示する必要がある(A)。CやDのように特定ロールに固定される仕様はない。参照:4-7節

ドメイン5:データコラボレーション(問91〜100)

問91. Time Travel のデータ保持期間について正しい記述はどれか。

解説:Time Travel の既定は1日で、Enterprise エディション以上の permanent テーブルなら DATA_RETENTION_TIME_IN_DAYS を最大90日まで設定できる。Aは延長可能である点に反し、Bの7日は Fail-safe の期間との混同、Dの365日という上限は存在しない。参照:5-1節

問92. 運用担当者が誤って本番テーブルを DROP してしまった。Time Travel の保持期間内である場合、最も簡単に復元する方法はどれか。

解説:Time Travel 保持期間内であれば UNDROP TABLE 1文でテーブルを復元できる。Bの Fail-safe はユーザーが直接操作できず、Snowflakeへの依頼が必要な最終手段である。Cは仕組みとして成立せず(PUTはファイルのアップロード)、Dは UNDROP が存在するため誤り。参照:5-1節

問93. Fail-safe について正しい記述はどれか。(2つ選べ)

解説:Fail-safe は Time Travel 終了後に始まる7日間の固定期間で(B)、permanent テーブルのみが対象、復旧は Snowflake への依頼によってのみ行える(D)。ユーザーがSQLで直接操作できないためAは誤り。temporary/transient テーブルには Fail-safe がなくCは誤り。Time Travel とは別の連続した期間でありEも誤り。参照:5-1節

問94. 検証環境を用意するため、10TBの本番テーブルを CREATE TABLE ... CLONE で複製した。この操作について正しい記述はどれか。

解説:クローンはゼロコピー(メタデータ操作)で、作成時点では元テーブルと同じマイクロパーティションを共有するため追加ストレージがほぼ発生しない。以後どちらかに変更が加わった差分だけが新たなストレージを消費する。Aは物理コピーが起きない点に反し、Bのような同期はなく作成時点のスナップショットで独立し、Cのようにread-onlyにもならない(クローンへは自由に書き込める)。参照:5-2節

問95. ゼロコピークローンの制約・仕様として正しい記述はどれか。(2つ選べ)

解説:外部テーブル(A)はクローン対象外である。内部の名前付きステージは既定ではクローンに含まれないが、DB/スキーマのクローン時に INCLUDE INTERNAL STAGES を指定すれば含められる(C)。クローンされたオブジェクト自体は元の権限を引き継がないためBは誤り(一方、データベースやスキーマをクローンした際の内部の子オブジェクトは権限を引き継ぐのでEも誤り)。AT/BEFORE句を併用した過去時点のクローンは可能でありDも誤り。参照:5-2節

問96. Secure Data Sharing(直接共有)について正しい記述はどれか。(2つ選べ)

解説:共有はデータのコピーを伴わない読み取り専用のアクセスであり(B)、クエリ実行のコンピュートはコンシューマ側のウェアハウスで課金される(E)。書き込みはできないためAは誤り。データは移動せずプロバイダのストレージを参照するためコンシューマにストレージ費用は発生せずCも誤り。受け取った共有の再共有はできないためDも誤り。参照:5-3節

問97. Snowflakeアカウントを持たない取引先にデータを共有するためリーダーアカウントを利用する。正しい記述はどれか。

解説:リーダーアカウントはプロバイダが作成・管理する読み取り専用の環境で、そこで発生するコンピュート費用はプロバイダに請求される。Aは費用負担者が逆。Cは読み取り専用である点に反する。Dのようなエディション要件はない(Business Criticalが必要なのはレプリケーションのフェイルオーバー機能)。参照:5-3節

問98. 別のクラウドリージョンにあるアカウントへデータを提供したい。正しい対応はどれか。

解説:直接共有は同一リージョン・同一クラウド内が前提であり、クロスリージョンではリスティング(クロスクラウド自動フルフィルメント)を使うか、レプリケーションでデータを相手リージョンへ複製したうえで共有する。Aは前提に反し、Bは手段が存在するため誤り。Cはファイル連携でありデータ共有機能の使い方として不適切。参照:5-4節、5-5節

問99. 社外へのデータ共有にあたり、基になるテーブルの定義や抽出ロジックを相手に見せず、公開してよい行だけを提供したい。共有するオブジェクトとして最も適切なものはどれか。

解説:セキュアビューは定義(SQLロジック)を参照者から隠し、最適化による意図しない情報漏えいも防ぐため、共有での利用が推奨される。Bの標準ビューは定義が見える可能性があり共有に組み込めない。Cは不要な行や列まで公開されてしまう。Dはファイル置き場でありデータ共有のオブジェクトではない。参照:5-3節

問100. 災害対策として別リージョンへのレプリケーションを構成する。正しい記述はどれか。

解説:レプリケーションはプライマリからセカンダリへの複製で、セカンダリは読み取り専用となる。障害時に役割を切り替えるフェイルオーバー/フェイルバック機能は Business Critical 以上で利用できる。Aはセカンダリがread-onlyである点に反し、Bはエディション要件に反する。クロスリージョン・クロスクラウドで構成できるためDも誤り。参照:5-5節