Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データエンジニアを助けてくれるFivetranとSnowflakeの仕様&機能のご紹介

Sagara
January 19, 2023

 データエンジニアを助けてくれるFivetranとSnowflakeの仕様&機能のご紹介

「こんなことまでしてくれるの!?~データエンジニアを助けてくれるFivetranとSnowflake~」で発表した登壇資料です。
https://dev.classmethod.jp/news/230119_fivetran-snowflake

Sagara

January 19, 2023
Tweet

More Decks by Sagara

Other Decks in Technology

Transcript

  1. コンピューティングとストレージの分離 - 操作対象のデータ1つに対して、 複数の独立したコンピュートリソース(ウェアハウス)を確保できる - 何が良いのか? - リソースの取り合いがなく、 リソース管理に悩むことがない -

    用途ごとに最適なスペックを 選定できる柔軟なアーキテクチャ - オートスケールも可能 機械学習(XL×1) BIツール (M×4) データ加工 (L×2) 対象のストレージは1つ 処理を行うウェアハウスは 用途別に分けられる 20
  2. マルチクラウド対応 - AWS・GoogleCloud・Azure、どのプラットフォーム上でも Snowflakeは動作可能 - メリット - S3・GCS・Blob Storage、どこからでも容易にロード可能 -

    プラットフォーム間のレプリケーションも容易に可能 22 M anagem ent Optimization Transactions Security M etadata Data Sharing
  3. データロードをした順番で勝手にクラスタリング? - Snowflakeで単純にデータロードした時の仕様 - データロード日時と比例する値を持つカラムで絞り込めば、 自然とスキャン対象のマイクロパーティションが減る 26 starttime stoptime station

    2013-01-01 2013-04-01 aaa 2013-04-01 2013-04-01 aaa 2013-05-01 2013-05-02 ccc 2013-07-01 2013-07-02 aaa 2013-08-01 2013-08-02 kkk ロード対象のファイル マイクロパーティションその1 マイクロパーティションその2 マイクロパーティションその3 ロード後のテーブル select * from trips where starttime = '2013-01-01'; ➟ 「その1」のみスキャン  select * from trips where stoptime = '2013-04-01'; ➟ 「その1」「その2」のみスキャン ※複数ファイルから1つのマイクロパーティション生成、  1ファイルから複数のマイクロパーティション生成、  といったことも実際には起こります
  4. なぜこれがデータエンジニアの助けと言えるの? - BigQueryの場合、ユーザー側でパーティショニングの設定がほぼ必須、かつ パーティショニングに用いたカラムで絞り込まないと、 スキャン量が削減できない - BigQueryはクラスタリングもあるが、 ユーザー側での設定が必須 27 starttime

    stoptime station 2013-01-01 2013-04-01 aaa 2013-04-01 2013-04-01 aaa 2013-05-01 2013-05-02 ccc 2013-07-01 2013-07-02 aaa 「starttime」でパーティションした BigQueryテーブル パーティションその1 パーティションその2 パーティションその3 パーティションその4 select * from trips where starttime = '2013-01-01'; ➟ 「その1」のみスキャン   select * from trips where stoptime = '2013-04-01'; ➟ すべてのパーティションをスキャン
  5. コンピュートリソースの管理不要なジョブ管理機能 - Serverless Taskを用いた「タスク」機能 - 定期的にCREATE TABLE AS SELECTなどのSQLを実行できる機能 -

    Serverless Taskならばウェアハウスの管理も不要 - Airflowなどのワークフロー管理のツールを用意せずとも、 Snowflake上だけで下図のようなワークフローを構築できる 29 Aテーブル データロード A’テーブル 最低限の加工 Bテーブル データロード B’テーブル 最低限の加工 A’とB'をJOINした データマート作成
  6. Fivetran × Snowflakeの事例 Fivetran × Snowflakeは、事例も多い組み合わせです 最近では国内のデータエンジニアも注目しています 31 引用元: [事例]

    Snowflake社の成長の秘密:Fivetranで業 界トップクラスのデータ分析基盤を構築 引用元: [レポート]みんなの考えた最強のデータアーキテクチャ #datatechjp
  7. まとめ - Fivetran - ユーザーが行うのは「接続設定だけ」でよい - Snowflake - 「まずはデータを入れてみよう」から気軽に試して、 十分な性能が出ることが多い

    - Fivetran × Snowflake - データの準備を爆速で行い、本来すべき「データ活用」に専 念できる組み合わせ 32