Slide 1

Slide 1 text

dbt×Fivetran×SnowflakeによるModern Data Stackのご紹介
 2022/06/09
 クラスメソッド株式会社 相樂 悟

Slide 2

Slide 2 text

2 自己紹介 氏名 相樂 悟 (サガラ サトシ) 所属 クラスメソッド株式会社 アライアンス統括部 主な担当 モダンデータスタックのプロサービス・プリセールス

Slide 3

Slide 3 text

dbt×Fivetran×SnowflakeによるModern Data Stackのご紹介


Slide 4

Slide 4 text

4 Modern Data Stackとは ・クラウドネイティブなサービスで構成されたデータ基盤 ・データ分析を始めるまでのタイムラグを短縮できる

Slide 5

Slide 5 text

dbt×Fivetran×SnowflakeによるModern Data Stackのご紹介


Slide 6

Slide 6 text

6 クラスメソッドのModern Data Stack 今日お話すること ・Fivetran、Snowflakeの概要 ・dbtと、FivetranやSnowflakeを組み合わせたときの強み

Slide 7

Slide 7 text

Fivetran


Slide 8

Slide 8 text

Fivetranとは - 開発や運用作業が不要なELT(Extract,Load,Transform)サービス - ロード時のスキーマ(テーブル構成)も定義済 - データ抽出前のスキーマ設計が不要 8

Slide 9

Slide 9 text

一般的なデータ抽出(イメージ像) データ抽出してDWHに入れるだけでしょ?簡単 でしょ! 9

Slide 10

Slide 10 text

一般的なデータ抽出(実情) 10

Slide 11

Slide 11 text

Fivetranがあれば… が全て担ってくれます 11

Slide 12

Slide 12 text

Fivetranでユーザーがすること 1.データソースへの接続定義 2.使用するテーブルの選択 12 「API等を使ったデータ抽出&加工処理開発」 「サーバー管理含めた、各種保守・運用」 全て不要です

Slide 13

Slide 13 text

- 対応サービスごとに、スキーマのER図が用意されています (例)Shopify ※公式Docより Fivetranにより構築されるスキーマ 13

Slide 14

Slide 14 text

Fivetranがサポートしているデータソース https://fivetran.com/connectors 
 We continually add new connectors! Visit our directory page for an up to date list! Sales Databases Events Files Functions ● Microsoft Dynamics 365 ● Salesforce ● Shopify ● PrestaShop ● Pipedrive ● Spree Commerce ● OsCommerce ● PrestaShop ● Microsoft Dynamics NAV ● Oracle EBS ● WooCommerce ● Loaded Commerce ● DynamoDB ● MariaDB ● MongoDB ● MySQL ● Oracle ● PostgreSQL ● SQL Server ● Segment ● Snowplow ● Webhooks ● Airtable ● Amazon Cloudfront ● Amazon Kinesis ● Amazon S3 ● Azure Blob Storage ● Box ● Browser Upload ● Dropbox ● Email ● FTP ● FTPS ● Google Cloud Storage ● Google Drive ● Google Sheets ● SFTP ● AWS Lambda ● Azure Functions ● Google Cloud Functions Warehouses ● Azure Data Explorer ● Azure SQL ● BigQuery ● Databricks ● MySQL ● Panoly ● Periscope ● PostgreSQL ● Redshift ● Snowflake ● SQL Server Support ● Comm100 ● Freshdesk ● Front ● Help Scout ● Intercom ● Kustomer ● UserVoice ● Zendesk ● Zendesk Chat Marketing ● Adobe Analytics ● AdRoll ● Apple Search Ads ● Appsflyer Finance ● Anaplan ● Braintree ● Coupa ● Lightspeed ● NetSuite SuiteAnalytics ● QuickBooks Online ● Recharge ● Recurly ● SAP ERP ● Square ● Stripe ● Xero ● Zuora ● Microsoft Dynamics Suite ● Sage Intacct ● SAP Concur Human Resources ● Greenhouse ● Lever ● Workday Productivity ● Asana ● Mavenlink ● ServiceNow ● Height ● CSV Uploader ● Airtable ● Bing Ads ● Braze ● Campaign Manager ● Criteo ● Facebook ● Google Ads ● Google Analytics ● Google Play ● Google Search Console ● HubSpot ● Iterable ● Itunes Connect ● Klaviyo ● LinkedIn Ads ● MailChimp ● Mandrill ● Marin Software ● Marketo ● Oracle Eloqua ● Outbrain ● Pardot ● Pinterest Ads ● Sailthru ● Salesforce Marketing Cloud ● SendGrid ● Snapchat Ads ● Taboola ● Twitter Ads ● Yahoo Gemini ● YouTube 14

