Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
dbt docsを使ったデータカタログの運用事例紹介
Search
10xinc
July 11, 2023
Programming
2
2.2k
dbt docsを使ったデータカタログの運用事例紹介
10xinc
July 11, 2023
Tweet
Share
More Decks by 10xinc
See All by 10xinc
株式会社10X - Culture Deck
10xinc
84
1.3M
データマネジメントを支える武器としてのメタデータ管理
10xinc
5
26k
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
7
6.8k
テストの完了をゴールにしない! ~仮説検証を繰り返し、開発・QA・ユーザーが交流しながら開発することで見えてくる理想の姿~ - #RSGT2024 #DevSumi / Shift left and Shift right
10xinc
10
6.2k
Dataplexとdbt-osmosisを活用した「がんばらない」データカタログとメタデータ管理の運用(Data Engineering Study #22)
10xinc
2
5.8k
スタートアップにおけるデータマネジメントの始め方の事例紹介(datatech-jp Casual Talks #5)
10xinc
5
5.3k
データプロダクトとは何か
10xinc
6
4.9k
Security Team at 10X inc / セキュリティチームの今@開発共有会
10xinc
1
110
セキュリティチームの話 2023夏@Product Friday
10xinc
1
370
Other Decks in Programming
See All in Programming
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.3k
Apache Hive 4 on Treasure Data
ryukobayashi
1
450
CDKコントリビュートの最初の壁を越えよう! -簡単issueの見つけ方-
badmintoncryer
3
330
GitHub Copilotのススメ
marcy731
1
240
JavaScript Closure
asoluka
0
890
Elm Form Validation
bkuhlmann
0
520
Open AI APIを使う前に知っておきたいアカウントTier の話
akki_megane
0
100
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.4k
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
540
業務ツールとして使うPostman
msys75
0
110
Ruby Pattern Matching
bkuhlmann
0
930
見た目から始める生産性向上
ikumatadokoro
10
1.5k
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
44k
Navigating Team Friction
lara
179
13k
Optimizing for Happiness
mojombo
370
69k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.4k
Atom: Resistance is Futile
akmur
260
25k
Bash Introduction
62gerente
605
210k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
The Invisible Side of Design
smashingmag
294
49k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
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.