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

dbtの概要

Shasha
June 09, 2022

 dbtの概要

Shasha

June 09, 2022
Tweet

More Decks by Shasha

Other Decks in Technology

Transcript

  1. dbtの概要
    dbt×Fivetran×SnowflakeによるModern Data Stack~データ
    活用までの準備を楽々に~
    2022年6月9日
    アライアンス統括部 堀本 理紗

    View Slide

  2. 2
    自己紹介

    氏名

    堀本 理紗(ブログは紗紗)

    担当業務

    Looker、Snowflakeのプロサービス・プリセールス

     dbtも頑張りたい今日このごろ

    やめたいけどやめられない

    インスタパトロール。

    動物系から単純作業、ライフハック系などエンドレス


    View Slide

  3. 3
    本日お話しすること

    ● ETLの時代の話

    ● ELTとMDS

    ● データモデリングの手法と問題点

    ● T(変換)の重要性

    ● dbtが解決すること


    View Slide

  4. 4
    ETLの時代(2010年代)

    ● ETL

    ○ Extract(抽出)
    ○ Transform(変換)
    ○ Load(ロード)
    ● データ分析界隈の関心

    ○ ETLをどのように構築するか
    ○ どのようにスケールさせるか
    ○ ストレージのコストを抑える
    ○ DWHのパフォーマンスをあげる方法

    DWH
    ETL
    Data
    Source

    View Slide

  5. 5
    ETLの時代(2010年代)

    ● データ分析界隈の関心

    ○ ETLをどのように構築するか
    ○ どのようにスケールさせるか
    ○ ストレージのコストを抑える
    ○ DWHのパフォーマンスをあげる方法


    DWH
    ETL
    Data
    Source
    こんなことをするために
    データアナリストになったのではな
    い!!

    View Slide

  6. 6
    ELTの時代(2020年代)とMDS

    ● DWHの性能向上で変換(T)の前にデータをロード

    ● Fivetran等のデータインジェストツールによる抽出(E)とロード(L)の自
    動化

    ● データ分析基盤関連のSaaSがさまざま登場


    View Slide

  7. 7
    MDSとは?

    ● Modern Data Stack

    ● SaaSを組み合わせてデータ分析基盤を構築

    ● SaaSの組み合わせに正解はない

    ● それぞれの製品同士の横のつながりがある


    View Slide

  8. 8
    クラメソが提供するMDS


    View Slide

  9. 9
    2010年代から変化していないデータモデリング

    ● その1:独自開発コード

    ○ ビジネスロジックを表現するのにエネルギーが要る
    ○ アクセスに難あり(難しい処理はPython)
    ○ 新しいデータセットの作成に3〜4週間かかってしまう
    ○ 社内インフラをホスティングする必要がある
    ● その2:GUIでポチポチ

    ○ 高額
    ○ 学習コストが高い
    ○ アクセスに難あり(Adminなどに限られる)

    View Slide

  10. 10
    従来のデータモデリングの問題点

    ● 都市伝説と化すデータの民主化

    ○ 欲しいデータがすぐに手に入らない
    ○ そのデータが信頼できるかわからない
    ● 複雑怪奇で属人的なSQL地獄

    ○ ELTでSQLでデータにアクセス可能に
    ○ 野良SQL、テーブル大量発生

    View Slide

  11. 11
    T(変換)の重要性







    ● データ型のクリーニング

    ● 複数のシステムのデータを統合

    ● データのフィルタリング

    ● 論理削除されているデータの除外

    ● キレイなデータをそれぞれ結合


    View Slide

  12. 12
    dbtの取り組み

    ● dbtの指針その1

    ○ SQLさえ知っていれば誰でもデータパイプラインを開発できる

    ● dbtの指針その2

    ○ ソフトウェアエンジニアのようにデータパイプラインを開発でき
    る

    ■ バージョン管理、自動テスト、ドキュメンテーション、再利用性


    View Slide

  13. 13
    dbtが提供するこれからのデータモデリング

    ・SELECT文を知っていれば、誰でもデータマート開発を行えるサービス

    ・特別な知識&スキル不要で、アプリ開発の手法を取り入れた開発が可能

     (バージョン管理、CI/CD、自動テスト、ドキュメント管理、etc)

    アプリ開発の手法を取り入れている
    ・Gitと連携
    ・継続的インテグレーション
    ドキュメントの自動生成
    ・データの定義や依存関係等がわかる
    ・データカタログの役割も
    Jinjaで高度な処理を開発できる
    ・SQLだけでは実現できない処理の実現
    ・マクロとして処理をモジュール化、再利用可
    データに対してテストを実行できる
    ・not nullや参照整合性等を自動でテスト可能
    ・Jinjaで、オリジナルのテストも作成可能
    主要なDWHに対応
    ・Amazon Redshift、Snowflake、Google BigQuery
    SQLで開発できる
    ・必要なのはSELECT文だけ
    ・プログラミング言語の学習は不要
    1
    6
    5
    3 4
    2

    View Slide

  14. 14
    まとめ

    dbtってすごくいい...

    ● この10年で進化のなかったデータモデリングに新たな手
    法を提案するツール

    ● データカオス、バイバイ👋

    ● ハロー、データの民主化🙌


    View Slide

  15. 15

    View Slide