Slide 1

Slide 1 text

©10X, Inc. All Rights Reserved. dbt日本コミュニティの立ち上げと
 10Xでdbtの実践を行った2022
 Data Engineering Study #17 株式会社10X 瀧本晋也 1

Slide 2

Slide 2 text

©10X, Inc. All Rights Reserved. 瀧本 晋也
 2 ● 株式会社10X
 ○ データプロダクト所属
 ○ データプロダクトエンジニア
 ● 山梨在住
 ● Twitter @takimo
 最近はTokyo dbt Meetupのオーガナイザーを やってます


Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

アジェンダ
 ● dbtとは?
 ● dbt日本コミュニティの活動
 ○ dbt公式Slackコミュニティの#local-tokyoの開設 
 ○ dbt Tokyo Meetupの開催 
 ○ dbt入門記事の公開
 ● 10Xでdbtを使ってDWHやデータプロダクトを作った話 
 ○ DWHがなかった状況からDWHを作った 
 ○ 商品在庫データを作るデータプロダクトをdbtで作った 
 ○ JDの公開(データプロダクトマネージャーとデータプロダクトエンジニア) 
 5

Slide 6

Slide 6 text

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


Slide 7

Slide 7 text

まずdbtとはなんなのか?
 - 正式名称は「data build tool」
 - dbt Labs社とdbtコミュニティが開発するOSS
 - 拡張されたSQLを使い、ソフトウェアエンジニア リングのベストプラクティスを取り入れられる開 発ツールであり、データモデリングを信頼性高 く、高速に、楽しくしてくれるもの
 - ELTにおけるT(データ変換)を担当する


Slide 8

Slide 8 text

ELTとdbtの関係
 - ELTとは、Extract(抽出)、 Load(読み込み)、 Transform(変換)の略
 - 高速でかつ安価で運用がで きるデータ基盤が台頭し、 データ変換をロードしてから 行うアプローチ
 - データエンジニアリングの領 域からアナリストの領域に データの管理や処理が染み 出す


Slide 9

Slide 9 text

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


Slide 10

Slide 10 text

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


Slide 11

Slide 11 text

©10X, Inc. All Rights Reserved. dbt公式Slackコミュニティの#local-tokyoの開設
 ● 当時観測範囲ではクラスメソッドの玉井さん やUbieの石川さんが先行してウォッチ&コ ミットをしていらっしゃった
 ● 自分も使っていくなかでもっとこのツールとそ のコミュニティ含め広げたいと思い、2021年 11月19日に#local-tokyoが誕生(2022年の話 ではない)
 ● 今では292人のチャンネルに!(嬉しい 
 11 dbt日本コミュニティの立ち上げの話

Slide 12

Slide 12 text

©10X, Inc. All Rights Reserved. 他の全ローカルチャンネルのうち5位まで成長
 12 dbt日本コミュニティの立ち上げの話

Slide 13

Slide 13 text

©10X, Inc. All Rights Reserved. dbt CoalesceのイベントでもTokyoが紹介された
 13 dbt日本コミュニティの立ち上げの話

Slide 14

Slide 14 text

©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日本コミュニティの立ち上げの話

Slide 15

Slide 15 text

©10X, Inc. All Rights Reserved. dbt入門記事の公開
 15 dbt日本コミュニティの立ち上げの話

Slide 16

Slide 16 text

©10X, Inc. All Rights Reserved. 16 10Xでdbtを使ってDWHや
 データプロダクトを作った話


Slide 17

Slide 17 text

©10X, Inc. All Rights Reserved. DWHやデータマート構築用のパイプライン
 
 
 17 10Xでdbtを使ってDWHやデータプロダクトを作った話

Slide 18

Slide 18 text

©10X, Inc. All Rights Reserved. 商品在庫データのデータアプリケーションを構築
 18 10Xでdbtを使ってDWHやデータプロダクトを作った話

Slide 19

Slide 19 text

©10X, Inc. All Rights Reserved. 2022年前半 戦乱期
 ● 個社毎に作ったパイプラインにも問題がで始める 🔥
 ● 複雑に入り組むリネージ
 ● 同じような処理ロジックが様々なところに&下流に様々なロジックが混在しやすくなってしまって いた
 ● また属人的に開発をする必要が高く、キャッチアップコストも高い状態に 
 ● 修正をしたりする開発難易度や品質確認のためのQA工数も高くなってしまった 
 ○ リネージが複雑でデータの流れを追うのが大変だったり、抽象度が荒いので様々なテーブルの確認が必要等
 19 10Xでdbtを使ってDWHやデータプロダクトを作った話 


Slide 20

Slide 20 text

©10X, Inc. All Rights Reserved. 20 ※知ろうとしてなかったわけではないですよ もっと業務を理解しないと
 最適なモデリングの
 抽象度、粒度を
 より良い設計が出来ない!


Slide 21

Slide 21 text

©10X, Inc. All Rights Reserved. 実際にパートナーの店舗に伺って業務してみたり
 21 10Xでdbtを使ってDWHやデータプロダクトを作った話

Slide 22

Slide 22 text

©10X, Inc. All Rights Reserved. リファインしたアーキテクチャ
 22 10Xでdbtを使ってDWHやデータプロダクトを作った話

Slide 23

Slide 23 text

©10X, Inc. All Rights Reserved. 5つのレイヤリングに役割を区分しテストで品質を保証
 23 10Xでdbtを使ってDWHやデータプロダクトを作った話 ソースデータ
 
 ・このデータを様々な ところから利用しない 
 ゲートウェイ
 
 ・ソースデータをクレン ジングする処理層 
 ・データレイクとの入り 口を意識した名前 
 
 
 ドメインモデル
 
 ・ビジネスドメインを一 定の粒度で集約する 
 ・ドメインモデル同士 は依存させない 
 
 
 ドメインサービス 
 
 ・ドメインモデル同士 を利用して複雑な処 理をするための処理 層
 ・必ず実装する必要 はない
 
 
 アプリケーション 
 
 ・最終的なユースケー スに沿った結合処理 等を行う
 
 


Slide 24

Slide 24 text

©10X, Inc. All Rights Reserved. 「データプロダクトマネージャー」と
 「データプロダクトエンジニア」という名のJDを作った
 24 10Xでdbtを使ってDWHやデータプロダクトを作った話

Slide 25

Slide 25 text

©10X, Inc. All Rights Reserved. 詳しくは別途登壇資料を御覧ください
 25 10Xでdbtを使ってDWHやデータプロダクトを作った話

Slide 26

Slide 26 text

©10X, Inc. All Rights Reserved. 来年への抱負
 ● dbtのコミュニティに関してはより活用のシーンが広がっていくことを支援したいし、いろんな人や 企業の取り組みが共有されるような取り組みをしたい 
 ● 10XではDWHはもちろん、データプロダクトを作る上でもdbtを活用していますが、よりデータ品質 を向上させるためのテストや検知、またアナリティクスエンジニアやデータプロダクトエンジニア がチームで開発するためのナレッジ等を深めて共有していきたい 
 26