
セミナーメモ:Snowflakeではじめる データ基盤構築【入門編】
下記オンラインセミナーの受講メモ
2024/10/2開催 Snowflakeではじめる データ基盤構築【入門編】
主催:PrimeNumber
本セミナーでわかること

そもそもDWHとは

Snowflakeは「データ蓄積」から先の「活用」のための機能を同封

データ連携

高度な活用・運用

データ統合
troccoの活用

ETLとELTの呼び分け
まず始めに、ETLとELTというパッと見ただけでは空目してしまいそうな略語の違いから見てみましょう。
- ETL:Extract:抽出 → Transform:変換・加工 → Load:送出
- ELT:Extract:抽出 → Load:受け取り → Transform:変換
最初の工程:Extract はどちらも同じ、2番目と3番目の工程の順序が逆であることがわかりますが、こう見ると、単にデータフローにおける処理手順の違いだけのように見えてしまいますね。 これを具体的な動作まで考えると、Transform や Load の日本語表記を変えたように、実際にはデータ処理主体の違いと言い換えることができそうです。
- ETLとは、送出先のDBやExcelファイルがデータを取扱いやすくするためのデータ連携ツール
- ELTとは、データを受け取るDBやDWH:データウェアハウス、データレイク自体が持つ機能の一つ
メモ(疑問)
EC2ってずっと稼働してて、EC2分のコストは結構かかる?
Snowflakeって従量課金でウェアハウスの稼働時間で課金が発生する。
ウェアハウスって起動処理すると速攻で立ち上がって利用できる。
Snowflakeのコンピューティングは、バックグラウンドはAWSならEC2が動いている。
ウェアハウスが速攻で起動して処理が行えるっていう点が解せない。
EC2であれば、立ち上がるまでにそこそこ時間がかかるはず。
なぜ速攻で使えるの?実はEC2はずっと立ち上がってる?
データの受け口を1箇所に集約・制限するのって握手?
これまでの経験として、Snowflakeを利用する際に「ひとまずSnowflakeで使いたいデータはここ(S3)においておいてください」ってルールにすることが多い。
ルートを単純化・統一することで運用コストを下げる、という意味ではありだと思うけど、Snowflakeは「色んなところから簡単にデータを取ってこれる」というのがメリットの一つなら、なるべくSnowflake「から」データを取りに行くほうがいい?
今日のセミナーではむしろ「データ連携はtroccoやdbtみたいなETL、パイプラインツールが便利だよ」といった説明もある。ケースバイケースでありつつ、Snowflakeだけだと十分ではない(不便な)ケースが多々あるということか。