dbtの概要dbt×Fivetran×SnowflakeによるModern Data Stack~データ活用までの準備を楽々に~2022年6月9日アライアンス統括部 堀本 理紗
View Slide
2自己紹介 氏名 堀本 理紗(ブログは紗紗) 担当業務 Looker、Snowflakeのプロサービス・プリセールス dbtも頑張りたい今日このごろ やめたいけどやめられない インスタパトロール。 動物系から単純作業、ライフハック系などエンドレス
3本日お話しすること ● ETLの時代の話 ● ELTとMDS ● データモデリングの手法と問題点 ● T(変換)の重要性 ● dbtが解決すること
4ETLの時代(2010年代) ● ETL ○ Extract(抽出)○ Transform(変換)○ Load(ロード)● データ分析界隈の関心 ○ ETLをどのように構築するか○ どのようにスケールさせるか○ ストレージのコストを抑える○ DWHのパフォーマンスをあげる方法 DWHETLDataSource
5ETLの時代(2010年代) ● データ分析界隈の関心 ○ ETLをどのように構築するか○ どのようにスケールさせるか○ ストレージのコストを抑える○ DWHのパフォーマンスをあげる方法 DWHETLDataSourceこんなことをするためにデータアナリストになったのではない!!
6ELTの時代(2020年代)とMDS ● DWHの性能向上で変換(T)の前にデータをロード ● Fivetran等のデータインジェストツールによる抽出(E)とロード(L)の自動化 ● データ分析基盤関連のSaaSがさまざま登場
7MDSとは? ● Modern Data Stack ● SaaSを組み合わせてデータ分析基盤を構築 ● SaaSの組み合わせに正解はない ● それぞれの製品同士の横のつながりがある
8クラメソが提供するMDS
92010年代から変化していないデータモデリング ● その1:独自開発コード ○ ビジネスロジックを表現するのにエネルギーが要る○ アクセスに難あり(難しい処理はPython)○ 新しいデータセットの作成に3〜4週間かかってしまう○ 社内インフラをホスティングする必要がある● その2:GUIでポチポチ ○ 高額○ 学習コストが高い○ アクセスに難あり(Adminなどに限られる)
10従来のデータモデリングの問題点 ● 都市伝説と化すデータの民主化 ○ 欲しいデータがすぐに手に入らない○ そのデータが信頼できるかわからない● 複雑怪奇で属人的なSQL地獄 ○ ELTでSQLでデータにアクセス可能に○ 野良SQL、テーブル大量発生
11T(変換)の重要性 ● データ型のクリーニング ● 複数のシステムのデータを統合 ● データのフィルタリング ● 論理削除されているデータの除外 ● キレイなデータをそれぞれ結合
12dbtの取り組み ● dbtの指針その1 ○ SQLさえ知っていれば誰でもデータパイプラインを開発できる ● dbtの指針その2 ○ ソフトウェアエンジニアのようにデータパイプラインを開発できる ■ バージョン管理、自動テスト、ドキュメンテーション、再利用性
13dbtが提供するこれからのデータモデリング ・SELECT文を知っていれば、誰でもデータマート開発を行えるサービス ・特別な知識&スキル不要で、アプリ開発の手法を取り入れた開発が可能 (バージョン管理、CI/CD、自動テスト、ドキュメント管理、etc) アプリ開発の手法を取り入れている・Gitと連携・継続的インテグレーションドキュメントの自動生成・データの定義や依存関係等がわかる・データカタログの役割もJinjaで高度な処理を開発できる・SQLだけでは実現できない処理の実現・マクロとして処理をモジュール化、再利用可データに対してテストを実行できる・not nullや参照整合性等を自動でテスト可能・Jinjaで、オリジナルのテストも作成可能主要なDWHに対応・Amazon Redshift、Snowflake、Google BigQuerySQLで開発できる・必要なのはSELECT文だけ・プログラミング言語の学習は不要1653 42
14まとめ dbtってすごくいい... ● この10年で進化のなかったデータモデリングに新たな手法を提案するツール ● データカオス、バイバイ👋 ● ハロー、データの民主化🙌
15