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

Pocochaにおけるデータマネジメント

DeNA_Tech
March 15, 2023

 Pocochaにおけるデータマネジメント

2022/10/06 に開催された
「DeNA流 データ組織の整え方 ~総データ量数ペタバイト!約30プロダクトを横断するデータ本部のデータドリブンな組織設計・継続運用のノウハウ~」
での データ本部データ基盤部データエンジニアリング第一グループ 長谷川 了示の登壇資料です。

イベントページ:https://techplay.jp/event/873773?pw=2a2k6wQp

DeNA_Tech

March 15, 2023
Tweet

More Decks by DeNA_Tech

Other Decks in Technology

Transcript

  1. © DeNA Co.,Ltd. • 新卒 -> コンサルティングファーム • 製品開発@分析系SaaS ベンダ

    • 2016年9月 DeNA 入社 - 全社データプラットフォームの 設計・構築・運用 - 直近は pococha を含むライブストリーミング 事業のデータ基盤を担当 2 自己紹介 長谷川 了示 DeNA データ本部データ基盤部 データエンジニアリング第一グループ グループリーダー
  2. © DeNA Co.,Ltd. • データエンジニアは分析 基盤のみ提供し、事業部 側でデータ/レポート整備 • データの規模/複雑度がま だ大きくなく、事業部側

    でなんとかできる • データが大規模化、複雑 化し、使いやすい形に整 える作業が重要 • データエンジニアは分析 基盤に加え、データ/レ ポート整備もアナリスト と協働して推進する データエンジニア 新興事業 事業部/アナリスト 6 DeNA におけるデータエンジニアと事業の役割分担パターン レポーティング・分析 データウェアハウス/ データマート整備 基盤構築/運用 データエンジニア 事業部/アナリスト レポーティング・分析 データウェアハウス/ データマート整備 基盤構築/運用 主要事業 多くの事業を展開しており、事業の状況に応じて役割分担を変えている
  3. © DeNA Co.,Ltd. • データが大規模化、複雑 化し、使いやすい形に整 える作業が増大 • データエンジニアは分析 基盤に加え、データ/レ

    ポート整備もアナリスト と協働して推進する データエンジニア 新興事業 事業部/アナリスト 7 Pococha は新興事業として始まった レポーティング・分析 データウェアハウス/ データマート整備 基盤構築/運用 データエンジニア 事業部/アナリスト レポーティング・分析 データウェアハウス/ データマート整備 基盤構築/運用 主要事業 • データエンジニアは分析 基盤のみ提供し、事業部 側でデータ/レポート整備 • データの規模/複雑度がま だ大きくなく、事業部側 でなんとかできる
  4. © DeNA Co.,Ltd. 事業が急成長するのに伴い、アナリストの業務負荷が増大し、事業担当者の問に対 して迅速に回答を出すことが困難になっていった 9 pococha のデータ基盤で生じた課題 事業担当者 アナリスト

    データ ・・・ ・・・ ・・・ 施策の振り返りや仮説検証等のための分析 /レポーティングのニーズ・重要度が急増 分析対象データの量/種類も急増 • データ整備の負荷が増大 • データ欠損/不整合等の問題も目立つようになり、 分析前に都度、確認が必要となった
  5. © DeNA Co.,Ltd. データエンジニア 新興事業 事業部/アナリスト 10 データエンジニアをアサインし、主要事業パターンへ移行 レポーティング・分析 データウェアハウス/

    データマート整備 基盤構築/運用 データエンジニア 事業部/アナリスト レポーティング・分析 データウェアハウス/ データマート整備 基盤構築/運用 主要事業 ライブストリーミング事業担当の データエンジニアがアサインされ 主要事業パターンへ移行を開始
  6. © DeNA Co.,Ltd. 1. 体制強化 1. 集計バッチ運用の巻取り 2. データウェアハウス/データマート構築における協働作業 3.

    アナリストの daily scrum 等へ参加し、常に状況を共有 2. 自動化推進 1. ELT のシステム構成見直し/統合 3. データマネジメント推進 1. データ/レポートの設計標準策定 2. データ品質チェック 3. 利用状況のモニタ 大きく3つの領域で改善の取り組みを推進中 12 本日のスコープ
  7. © DeNA Co.,Ltd. データマネジメント推進の背景 データ品質に関する問題が顕在化していた。 • プロダクト側のデータモデル変更に起因する問題がしばしば生じていた ◦ バージョンアップと共に新しいテーブルに移行される、など... ◦

    分析への影響を事前に把握しきれず、問題が起きてから気づくというケー スが発生 ◦ 関連する集計テーブル、レポートを洗い出し、修正する手間も小さくない • アナリストがデータウェアハウスやデータマートを構築していたが、品質担保が 十分でなかった 13
  8. © DeNA Co.,Ltd. データ基盤(BigQuery)のデータを3階層に分類 データ/レポートの設計標準策定: データとレポートの分類 15 1 Source プロダクトのDBテーブルのコピーやログ等の生データ

    Warehouse Source を分析で使いやすい形式に一次加工したデータ Mart Warehouse を更に使い勝手のよい形に加工したデータ BIツール上のレポートを、保守対象とそうでないものに区分 保守対象 レポート 分析チームが品質に責任を持つレポート 定常的に多くのメンバが確認するものを対象とする 保守対象外 レポート アドホックな用途等で作成されたレポート等 日々、様々なメンバにより多数作成されている
  9. © DeNA Co.,Ltd. データ/レポートの設計標準策定: 依存関係のルール化 16 1 データ基盤 (BigQuery) Source

    Warehouse Mart BI ツール 保守対象レポート Mart の集計で Source を参照するのはNG • Source へ依存する箇所をなるだけ Warehouse に限定する • Warehouse、Mart 層でデータ品質を担保する 保守対象レポートで Source を参照するのはNG Warehouse、Mart に対し品質 チェックを実施(次項参照)
  10. © DeNA Co.,Ltd. pococha システム テーブル間の整合性のチェック 例: 会計用に pococha 側で作成しているテーブルと

    warehouse で売上の合計が一致していることを確認 ! 制約条件のチェック • Primary Key は想定通りになっているか? • 全行NULLになっているカラムはないか?  等 Warehouse、Mart について、「期待される制約条件を満たしているか?」 「テーブル間で整合しているか?」といった観点でチェック データ品質チェック: チェック観点 17 2 ID 1 NULL 2 NULL 3 NULL 3 NULL … … ! Date Transaction ID amount 2022/xx/yy 001 ¥ 100 2022/xx/yy 002 ¥ 100 2022/xx/yy 003 ¥ 100 2022/xx/yy 004 ¥ 100 … … … BigQuery Date User ID … amount 2022/xx/yy a ¥ 100 2022/xx/yy b ¥ 100 2022/xx/yy c ¥ 100 2022/xx/yy d ¥ 100 … … … !
  11. © DeNA Co.,Ltd. 日次でシステム監視 • 内製のバッチでメトリクスを収集し BigQuery に保存した上で Looker で可視化

    • 異常を検知したら Looker の通知機能で slack 通知 データ基盤 (BigQuery) 内製バッチ データ品質チェック: 仕組み 18 2 Warehouse Mart 品質 メトリクス Looker 品質管理 ダッシュボード 異常を検知したら Slack に通知
  12. © DeNA Co.,Ltd. • 設計標準に準拠しているか? ◦ ルールを決めるだけでは守られない • どれくらい頻繁に利用されているか? ◦

    使われていないテーブル/レポートは廃止し、コストを削減 ◦ 頻繁に使われている生データがあれば、warehouse/mart 化を検討する 19 3 利用状況のモニタ: モニタ観点
  13. © DeNA Co.,Ltd. BI ツール BigQuery、BIツールのメタデータを収集/活用し、可視化している 20 3 利用状況のモニタ: 仕組み

    データ基盤 (BigQuery) Report Metadata Report Access Log Table Metadata Job Metadata BigQuery のメタデータ BIツールのメタデータ 頻繁にアクセスされて いる source ランキング 見られていない レポート一覧 Source を参照して 作成された Mart 一覧 Source を参照している レポート一覧 参照されていない テーブル一覧 ・・・
  14. © DeNA Co.,Ltd. • ツールいろいろ出てきたので内製でなくてもよさそう ◦ Dataplex data quality、Dataform、dbt あたりを検証・検討中

    • NULLチェック等、全てのテーブル/カラムで実行したい項目は、設定せず とも自動でチェックが回るようにしたい • メトリクス収集とアラートを一元管理できるようにしたい 24 • メトリクスを収集する部分はフル内製 • テーブル/カラム毎に全てのチェック項目を設定する必要あり • メトリクス収集(内製バッチ)とアラート(Looker)をそれぞれ設定している データ品質チェックの仕組み改善 1 現 状 今 後 の 展 望
  15. © DeNA Co.,Ltd. 頻繁に類似した複雑なクエリを発行している場合、 warehouse/mart のリファクタリングや新規追加を することで改善できるのでは? 複雑度の指標の候補 行数 参照テーブル数

    etc SELECT … FROM xxx LEFT JOIN xxx … データの参照のされ方をより詳細に分析することで、より使いやすい warehouse /mart 設計に活かせるのでは? 25 クエリの複雑度のモニタリング 2
  16. © DeNA Co.,Ltd. 1. Pococha では事業の急成長に伴い、アナリストの業務負荷が増大し、事業担当者 の問に対して迅速に回答を出すことが困難になっていった 2. 課題を解決するために、データエンジニアがより深く支援する体制に移行した 3.

    その中から今回はデータマネジメントの推進をご紹介した 4. 「データ/レポートの設計標準策定」「データ品質チェック」「利用状況のモニ タ」といった取り組みを通じ、アナリストが仕事のしやすい状態を実現できた 5. 今後もより高度なデータマネジメントを目指し、活動していく 26 まとめ