Slide 1

Slide 1 text

©10X, Inc. All Rights Reserved. dbt docsを使った
 データカタログの運用事例紹介
 データ基盤管理の考え方 〜データカタログ、データレイクの極意〜 Lunch LT   株式会社10X 瀧本晋也

Slide 2

Slide 2 text

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


Slide 3

Slide 3 text

©10X, Inc. All Rights Reserved.

Slide 4

Slide 4 text

©10X, Inc. All Rights Reserved.

Slide 5

Slide 5 text

©10X, Inc. All Rights Reserved. 5 今日はその中でのドキュメントの話 10Xでは
 DWH構築以外にもdbtを使って
 商品在庫データを作ってます


Slide 6

Slide 6 text

©10X, Inc. All Rights Reserved. アーキテクチャと開発フロー


Slide 7

Slide 7 text

©10X, Inc. All Rights Reserved. データドキュメント管理の難しさ
 ● データドキュメント頑張ってやろうとしたがなかなか取り組みを進められなかった ○ 定期的にKPTで出てくる「仕様の管理」や「カラムの意味が分かりづらい」 ○ Tryとして「ドキュメントを書こう」「更新したらドキュメントを修正しよう」というのがでた が書き始めるのも難しいし、ドキュメントがあったとしても更新がされない状態が続い てしまった ● 「あとで書く」が難しく、「あとに回せば回すほど更新が大変になる」という事実 ○ 「あとで書く」は書かない ○ 「あとで誰か他の人」は書いてくれない(実装者が一番わかっている) ○ 現在のドキュメントが正しくない場合、差分更新ではなく現在の仕様をすべて確認し た上で「全更新」になってしまう

Slide 8

Slide 8 text

©10X, Inc. All Rights Reserved. ドキュメント作成を
 後回しにしない仕組みや
 工夫をしてみた


Slide 9

Slide 9 text

©10X, Inc. All Rights Reserved. ドキュメント作成を後回しにしないサイクル


Slide 10

Slide 10 text

©10X, Inc. All Rights Reserved. 解決策の提案 - dbt docs
 「あとで書かない、今書く」を実行するために以下の要件を達成するために現在の構成 も考慮してdbt docsを採用 ● ドキュメントも差分管理(コード管理)できるようにする ● 画像配置、マークダウンでの記載が可能 ● 修正差分に合わせて同一PRに混ぜてリリース・反映できる ● データカタログのビューワー機能がある ● BigQuery等のカラムディスクリプション枠に情報を同期できる ● CIでドキュメントが書かれているかチェック処理を組み込むことが可能

Slide 11

Slide 11 text

©10X, Inc. All Rights Reserved. ドキュメントも差分管理(コード管理)できるようにする
 dbt docsはYAML形式 でモデル(テーブル)やカ ラムの説明を管理可能

Slide 12

Slide 12 text

©10X, Inc. All Rights Reserved. 画像配置、マークダウンでの記載が可能
 マークダウンでの記載も 可能なため少し込み入っ た表現や説明も見やすく 管理が可能 画像への対応もできる

Slide 13

Slide 13 text

©10X, Inc. All Rights Reserved. 修正差分に合わせて同一PRに混ぜてリリース・反映できる
 
 
 
 修正差分のPRにドキュメ ントの更新も合わせるこ とで、レビューワーも今回 何のための修正なのかを 理解しやすくなる

Slide 14

Slide 14 text

©10X, Inc. All Rights Reserved. データカタログのビューワー機能がある
 dbt Cloudにはdbt docsで書 き出されるファイルをホスティン グしてくれる機能があり、ユー ザー管理をしながらドキュメント を共有可能 検索機能やデータリネージも確 認できる

Slide 15

Slide 15 text

©10X, Inc. All Rights Reserved. BigQuery等のカラムディスクリプション枠に情報を同期できる
 YAMLに記載したカラム の定義やテーブル定義 はBigQueryの Descriptionにdbtの機 能で同期が可能

Slide 16

Slide 16 text

©10X, Inc. All Rights Reserved. CIでドキュメントが書かれているかチェック処理を組み込むこと が可能
 dbt-meta-testingという パッケージを利用すること で、未設定のドキュメントを 確認可能 GithubActions等と組み 合わせればPR作成時に CIでチェックも可能

Slide 17

Slide 17 text

©10X, Inc. All Rights Reserved. まだまだ道半ば、更新を止めない改善を意識


Slide 18

Slide 18 text

©10X, Inc. All Rights Reserved.