【Snowflake】Snowflake ~ 基礎知識編 ~

■ はじめに

Snowflake (スノーフレイク) を扱うことになったのでメモ。

目次

【1】Snowflake
【2】特徴
【3】構成 / アーキテクチャ
 1)ストレージ層 - Storage
 2)コンピューティング層 - Compute
 3)サービス層 - Services
【4】キャッシュ
 1)クエリリザルトキャッシュ
 2)メタデータキャッシュ
 3)ウェアハウスキャッシュ
【5】関連用語
 1)ステージ (Stage)
 2)ウェアハウス(Warehouse)
 3)SnowSQL
 4)クレジット(Snowflake credit)

【1】Snowflake

* Snowflake社が提供するクラウドベースの分析用データウェアハウス

 => AWS でいう「Redshift」
 (Redshiftについては、以下の関連記事を参照のこと。)
 => Snowflake社は、Oracle出身のデータアーキテクト達が
  2012年に米国で創業した会社

https://dk521123.hatenablog.com/entry/2020/02/22/002139

※ データウェアハウス(DWH:Data WareHouse)

* 以下の関連記事を参照のこと。

https://dk521123.hatenablog.com/entry/2020/02/22/002139

【2】特徴

* マルチクラウドプラットフォーム(AWS/Azure/GCP)に対応
* 料金体系:従量課金制

【3】構成 / アーキテクチャ

* Snowflake は、以下のような3層設計

1)ストレージ層 - Storage
2)コンピューティング層 - Compute
3)サービス層 - Services

1)ストレージ層 - Storage

* Snowflakeが保持しているデータが置かれているレイヤ

2)コンピューティング層 - Compute

* データ処理(クエリ)を実行する

3)サービス層 - Services

* Snowflakeの各種管理を担当する

[1] セキュリティ機能
[2] ユーザセッションの認証
[3] メタデータ管理
[4] SQL最適化
[5] トランザクション管理

【4】キャッシュ

https://dev.classmethod.jp/articles/snowflake-cache-three/

1)クエリリザルトキャッシュ

* 再利用できるクエリ結果をキャッシュ

2)メタデータキャッシュ

* メタデータ(行数, Max/Min etc)をキャッシュとして使う

3)ウェアハウスキャッシュ

* データのキャッシュ

【5】関連用語

1)ステージ (Stage)

* ファイルからデータをロードする際に、そのファイルを置く場所
* 二種類ある

a) 内部ステージ

* Snowflake内部に存在するステージ

b) 外部ステージ

* 各種クラウド上(S3など)に存在するステージ

2)ウェアハウス(Warehouse)

* コンピューティング のこと
* サイズを持っている。
 => 以下の関連記事も参照のこと。

https://dk521123.hatenablog.com/entry/2021/11/16/231010

3)SnowSQL

* Snowflake用のCLI Client

https://docs.snowflake.com/ja/user-guide/snowsql.html

4)クレジット(Snowflake credit)

https://docs.snowflake.com/ja/user-guide/what-are-credits.html

より抜粋
~~~~~~~~~~~~
Snowflakeクレジットは、Snowflakeのリソースの消費に対する支払いに使用されます。
Snowflakeクレジットは測定単位であり、
仮想ウェアハウスの実行中、クラウドサービスレイヤーの作業中、サーバーレス機能の使用時など、
顧客がリソースを使用している場合にのみ消費されます。
~~~~~~~~~~~~

参考文献

https://macro-send.com/blog/snowflake
https://dev.classmethod.jp/articles/snowflake-architecture-keyconcepts/
https://dev.classmethod.jp/articles/about-snowflake-internal-stages/
https://qiita.com/foursue/items/327dbd5dbbe6084a1f32

関連記事

Snowflake ~ 入門編 / Hello world
https://dk521123.hatenablog.com/entry/2021/11/22/212520
Snowflake ~ 基本編 / データ型 ~
https://dk521123.hatenablog.com/entry/2021/12/16/095524
Snowflake ~ 基本編 / キャスト ~ ~
https://dk521123.hatenablog.com/entry/2021/12/15/162658
Snowflake ~ 基本編 / データロード ~
https://dk521123.hatenablog.com/entry/2021/11/15/221245
Snowflake ~ 基本編 / アクセス制御 ~
https://dk521123.hatenablog.com/entry/2021/11/16/231010
Snowflake ~ 基本編 / ゼロコピークローン ~
https://dk521123.hatenablog.com/entry/2021/11/27/134934
Snowflake ~ GRANT OWNERSHIP ~
https://dk521123.hatenablog.com/entry/2022/02/25/094250
Snowflake ~ SHOW / DESCRIBE ~
https://dk521123.hatenablog.com/entry/2022/02/24/231532
Snowflake ~ エラー時の解析方法 ~
https://dk521123.hatenablog.com/entry/2022/04/20/192334
エラー「Failed to cast variant value "" to XXX」時の対応
https://dk521123.hatenablog.com/entry/2021/12/17/102659
Amazon Redshift ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/02/22/002139