Snowflake

SnowPro Core認定の試験ガイド対策

SnowPro Core 認定は対策本や対策サイトみたいなものはないのでここは基本通り試験ガイドに沿ってのマニュアルやネット情報の参照、検証作業で行くしかないと踏んだのでメモします。

SnowPro Core 認定試験ガイド


1.0 分野:アカウントとセキュリティ

1.1 Snowflakeアカウントを管理する方法について説明する。

1.2 セキュリティの原則の概要を説明する。

  • 多要素認証(MFA)

  • データ暗号化

    • エンドツーエンド暗号化

      • AES256暗号化
        • エンドツーエンド暗号化(E2EE)は、データを保護する方法であり、保存データまたはSnowflakeとの間で転送中のデータを暗号化する
    • CloudHSMを使った階層型キーモデル

    • 自動ローテーション

      • Snowflakeが管理するキーすべては、30日以上経過するとSnowflakeによって自動的にローテーションされる。
    • Tri-Secret Secure

      • Snowflakeアカウントをホストするクラウドプロバイダープラットフォームで、Snowflakeが管理するキーと顧客が管理するキーを組み合わせて、Snowflakeデータを保護するための複合マスターキーを作成する機能
      • 利用のためにはサポートへの連絡が必要
      • Business Criticalエディション以上
    • データ暗号化 — Snowflake Documentation

    • Snowflakeのデータ保護(暗号化)についてお勉強してみた #SnowflakeDB | DevelopersIO

  • ネットワークセキュリティとポリシー

  • アクセス制御

    • Snowflakeのアクセス制御 — Snowflake Documentation

      • 任意アクセス制御(DAC): 各オブジェクトに所有者がおり、所有者はそのオブジェクトへのアクセスを許可できます。

      • ロールベースのアクセス制御(RBAC): アクセス権限がロールに割り当てられ、ロールはユーザーに割り当てられます。

      • image-20220813112327924

      • システム定義のロール

        • ロール名 役割 説明
          SYSADMIN アカウントでウェアハウスとデータベース(およびその他のオブジェクト)を作成する権限を持つロール
          ORGADMIN 組織レベルで運用を管理するロール ・組織内に アカウントを作成 できます。 ・組織内のすべてのアカウント(SHOW ORGANIZATION ACCOUNTS を使用)と、組織で有効になっているすべてのリージョン(SHOW REGIONS を使用)を表示できます。 ・組織全体の 使用情報 を表示できます。
          ACCOUNTADMIN SYSADMIN および SECURITYADMIN システム定義のロールをカプセル化するロール システムの最上位のロールであり、アカウント内の限られた/制御された数のユーザーにのみ付与する必要がある ・アカウントでウェアハウスとデータベース(およびその他のオブジェクト)を作成する権限を持つロール ・オブジェクトの付与をグローバルに管理し、ユーザーとロールを作成、モニター、管理できるロール
          SECURITYADMIN オブジェクトの付与をグローバルに管理し、ユーザーとロールを作成、モニター、管理できるロール ・MANAGE GRANTS セキュリティ権限が付与されており、付与の取り消しを含め、あらゆる付与を変更できます。 ・システムロール階層を介して USERADMIN ロールの権限を継承します(つまり、 USERADMIN ロールを SECURITYADMIN に付与)。
          USERADMIN ユーザーとロールの管理のみに専用のロール ・CREATE USERおよびCREATE ROLEのセキュリティ権限が付与されています。 ・アカウントにユーザーとロールを作成できます。
          PUBLIC アカウント内のすべてのユーザーおよびすべてのロールに自動的に付与される疑似ロール 通常、このロールは、明示的なアクセス制御が不要で、すべてのユーザーがアクセスに関して平等であると見なされる場合に使用されます。
  • フェデレーション認証

  • シングルサインオン(SSO)

1.3 Snowflakeで使用されるエンティティとロールを定義する。

  • 権限を付与および取り消す方法の概要を説明する

    CREATE ROLE test_role;
    GRANT USAGE ON DATABASE citibike TO ROLE test_role;
    GRANT USAGE ON DATABASE weather TO ROLE test_role;
    
    revoke role aaaa from role vvvv;
    

    ロールの階層と権限の継承について説明する

