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

デジタル庁のデータ分析基盤におけるdbtの活用

 デジタル庁のデータ分析基盤におけるdbtの活用

2025/05/12 「データマネジメント」その先へ〜進化するデータと組織戦略~ @インテージ秋葉原オフィス

デジタル庁において
「どのようにdbtを運用しているか?」を中心に話します
dbtの技術的な仕様、メリットデメリットについては、
様々な発表・記事等で触れられているので割愛
ガバナンスを考えてdbtを使っていきましょう、という内容です

Avatar for hase-ryo

hase-ryo

May 11, 2025
Tweet

More Decks by hase-ryo

Other Decks in Business

Transcript

  1. デジタル庁 Fact & Data Unit ⻑⾕川 亮(hase-ryo) • 経歴 ◦ インテージでデータ整備とデータ基盤

    ◦ Webメディアやリクルートをフラフラしてデータ分析 ◦ メルカリでデータ分析とデータマネジメント ◦ デジタル庁 + 副業でいくつかの会社のデータサポートなど • デジタル庁での業務 ◦ 政策データダッシュボード ◦ 上記を⽀えるデータ分析基盤sukunaの開発‧整備 3 ⾃⼰紹介
  2. 4 インテージ時代(2011 ~ 2017)のお話 せっかくなので‧‧ 2011
 2017
 SCI-p(今のSCIパネル)の サーバーサイド開発‧運⽤ PC/Mobile/TVのシングルソースパネル

    (今のi-SSP)の⽴ち上げPJでTV調査パネ ルの開発‧運⽤。CMや番組との接触判定 ロジックなどを設計 i-SSPの全ログ集計を実現するための社内向 け分析基盤の開発‧運⽤。Hadoopの導⼊実 験。ここらへんでひばりヶ丘から秋葉原へ。 ネット接続TVのログパネル(今のmedia gauge)の開発‧運⽤。⾊んなTVメーカーを 巡ったりした
  3. 6 政策データダッシュボードを⽀えるデータ分析基盤「sukuna」 Google Cloud Cloud Functions Cloud Run BigQuery Cloud

    Storage ‧フルクラウド ‧完全内製 ‧詳しくはこちら↓↓ Note デジタル庁のデータ分析基盤「sukuna」 https://digital-gov.note.jp/n/na227ce427930 現在やっていること
  4. 9 データの状況とビジネス要件をチェックしよう dbtって何?の前に‧‧‧ ビジネス要件 データの状況 ‧⼈⼒メンテのExcel ‧統⼀されないフォーマット ‧コードはまちまち ‧機械可読性低め ‧⼤規模‧構造化したデータを

     取得できることは少ない ‧BIツールで可視化 ‧ダッシュボードにしやすい  データフォーマット ‧機械可読性 ‧構造化データ ‧様々なマスターと組み合わせる ‧数値の間違いに厳密
  5. 10 データの状況とビジネス要件のギャップを埋める必要がある dbtって何?の前に‧‧‧ ビジネス要件 データの状況 ‧⼈⼒メンテのExcel ‧統⼀されないフォーマット ‧まちまちなコード ‧機械可読性低め ‧⼤規模‧構造化したデータを

     取得できることは少ない ‧BIツールで可視化 ‧ダッシュボードにしやすい  データフォーマット ‧機械可読性 ‧構造化データ ‧様々なマスターと組み合わせる ギャップをどう埋めるか? →dbtなどのソリューション
  6. 11 dbtで何ができるのか? BigQuery • 「クエリをいい感じの順序で実⾏」 • BigQueryなどのデータウェアハウス と組み合わせてデータのワークフロー を定義 •

    テーブル間の依存関係を解決して適し た順序でワークフローを実⾏ • dbt-osmosisなどの周辺ツールを組み 合わせたメタデータ管理の実現 • その他にもデータの型や値のテストな どなど..
  7. 12 ガバナンスを意識してdbtのモデル構成を考える ⼤事なこと • dbt開発をする ≒ テーブル更新が⾃動実⾏される≒ データ加⼯の⼯業化 • 作り終えたパイプラインは必ず

    「忘れられる」と思ったほうがよい • 無計画なdbt開発の濫⽤はコストと リスクを増やす • ルール、責任の所在、メンテナン ス、ライフサイクル等を考えておく • つまりガバナンス!
  8. 14 三層構造で加⼯を進めるイメージ: 厨房と⽫ 三層構造に分ける理由 • ⽬の前のデータは⾷べ物で例えると どの状態か? ◦ 厨房に届いたばかりの⾷材? ◦

    ⽪剥き‧洗い‧⼀⼝⼤に切るetc.. 下ごしらえ済み? ◦ 茹で‧焼き‧揚げetc.. 調理中の⼀時的な状態? ◦ ⽫に載せて盛り付けて.. 顧客に提供Ready?
  9. 15 調理と同じようにプロセスごとに分けて考える DL (DataLake) DWH (Data WareHouse) DM (DataMart) 下ごしらえ

    炒め 味付け ⽫に載せて 提供! • DL層 ◦ ローデータそのまま or 必須の加⼯処理を施す ◦ 最低限、使うことができる状態 • DWH層 ◦ 本格的な加⼯処理 ◦ 他のデータとも組み合わせる ◦ ビジネスロジックは⼊れすぎない • DM層 ◦ ビジネスロジックを適⽤ ◦ 細かい体裁の整え ◦ 特定⽤途に向けた最終加⼯ 三層構造に分ける理由
  10. 17 「ちょうどいい」モデリングに影響する要素 • 利⽤⽤途 ◦ 様々なユーザーが⾃由に分析する? ◦ 定型化されたダッシュボードの活⽤? ◦ アナリストが細かな深掘りを⾏う?

    • DBの性能‧性質 ◦ BigQueryのようなクラウドベース‧ カラムナフォーマット? ◦ RDBのようなトランザクション‧レ コードベース? • データ品質 ◦ 適時性、整合性、⼀貫性等の評価は? モデリングは中々難しい
  11. 18 他ドメインのデータ参照は基本的にさせないことで⼀本道を作る DL (DataLake) DWH (Data WareHouse) DM (DataMart) A

    A’ A’’ B B’ B’’ • ドメイン(ダッシュボード)ご とにDL / DWH / DM層を⽤意 • 他のドメインのデータは 基本的に参照させない • ドメインごとにデータの流れを シンプルな⼀本道にする • ドメインごとの詳細な権限管理 が可能 • 依存関係が理解しやすくなる 複雑さを抑える参照制御
  12. 20 dbt導⼊は銀の弾丸ではない 解決したい課題に注⽬する まとめ • dbtに限らずデータ加⼯のソリューションは複数ある ◦ いずれも銀の弾丸だと期待しない • ビジネス課題とデータのギャップを意識する ◦

    ツール導⼊に期待することを⾔語化する ◦ カバーできない部分もわかる • 業務フローに組み込むためにツールの周辺で何が必要 かも併せて検討できるとGOOD • コミュニティが活発なのは⼤きなメリット 周辺ツールやトラブルシューティングに⼤いに役⽴つ