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

dbt日本コミュニティの立ち上げと 10Xでdbtの実践を行った2022

10xinc
December 14, 2022
1.3k

dbt日本コミュニティの立ち上げと 10Xでdbtの実践を行った2022

昨年と比べると圧倒的に注目され、実際に導入している会社も増えてきているdbt(data build tool)というツールがあります。dbt Tokyo Meetupのオーガナイザーを担当してきた1年、コミュニティでの取り組み事例や今後の見通しに関してご紹介したり、実際に10Xの事業でどのように使われているのかの振り返りが出来たらなと思います。

10xinc

December 14, 2022
Tweet

More Decks by 10xinc

Transcript

  1. ©10X, Inc. All Rights Reserved.
    dbt日本コミュニティの立ち上げと

    10Xでdbtの実践を行った2022

    Data Engineering Study #17 株式会社10X 瀧本晋也
    1

    View full-size slide

  2. ©10X, Inc. All Rights Reserved.
    瀧本 晋也

    2
    ● 株式会社10X

    ○ データプロダクト所属

    ○ データプロダクトエンジニア

    ● 山梨在住

    ● Twitter @takimo

    最近はTokyo dbt Meetupのオーガナイザーを
    やってます


    View full-size slide

  3. アジェンダ

    ● dbtとは?

    ● dbt日本コミュニティの活動

    ○ dbt公式Slackコミュニティの#local-tokyoの開設 

    ○ dbt Tokyo Meetupの開催 

    ○ dbt入門記事の公開

    ● 10Xでdbtを使ってDWHやデータプロダクトを作った話

    ○ DWHがなかった状況からDWHを作った 

    ○ 商品在庫データを作るデータプロダクトをdbtで作った 

    ○ JDの公開(データプロダクトマネージャーとデータプロダクトエンジニア) 

    5

    View full-size slide

  4. ©10X, Inc. All Rights Reserved. 6
    詳しい人には釈迦に説法感ありますが
    dbtとは?


    View full-size slide

  5. まずdbtとはなんなのか?

    - 正式名称は「data build tool」

    - dbt Labs社とdbtコミュニティが開発するOSS

    - 拡張されたSQLを使い、ソフトウェアエンジニア
    リングのベストプラクティスを取り入れられる開
    発ツールであり、データモデリングを信頼性高
    く、高速に、楽しくしてくれるもの

    - ELTにおけるT(データ変換)を担当する


    View full-size slide

  6. ELTとdbtの関係

    - ELTとは、Extract(抽出)、
    Load(読み込み)、
    Transform(変換)の略

    - 高速でかつ安価で運用がで
    きるデータ基盤が台頭し、
    データ変換をロードしてから
    行うアプローチ

    - データエンジニアリングの領
    域からアナリストの領域に
    データの管理や処理が染み
    出す


    View full-size slide

  7. 課題のまとめとdbtを使った解決のアプローチ


    View full-size slide

  8. ©10X, Inc. All Rights Reserved. 10
    dbt日本コミュニティの活動


    View full-size slide

  9. ©10X, Inc. All Rights Reserved.
    dbt公式Slackコミュニティの#local-tokyoの開設

    ● 当時観測範囲ではクラスメソッドの玉井さん
    やUbieの石川さんが先行してウォッチ&コ
    ミットをしていらっしゃった

    ● 自分も使っていくなかでもっとこのツールとそ
    のコミュニティ含め広げたいと思い、2021年
    11月19日に#local-tokyoが誕生(2022年の話
    ではない)

    ● 今では292人のチャンネルに!(嬉しい

    11
    dbt日本コミュニティの立ち上げの話

    View full-size slide

  10. ©10X, Inc. All Rights Reserved.
    他の全ローカルチャンネルのうち5位まで成長

    12
    dbt日本コミュニティの立ち上げの話

    View full-size slide

  11. ©10X, Inc. All Rights Reserved.
    dbt CoalesceのイベントでもTokyoが紹介された

    13
    dbt日本コミュニティの立ち上げの話

    View full-size slide

  12. ©10X, Inc. All Rights Reserved.
    dbt Tokyo Meetupの開催

    ● #1 2021年11月30日

    ● #2 2021年12月16日

    ● #3 2022年05月10日

    ● #4 2022年08月23日

    ● #2022dbt忘年会 2022年12月27日 new

    14
    dbt日本コミュニティの立ち上げの話

    View full-size slide

  13. ©10X, Inc. All Rights Reserved.
    dbt入門記事の公開

    15
    dbt日本コミュニティの立ち上げの話

    View full-size slide

  14. ©10X, Inc. All Rights Reserved. 16
    10Xでdbtを使ってDWHや

    データプロダクトを作った話


    View full-size slide

  15. ©10X, Inc. All Rights Reserved.
    DWHやデータマート構築用のパイプライン



    17
    10Xでdbtを使ってDWHやデータプロダクトを作った話

    View full-size slide

  16. ©10X, Inc. All Rights Reserved.
    商品在庫データのデータアプリケーションを構築

    18
    10Xでdbtを使ってDWHやデータプロダクトを作った話

    View full-size slide

  17. ©10X, Inc. All Rights Reserved.
    2022年前半 戦乱期

    ● 個社毎に作ったパイプラインにも問題がで始める
    🔥

    ● 複雑に入り組むリネージ

    ● 同じような処理ロジックが様々なところに&下流に様々なロジックが混在しやすくなってしまって
    いた

    ● また属人的に開発をする必要が高く、キャッチアップコストも高い状態に

    ● 修正をしたりする開発難易度や品質確認のためのQA工数も高くなってしまった

    ○ リネージが複雑でデータの流れを追うのが大変だったり、抽象度が荒いので様々なテーブルの確認が必要等

    19
    10Xでdbtを使ってDWHやデータプロダクトを作った話

    View full-size slide

  18. ©10X, Inc. All Rights Reserved. 20
    ※知ろうとしてなかったわけではないですよ
    もっと業務を理解しないと

    最適なモデリングの

    抽象度、粒度を

    より良い設計が出来ない!


    View full-size slide

  19. ©10X, Inc. All Rights Reserved.
    実際にパートナーの店舗に伺って業務してみたり

    21
    10Xでdbtを使ってDWHやデータプロダクトを作った話

    View full-size slide

  20. ©10X, Inc. All Rights Reserved.
    リファインしたアーキテクチャ

    22
    10Xでdbtを使ってDWHやデータプロダクトを作った話

    View full-size slide

  21. ©10X, Inc. All Rights Reserved.
    5つのレイヤリングに役割を区分しテストで品質を保証

    23
    10Xでdbtを使ってDWHやデータプロダクトを作った話
    ソースデータ


    ・このデータを様々な
    ところから利用しない 

    ゲートウェイ


    ・ソースデータをクレン
    ジングする処理層 

    ・データレイクとの入り
    口を意識した名前 



    ドメインモデル


    ・ビジネスドメインを一
    定の粒度で集約する 

    ・ドメインモデル同士
    は依存させない 



    ドメインサービス 


    ・ドメインモデル同士
    を利用して複雑な処
    理をするための処理
    層

    ・必ず実装する必要
    はない



    アプリケーション 


    ・最終的なユースケー
    スに沿った結合処理
    等を行う



    View full-size slide

  22. ©10X, Inc. All Rights Reserved.
    「データプロダクトマネージャー」と

    「データプロダクトエンジニア」という名のJDを作った

    24
    10Xでdbtを使ってDWHやデータプロダクトを作った話

    View full-size slide

  23. ©10X, Inc. All Rights Reserved.
    詳しくは別途登壇資料を御覧ください

    25
    10Xでdbtを使ってDWHやデータプロダクトを作った話

    View full-size slide

  24. ©10X, Inc. All Rights Reserved.
    来年への抱負

    ● dbtのコミュニティに関してはより活用のシーンが広がっていくことを支援したいし、いろんな人や
    企業の取り組みが共有されるような取り組みをしたい

    ● 10XではDWHはもちろん、データプロダクトを作る上でもdbtを活用していますが、よりデータ品質
    を向上させるためのテストや検知、またアナリティクスエンジニアやデータプロダクトエンジニア
    がチームで開発するためのナレッジ等を深めて共有していきたい

    26

    View full-size slide