1.4 Snowflakeの各エディションに関連するセキュリティ機能について説明する。

2.0 分野:仮想ウェアハウス

2.1 コンピューティングの原則の概要を説明する。

2.2 仮想ウェアハウスのベストプラクティスを説明する。

3.0 分野:データ移動

3.1 データのロードに使用されるさまざまなコマンドと、それらをいつ使用する必要があるかについての概要を説明する。

  • COPY

  • INSERT

    • ???
      • INSERT INTO xxxx SELECT ~~?
  • PUT

  • GET

    • PUTとGETは内部ステージとデータのやり取りをする際に使用
  • VALIDATE

    • VALIDATE — Snowflake Documentation

    • COPY INTO <テーブル> コマンドの過去の実行でロードされたファイルを検証し、最初のエラーだけでなくロード中に発生したすべてのエラーを返す関数

    • select * from table(validate(t1, job_id => '_last'));
      

3.2 連続データロード方法と比較してバルクを定義する。

3.3 データをロードするときに考慮すべきベストプラクティスを定義する。

3.4 Snowflakeからローカルストレージまたはクラウドストレージの場所にデータをアンロードする方法の概要を説明する。

3.5 半構造化データの操作方法とロード方法を説明する。

4.0 分野:パフォーマンス管理

4.1 ストレージでのSnowflakeパフォーマンス管理のベストプラクティスの概要を説明する。

  • クラスタリング

    • クラスタリングキーとクラスタ化されたテーブル — Snowflake Documentation
    • Snowflake側でもクラスタリングすることができるが、ユーザ側でも特定のキーをクラスタリングキーと指定することでクラスタリングが可能。
    • すべてのテーブルで推奨されるものではない。追加のコストが必要となる。
      • コストに関係なく、可能な限り最速の応答時間が必要。
      • クエリパフォーマンスの向上により、テーブルのクラスター化と維持に必要なクレジットが相殺される。
  • マテリアライズドビュー

  • 検索最適化

4.2 仮想ウェアハウスでのSnowflakeパフォーマンス管理のベストプラクティスの概要を説明する。

5.0 分野:Snowflakeの概要とアーキテクチャ

5.1 Snowflakeのクラウドデータプラットフォームの主要コンポーネントの概要を説明する。

  • データ型
  • オプティマイザー
  • 継続的なデータ保護
  • クローニング
  • キャッシングのタイプ
  • ウェブインターフェイス(UI)
  • データクラウド/データ共有/ Data Marketplace/Data Exchange

5.2 Snowflakeデータ共有機能の概要を説明する。

  • アカウントタイプ
  • Data MarketplaceとData Exchange
  • アクセス制御オプション
  • 共有

5.3 Snowflakeが従来のウェアハウスソリューションとどのように異なるかを説明する。

  • エラスティックストレージ
  • エラスティックコンピューティング
  • アカウント管理

5.4 利用可能なさまざまなエディションと、各エディションに関連する機能の概要を説明する。

5.5 Snowflakeのパートナーエコシステムを特定する

  • クラウドパートナー
  • コネクタ

5.6 Snowflakeの3つの異なるレイヤーの目的の概要を説明し、定義する。

  • ストレージレイヤー
  • コンピューティングレイヤー
  • クラウドサービスレイヤー

5.7 Snowflakeのカタログとオブジェクトの概要を説明する。

  • データベース
  • スキーマ
  • テーブルタイプ
  • ビュータイプ
  • データ型
  • 外部関数

6.0 分野:ストレージと保護

6.1 Snowflakeストレージの概念の概要を説明する。

  • マイクロパーティション
  • メタデータ型
  • クラスタリング
  • データストレージ
  • ステージタイプ
  • ファイル形式
  • ストレージモニタリング

6.2 Snowflakeによる継続的なデータ保護の概要を説明する。

追記

(8/27 追記)なんとか合格できました。

image-20220827204701430

GitHubで編集を提案