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

dbt docsを使ったデータカタログの運用事例紹介

10xinc
July 11, 2023

dbt docsを使ったデータカタログの運用事例紹介

10xinc

July 11, 2023
Tweet

More Decks by 10xinc

Other Decks in Programming

Transcript

  1. ©10X, Inc. All Rights Reserved.
    dbt docsを使った

    データカタログの運用事例紹介

    データ基盤管理の考え方 〜データカタログ、データレイクの極意〜 Lunch LT   株式会社10X 瀧本晋也

    View full-size slide

  2. ©10X, Inc. All Rights Reserved.
    自己紹介

    2
    所属:   株式会社10X

    氏名:   瀧本 晋也

    職種:   データプロダクトエンジニア

    居住:   山梨

    Twitter: @takimo

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


    View full-size slide

  3. ©10X, Inc. All Rights Reserved.

    View full-size slide

  4. ©10X, Inc. All Rights Reserved.

    View full-size slide

  5. ©10X, Inc. All Rights Reserved. 5
    今日はその中でのドキュメントの話
    10Xでは

    DWH構築以外にもdbtを使って

    商品在庫データを作ってます


    View full-size slide

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


    View full-size slide

  7. ©10X, Inc. All Rights Reserved.
    データドキュメント管理の難しさ

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

    View full-size slide

  8. ©10X, Inc. All Rights Reserved.
    ドキュメント作成を

    後回しにしない仕組みや

    工夫をしてみた


    View full-size slide

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


    View full-size slide

  10. ©10X, Inc. All Rights Reserved.
    解決策の提案 - dbt docs

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

    View full-size slide

  11. ©10X, Inc. All Rights Reserved.
    ドキュメントも差分管理(コード管理)できるようにする

    dbt docsはYAML形式
    でモデル(テーブル)やカ
    ラムの説明を管理可能

    View full-size slide

  12. ©10X, Inc. All Rights Reserved.
    画像配置、マークダウンでの記載が可能

    マークダウンでの記載も
    可能なため少し込み入っ
    た表現や説明も見やすく
    管理が可能
    画像への対応もできる

    View full-size slide

  13. ©10X, Inc. All Rights Reserved.
    修正差分に合わせて同一PRに混ぜてリリース・反映できる




    修正差分のPRにドキュメ
    ントの更新も合わせるこ
    とで、レビューワーも今回
    何のための修正なのかを
    理解しやすくなる

    View full-size slide

  14. ©10X, Inc. All Rights Reserved.
    データカタログのビューワー機能がある

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

    View full-size slide

  15. ©10X, Inc. All Rights Reserved.
    BigQuery等のカラムディスクリプション枠に情報を同期できる

    YAMLに記載したカラム
    の定義やテーブル定義
    はBigQueryの
    Descriptionにdbtの機
    能で同期が可能

    View full-size slide

  16. ©10X, Inc. All Rights Reserved.
    CIでドキュメントが書かれているかチェック処理を組み込むこと
    が可能

    dbt-meta-testingという
    パッケージを利用すること
    で、未設定のドキュメントを
    確認可能
    GithubActions等と組み
    合わせればPR作成時に
    CIでチェックも可能

    View full-size slide

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


    View full-size slide

  18. ©10X, Inc. All Rights Reserved.

    View full-size slide