Slide 15

Slide 15 text

dbt × Fivetran


Slide 16

Slide 16 text

dbt × Fivetranの強み - dbt Transformation - Fivetran用のdbt package 16

Slide 17

Slide 17 text

dbt Transformationとは - Fivetranのロード処理が完了したことをトリガーに、 dbtのデータ変換処理(model)を実行できる機能 - 何が良いのか? - Airflow等のワークフロー管理ツール不要で、 Fivetran➟dbtを簡単につなげる事ができる - dbtを使うため、使用する変換処理は バージョン管理可能 - ※2022/6/9時点、BETA機能です 17

Slide 18

Slide 18 text

Fivetran用のdbt packageとは - Fivetranにより構築されたスキーマに合わせた、 すぐ実務で使えるデータマートを生成するmodelの集まり - ※「dbt package」は、一般的なプログラミング言語でいう   ライブラリのdbt版 - 例:Salesforce用のdbt package - チーム/メンバー/商談ごとに、各種金額や商談に関する集計値を 出してくれるmodelがまとまった「salesforce」 - Fivetranでロードしたテーブルやカラムに、source定義として、 description、testを自動で設定してくれる「salesforce_source」 18

Slide 19

Slide 19 text

Fivetran用のdbt package一覧 ※2022/6/9時点 https://hub.getdbt.com/ 
 19

Slide 20

Slide 20 text

dbt × Fivetranの良さ 20 データソース DWH BI等 「dbt Transformation」と「Fivetran用のdbt package」により… Fivetranロード層 データマート層 開発作業不要で、実務に使えるデータがすぐ出来ます

Slide 21

Slide 21 text

dbt × Fivetran 参考リンク DevelopersIOブログ Fivetran社のYouTube 21

Slide 22

Slide 22 text

Snowflake


Slide 23

Slide 23 text

Snowflakeとは - クラウドのメリットを最大限活かしたデータウェアハウス - 強み - コンピューティングとストレージの分離 - クローン・タイムトラベルなどの独自機能 - マルチクラウド対応 - 外部へのデータシェアリング 23

Slide 24

Slide 24 text

コンピューティングとストレージの分離 - 操作対象のデータ1つに対して、 複数の独立したコンピュートリソースを確保できる - 何が良いのか? - リソースの取り合いがなく、 リソース管理に悩むことがない - 用途ごとに最適なスペックを 選定できる柔軟なアーキテクチャ - オートスケールも可能 機械学習(XL×1) BIツール (M×4) データ加工 (L×2) 対象のストレージは1つ 処理を行うコンピュートリソースは 用途別に分けられる 24

Slide 25

Slide 25 text

クローン・タイムトラベルなどの独自機能 - クローン - 既存のデータをコピーすることなく、複製可能 - クローン先とクローン元それぞれへ違う更新処理が可能 - タイムトラベル - 最大90日間、過去のデータに遡れる - なぜクローンやタイムトラベルが容易に出来る? - Snowflakeは差分が発生する度に、一定の粒度で不変な データを新規作成するから(マイクロパーティション) 25

Slide 26

Slide 26 text

