Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
dbt docsを使ったデータカタログの運用事例紹介
Search
10xinc
July 11, 2023
Programming
2
3.2k
dbt docsを使ったデータカタログの運用事例紹介
10xinc
July 11, 2023
Tweet
Share
More Decks by 10xinc
See All by 10xinc
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
7
820
10Xでのデータ基盤の変遷とこれから: データマネジメントのリアル 〜BtoB企業3社の歩みとこれから〜
10xinc
6
9.8k
10Xが掲げるオリジナルの品質特性について #nihonbashitesttalk / 10X quality characteristic
10xinc
2
1.1k
株式会社10X - Culture Deck
10xinc
86
1.4M
データマネジメントを支える武器としてのメタデータ管理
10xinc
7
36k
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
9
17k
テストの完了をゴールにしない! ~仮説検証を繰り返し、開発・QA・ユーザーが交流しながら開発することで見えてくる理想の姿~ - #RSGT2024 #DevSumi / Shift left and Shift right
10xinc
13
11k
Dataplexとdbt-osmosisを活用した「がんばらない」データカタログとメタデータ管理の運用(Data Engineering Study #22)
10xinc
3
17k
スタートアップにおけるデータマネジメントの始め方の事例紹介(datatech-jp Casual Talks #5)
10xinc
5
11k
Other Decks in Programming
See All in Programming
Swift Testing - iPlayground
chiaoteni
0
140
初めてDefinitelyTypedにPRを出した話
syumai
0
470
Leveling Up Developer Tooling for the Modern Rails & Hotwire Era @ Ruby Türkiye, November 2024
marcoroth
0
150
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
140
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
150
Serverless苦闘史
mosh_inc
0
140
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
1
150
WebAssembly Unleashed: Powering Server-Side Applications
chrisft25
0
2k
Better Code Design in PHP
afilina
PRO
0
140
Develop iOS apps with Neovim / vimconf_2024
uhooi
1
120
.NET 9アプリをCGIとして レンタルサーバーで動かす
mayuki
0
720
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
720
Featured
See All Featured
Side Projects
sachag
452
42k
It's Worth the Effort
3n
183
27k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
760
The Invisible Side of Design
smashingmag
298
50k
Bash Introduction
62gerente
608
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Writing Fast Ruby
sferik
627
61k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Typedesign – Prime Four
hannesfritz
40
2.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
400
Transcript
©10X, Inc. All Rights Reserved. dbt docsを使った データカタログの運用事例紹介 データ基盤管理の考え方 〜データカタログ、データレイクの極意〜
Lunch LT 株式会社10X 瀧本晋也
©10X, Inc. All Rights Reserved. 自己紹介 2 所属: 株式会社10X 氏名:
瀧本 晋也 職種: データプロダクトエンジニア 居住: 山梨 Twitter: @takimo 最近はTokyo dbt Meetupのオーガナイザーを やってます
©10X, Inc. All Rights Reserved.
©10X, Inc. All Rights Reserved.
©10X, Inc. All Rights Reserved. 5 今日はその中でのドキュメントの話 10Xでは DWH構築以外にもdbtを使って 商品在庫データを作ってます
©10X, Inc. All Rights Reserved. アーキテクチャと開発フロー
©10X, Inc. All Rights Reserved. データドキュメント管理の難しさ • データドキュメント頑張ってやろうとしたがなかなか取り組みを進められなかった ◦ 定期的にKPTで出てくる「仕様の管理」や「カラムの意味が分かりづらい」
◦ Tryとして「ドキュメントを書こう」「更新したらドキュメントを修正しよう」というのがでた が書き始めるのも難しいし、ドキュメントがあったとしても更新がされない状態が続い てしまった • 「あとで書く」が難しく、「あとに回せば回すほど更新が大変になる」という事実 ◦ 「あとで書く」は書かない ◦ 「あとで誰か他の人」は書いてくれない(実装者が一番わかっている) ◦ 現在のドキュメントが正しくない場合、差分更新ではなく現在の仕様をすべて確認し た上で「全更新」になってしまう
©10X, Inc. All Rights Reserved. ドキュメント作成を 後回しにしない仕組みや 工夫をしてみた
©10X, Inc. All Rights Reserved. ドキュメント作成を後回しにしないサイクル
©10X, Inc. All Rights Reserved. 解決策の提案 - dbt docs 「あとで書かない、今書く」を実行するために以下の要件を達成するために現在の構成
も考慮してdbt docsを採用 • ドキュメントも差分管理(コード管理)できるようにする • 画像配置、マークダウンでの記載が可能 • 修正差分に合わせて同一PRに混ぜてリリース・反映できる • データカタログのビューワー機能がある • BigQuery等のカラムディスクリプション枠に情報を同期できる • CIでドキュメントが書かれているかチェック処理を組み込むことが可能
©10X, Inc. All Rights Reserved. ドキュメントも差分管理(コード管理)できるようにする dbt docsはYAML形式 でモデル(テーブル)やカ ラムの説明を管理可能
©10X, Inc. All Rights Reserved. 画像配置、マークダウンでの記載が可能 マークダウンでの記載も 可能なため少し込み入っ た表現や説明も見やすく 管理が可能
画像への対応もできる
©10X, Inc. All Rights Reserved. 修正差分に合わせて同一PRに混ぜてリリース・反映できる 修正差分のPRにドキュメ
ントの更新も合わせるこ とで、レビューワーも今回 何のための修正なのかを 理解しやすくなる
©10X, Inc. All Rights Reserved. データカタログのビューワー機能がある dbt Cloudにはdbt docsで書 き出されるファイルをホスティン
グしてくれる機能があり、ユー ザー管理をしながらドキュメント を共有可能 検索機能やデータリネージも確 認できる
©10X, Inc. All Rights Reserved. BigQuery等のカラムディスクリプション枠に情報を同期できる YAMLに記載したカラム の定義やテーブル定義 はBigQueryの Descriptionにdbtの機
能で同期が可能
©10X, Inc. All Rights Reserved. CIでドキュメントが書かれているかチェック処理を組み込むこと が可能 dbt-meta-testingという パッケージを利用すること で、未設定のドキュメントを
確認可能 GithubActions等と組み 合わせればPR作成時に CIでチェックも可能
©10X, Inc. All Rights Reserved. まだまだ道半ば、更新を止めない改善を意識
©10X, Inc. All Rights Reserved.