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

最短1日で構築!?データドリブンな文化をプッシュするクラスメソッドのModern Data S...

Sagara
May 17, 2023

最短1日で構築!?データドリブンな文化をプッシュするクラスメソッドのModern Data Stack

2023/5/16に開催された「AWS 東京リージョンにFivetranがやってきた!今こそモダンデータスタックを活用したデータクラウドを構築しよう」で登壇した際の資料です。

https://dev.classmethod.jp/news/230516-fivetran-snowflake-webinar/

Sagara

May 17, 2023
Tweet

More Decks by Sagara

Other Decks in Technology

Transcript

  1. 2 自己紹介 氏名 相樂 悟 (サガラ サトシ) 所属 クラスメソッド株式会社 アライアンス統括部

    役割 Modern Data Stackソリューション テックリード (各種案件対応・新技術調査&検証・メンバーフォロー)
  2. 7 データ基盤導入における課題 パターン1 パターン1:データ基盤を構築していない • 構成例 ◦ 表計算ソフトなどを使用して、レポート作成・分析など、 データに関わる業務の全てを行っている • 課題

    ◦ ファイルごとにデータが分断され、正しいデータがわからない ◦ ファイルが損失したら業務に多大な影響を及ぼすリスクがある ◦ (PCスペックによるが)10万行超えると動作が重くなることが多い
  3. 8 データ基盤導入における課題 パターン2 パターン2:オンプレミス環境で構築 • 構築方法 ◦ サーバーを自社調達し、ベンダーソフトをインストール • 課題 ◦

    運用要員が必要(数名~数十名) ◦ すぐにスケールアップ・スケールアウト出来ないため、 コンピュートリソースの管理運用に悩まされる ◦ サーバー増築時の追加投資の判断が難しい(数百万~数千万円)
  4. 9 データ基盤導入における課題 パターン3 パターン3:自社開発ベースでクラウド環境に構築 • 構成方法 ◦ DWHはクラウドサービスを使い、他はOSS主体で自社開発 • 課題 ◦

    自社開発のため、サーバー管理や導入したOSSのバージョン管理な ど、少し高めのエンジニアリングスキルが求められる ◦ OSSに関しては何かトラブルが発生した時、サポートがないため自社内 で解決をしないといけない
  5. 13 クラスメソッドのModern Data Stack 全体像 データソース➟DWH の連携が、認証情報の 設定だけで可能なツー ル スケーラビリティに優 れ、外部共有などの機

    能もあるDWH ソフト開発の手法に則 りデータ変換処理が開 発出来るツール LookMLを用いた、指 標の定義の統制に優 れたBIツール 直感的な操作で 多様な表現が 可能なBIツール GUI操作でデータク レンジング~ 予測分析まで 行えるツール
  6. 16 導入メリット その2 いかなるデータ量・リクエスト量にも基本的に対応可能 • SnowflakeをDWHとして採用すれば、 コンピュートリソースの管理で悩むことはほぼない • 対応する処理 ◦ Fivetranによるデータ取り込み

    ◦ dbtによる加工処理 ◦ Looker/Tableauで発行されたクエリ dbt(XL×1) BIツール (M×4) Fivetran (L×2) 処理を行うコンピュートリソースは 用途別に分けられる
  7. 18 導入メリット その4 各サービス間の相性もバッチリ • Fivetran × dbt ◦ Fivetranからdbtを実行できる機能(dbt Transformation)がある

    ◦ Fivetranで構成されたスキーマに沿ったdbtによる変換処理が 一般公開されていて、すぐに分析可能なテーブルを構築可能 • Looker/Tableau × Snowflake ◦ Snowflake上の一番小さいコンピュートリソースであっても、 LookerやTableauで6000万行規模のデータを分析可能 ◦ Snowflakeのマルチクラスターウェアハウスならば、 分析者の数が大きく変動しても、自動でスケールアウト/イン可能
  8. 21 自分でこのロード処理を開発しようとすると… • 例1:Google Apps ScriptでJSONに変換後、S3に格納 • 例2:Google Sheets APIでデータをJSONで取得し、S3に格納

    どちらの方法もコーディングが発生してしまい、 実装に慣れている方じゃないと苦労…メンテナンスも発生… Task/Snowpipeで COPY処理
  9. 25