Open6

Snowflake学習メモ

ステラステラ

学習コンテンツ

Udemy: Snowflakeによるデータエンジニアリング基礎

理解するコンテンツ:

  • Snowflakeの概要を理解する
  • 実際に動かして、Snowflakeの動作を理解する
  • アクセスコントロール

データウェアハウスとは

大量のデータを長期保存するために最適化されたデータサーバ

  • データ処理の流れ:
    データはすべて入れる(非構造化・構造化等、形式は問わない。ローデータのまま格納する)
データソース・データレイク
↓
データウェアハウス
↓
データマート
↓
可視化ツール

メタデータ

格納するデータの管理目的、利用目的を明確にするためにメタデータを管理する。

  • データ定義:テーブル名・列名・型等を整理
  • データリネージ:データの生成場所やデータの流れを整理
  • データ鮮度:いつどの断面なのかを整理
  • データセキュリティ:アクセス権限を整理
  • データオーナー:データ生成・管理部門は誰なのかを整理

Snowflakeの特徴

処理性能

コンピューティングリソースの柔軟性がある

運用

タイムトラベル、マルチクラウド対応、サードパーティツールとの連携

データ

共有、プロバイダとの連携

コスト

従量課金、ウェアハウスのサイズで課金
無料枠あり

shared nothing

分散システムにおいて、各ノードが個別にストレージにアクセスして計算を行う方法。ノード・ストレージの対応が決まっている

マイクロパーティション

小さい単位でデータに分割して保存されてているため、高速処理できる。
データを細かくすることで、不要な読み込みを発生させないで高速で処理する。

キャッシュ

  • クエリキャッシュ
  • メタデータキャッシュ
  • データキャッシュ
ステラステラ

Snowflakeの日本語化

アカウントアイコンをクリックしSettingsを選択 > Preferencesを選択すると、Languageのプルダウンから日本語を選択できる。
language

ステラステラ

Snowflakeの構造

データ構造

Organization

Account

データベース

スキーマ

テーブル

データロードの考え方

  • バッチ処理…定期バッチ。COPY INTOコマンドによりバルクロード
  • ストリーム処理…リアルタイム処理。Kafka、Snowpipe Streamingを用いて行単位で取り込む

データベース作成>スキーマ作成してインポートできる。
インポート時にカラム情報も設定できる。

コンピュート

データ分析を行うWHを作成できる。タイプとサイズを指定して作成する。
※このタイプとサイズの選択で利用されるクレジットが変わってくるので注意。
また、自動停止機能がデフォルトでオン(5分)になっているので、一度起動したからずっと起動しっぱなしということはない。

操作

標準SQLをつかって 操作できる。

WHを作成

-- WH Create
CREATE WAREHOUSE PRACTICE_WH WITH
    WAREHOUSE_SIZE = 'X-SMALL'
    AUTO_SUSPEND = 180
    AUTO_RESUME = TRUE
    INITIALLY_SUSPENDED = TRUE;

データベース作成

CREATE OR REPLACE DATABASE PRACTICE_DB;

OR REPLACEはもしすでに同様のDBがあったら置き換える処理を実施。

スキーマ作成

CREATE SCHEMA SAMPLE_SCHEMA;
ステラステラ

アクセスコントロール

  • 任意のアクセス制御…オブジェクトに対して、ユーザーのアクセス権を付与
  • ロールベースのアクセス制御…ロールにアクセス権を付与>ユーザーにロールを付与(認可)

アクセス制御対象

  • ウェアハウス
  • データベース
  • スキーマ

参考URL

https://docs.snowflake.com/ja/user-guide/security-access-control-overview