マルチクラウド対応 - AWS・GoogleCloud・Azure、どのプラットフォーム上でも Snowflakeは動作可能 - メリット - S3・GCS・Blob Storage、どこからでも容易にロード可能 - プラットフォーム間のレプリケーションも容易に可能 26 M anagem ent Optimization Transactions Security M etadata Data Sharing

Slide 27

Slide 27 text

外部へのデータシェアリング - データの移動・コピー・ETL処理を不要で、外部のユーザーに対し て最新のデータを共有することができる - 共有先がSnowflakeアカウントを所持していなくても、 リーダーアカウントを設定することで共有可能 27

Slide 28

Slide 28 text

dbt × Snowflake


Slide 29

Slide 29 text

dbt × Snowflakeの強み - Snowflake用のdbt package - dbtからSnowflakeの各種設定変更 29

Slide 30

Slide 30 text

Snowflake用のdbt package - dbt_dataquality - snowflake_env_setup - dbt_snow_mask - dbt_snow_utils - snowflake_spend - snowflake_utils - dbt_constraints など、Snowflakeは他DWHと比べてdbt packageが非常に多い ※dbtvault等、Snowflakeの対応が最も早いpackageもあります 30

Slide 31

Slide 31 text

Snowflake用のdbt package:dbt_snow_maskについて - dbt_snow_mask - 列レベルのセキュリティをdbtから設定出来るpackage - 参考記事:https://dev.classmethod.jp/articles/dbt-package-dbt_snow_mask/ 31 ポリシーを満たす場合 ポリシーを満たさない場合 packageを活用した、マスキングポリシーの定義

Slide 32

Slide 32 text

dbtからSnowflakeの各種設定変更 - SnowflakeはSQLでほぼ全ての操作を完結出来るDWH そのため、dbt側からSnowflakeの設定を変更することが可能 - 例:SQLで実施できるSnowflakeの設定 - コンピュートリソース(ウェアハウス)のスペック変更 - タイムトラベル - クローン - データシェアリング - 行レベル・列レベルのセキュリティ 32

Slide 33

Slide 33 text

- フォルダやmodelごとに、使用するウェアハウスを変更 dbtからSnowflakeの各種設定変更:実例 33 例その1:  フォルダごとに、使用する  ウェアハウスを変更する 例その2:  特定のmodelの実行時のみ、  ウェアハウスのサイズを変更する

Slide 34

Slide 34 text

dbt × Snowflakeの強み まとめ 34 互いの良さを活かし、人的リソースの負荷を減らした DWHの運用・開発が出来る組み合わせです ・すぐにスペック変更出来る  柔軟なコンピュートリソース ・タイムトラベル、クローン、  データシェアリング等の機能 ・ほぼ全ての操作をSQLで可能 ・クエリのバージョン管理、  開発環境&本番環境の分離 ・データリネージ、テスト、  ドキュメント生成などの機能 ・Snowflake用のpackage

Slide 35

Slide 35 text

まとめ


Slide 36

Slide 36 text

dbt × Fivetran × Snowflakeの事例 dbt × Fivetran × Snowflakeは、海外事例も多い組み合わせです 36 画像引用元: Snowflake + Fivetran + dbt: Turn Your Marketing Data Silos into Marketing Insights 画像引用元: The 80/20 rule in data (and why it doesn’t have to be that way) 画像引用元: GitLab:Data Team Platform

Slide 37

Slide 37 text

dbt × Fivetran × Snowflakeの強み - dbt × Fivetran - Fivetran➟dbtの連携はGUIベースで簡単に実現可能 - Fivetran用のdbt packageがあれば、開発作業不要で データのロード~実務に使えるデータ作成がすぐに可能 - dbt × Snowflake - Snowflake用のdbt packageも多く提供されている - dbtからSnowflake側の様々な設定が可能 37 開発や運用の負荷を減らし、 本来すべき「データ活用」に専念できる構成です!

Slide 38

Slide 38 text

ご清聴ありがとうございました