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

20240903_セマンティックレイヤー導入に向けたABEMAのツール選定.pdf

calderarie
September 03, 2024
99

 20240903_セマンティックレイヤー導入に向けたABEMAのツール選定.pdf

calderarie

September 03, 2024
Tweet

Transcript

  1. AbemaTV, Inc. All Rights Reserved
 AbemaTV, Inc. All Rights Reserved


    1 セマンティックレイヤー導入に向けた ABEMAのツール選定 2024/09/03 
 エンタメ業界のデータマネジメント最前線 #データマネジメント 株式会社AbemaTV Kazuya Ozawa
  2. AbemaTV, Inc. All Rights Reserved
 株式会社AbemaTV 開発本部 Data div. DataManagement

    Team • 経歴
 ◦ 2016年 データ分析コンサル企業に新卒入社 
 ◦ 2020年 AbemaTVに中途入社 
 ◦ 2023年 アナリスト→アナリティクスエンジニア 
 • スキ ◦ ❤ 早見沙織さん ◦ 📕 漫画 / 🍽 ドカ食い / 🐧 ペンギン ◦ 💰 投資 / 🏋 筋トレ / 😇 サウナ Kazuya Ozawa 2 Profile
  3. AbemaTV, Inc. All Rights Reserved
 話さないこと 話すこと 本日のテーマ 3 •

    弊社がセマンティックレイヤー導入 に至った経緯 • ツール導入に対する検討内容 • 今後の導入や運用に関する展望 • ツール間の俯瞰的な比較 • 各ツールの細かな違い ◦ 詳細仕様や実装方法, etc. • 導入や運用の詳細 ABEMAでセマンティックレイヤーツールを導入する際に、 自社とツールの特徴を照らし合わせて検討した内容を紹介します。
  4. AbemaTV, Inc. All Rights Reserved
 ABEMAでは事業部ごとで分析者が分析を推進している。 各分掌にBIレポートが整備され、利用は最適化される一方で、 それぞれの集計定義等のナレッジは属人化が進行してしまう。 ABEMAのデータ利用と現状の課題 (1/2)

    🤝 サブスク 事業責任者 分析者 施策担当者 BIレポート BIレポート BIレポート 🔍 🤝 広告 事業責任者 分析者 施策担当者 BIレポート BIレポート BIレポート 🔍 … ❓ ❓
  5. AbemaTV, Inc. All Rights Reserved
 担当者の交代や事業の変化に併せた度重なる改修で、 レポート内の仕様は、誰も仕様が分からない秘伝のタレに。 徐々に、分析のQCDが低下していってしまう。 ABEMAのデータ利用と現状の課題 (2/2)

    • 信頼性の低下 ◦ 過去に行った類似の分析と異なる結果に • 再利用性の低下 ◦ 頻出定義の集計に費用がかかる • 即時性の低下 ◦ 集計を得るのに調査等でタイムラグが発生 Quality Cost Delivery
  6. AbemaTV, Inc. All Rights Reserved
 セマンティックレイヤーの役割 DWH 3. 結果 セマンティック

    レイヤー 2. SQL実行 1. クエリ ディメンション  受注月, 顧客ID メジャー  売上 3. 結果 DWH上のデータと集計定義の間を翻訳する存在。 ユーザは、ツールで慣れ親しんだ概念を選択するだけで、 SQL等を使った複雑なデータ処理を意識せずに、任意の集計が可能になる。 DWH 2. 結果 1. SQLによるクエリ 月別の各顧客の 売上を集計するに は・・??
  7. AbemaTV, Inc. All Rights Reserved
 セマンティックレイヤーによる構成の変化 BIレポート DWH … 集計定義

    BI レポート DWH … セマンティック レイヤー 集計定義 BI レポート BI レポート BIレポート BIレポート 集計定義 集計定義 集計定義 集計定義 … 現状 セマンティックレイヤー導入
  8. AbemaTV, Inc. All Rights Reserved
 セマンティックレイヤーによる分析 QCDの改善 分析QCDの改善するため、集計定義を一箇所に集中管理し、 信頼できる定義を即座に再利用できる仕組みを構築するのに、 セマンティックレイヤーの導入を進めています。

    • 信頼性の改善 ◦ 一貫性のある定義で再現性のある結果 • 再利用性の改善 ◦ 頻出定義の集計が低費用で実現できる • 即時性の改善 ◦ 即座に集計が行える Quality Cost Delivery
  9. AbemaTV, Inc. All Rights Reserved
 セマンティックレイヤーの構成要素 引用: https://github.com/cube-js/cube • セマンティックモデル

    ◦ 接続したテーブルから集計定義をコードで定義 • API ◦ DWHへの接続 ◦ アプリへの統合 • キャッシュ ◦ クエリの高速化・効率化 ◦ DWHのコスト削減 • アクセス制御 ◦ ユーザ毎に行・列レベルの制御 DWH上のデータと集計定義を繋ぐセマンティックモデル以外にも、 いくつかの機能を実現するための構成要素が存在する。
  10. AbemaTV, Inc. All Rights Reserved
 ABEMAのセマンティックレイヤー導入にあたっての要件 • セマンティックモデル ◦ 現状のBIレポートで扱っている集計定義を表現できる

    • API ◦ DWHとしてBigQuery、BIとしてTableauへの統合機能が利用できる • キャッシュ ◦ 導入により、クエリパフォーマンスに大きな影響がない ▪ 事前の見積もりが困難なので、 PoC時に確認 • アクセス制御 ◦ 必須ではない (DWH側やBI側でも制御) • その他 ◦ バージョン管理や開発時の環境切り分けが可能 ◦ ツール自体の管理コストが低い (インフラ管理不要なSaaSが望ましい) ◦ 費用が年間 xxx 以内に収まる 各機能について以下のような点に注目し、候補ツールを絞り込んでいった。
  11. AbemaTV, Inc. All Rights Reserved
 (appx.) API要件を満たす候補ツールの簡易比較表 ※24年7月調査 モデル周りは後述 分類

    / 提供形態 キャッシュ アクセス制御 その他 BI統合型SaaS ※他BIへの統合も提供 ⚪ 内部キャッシュと ユーザによる事前集計 ⚪ ・対称集計 ・データテスト ・詳細な監査ログ 汎用型SaaS ※OSS版(Cube Core)も ⚪ 内部キャッシュと ユーザによる事前集計 ⚪ ・対応ツールが豊富 汎用型SaaS ◎ 集約テーブルを システム側で自動構築 ⚪ ・集約テーブル管理に 独自の強み パイプライン統合型 SaaS ※OSS(dbt Core)は BI統合が不可 △ 集約テーブル管理のみ × 今後の対応予定あり ・半加法や表計算の メジャー定義に対応 Looker Cube Cloud AtScale dbt Cloud
  12. AbemaTV, Inc. All Rights Reserved
 候補ツールの洗い出し カタログスペック上で容易に比較できるAPI等の要件を満たすツールから、 Lookerとdbt Cloudを有力候補とした。 重要なセマンティックモデルの仕様について、更に比較する。

    • Looker ◦ BI統合型ツールだが、Tableauや他ツールへの統合機能も提供 ◦ 基本機能が揃っている上、Looker独自の機能も ▪ データテストや充実した監査ログなど • dbt Cloud ◦ dbt Semantic Layer(セマンティックレイヤー機能)を提供 ◦ 弊社でdbt導入を進行中であったため、 DWH層とセマンティック層を1ツールで管理できるメリット ◦ 他ツール比較で機能不足は否めないが、今後の機能拡充に期待
  13. AbemaTV, Inc. All Rights Reserved
 Lookerとdbt Cloudの扱うセマンティックモデル 22 • 参照テーブルはdbtモデルのみ

    • 結合に制約あり ◦ 事前定義のEntityから自動結合 ◦ Fan-out joinに未対応 ◦ 結合回数の制限(Multi-hop joins) dbt Cloud (dbt Semantic Layer) Looker • 参照テーブルの自由度が高い ◦ 接続DBのテーブル ◦ DBのクエリ結果(派生テーブル) • 結合の自由度も高い ◦ 結合テーブルを柔軟な条件で指定 Lookerとdbt Cloudは、モデルの定義にあたって、 参照可能なテーブルと結合に関して、大きな違いがある。
  14. AbemaTV, Inc. All Rights Reserved
 dbt Semantic Layerの結合周りの仕様 モデル内のEntity(キー制約)定義から自動的に結合が定義される。 しかし、結合が許可されるEntity関係が定められており(右下の図)、

    一度に利用可能なテーブルに制約がある(multi-hop joins / 結合は2回まで)。 引用: https://docs.getdbt.com/docs/build/join-logic ⭕ country_name別のpurchase_priceの集計は可能 ❌ region_name別のpurchase_priceの集計は不可   (salesからrefion_dimまでに3回結合が必要でfan-out joinsを含む)
  15. AbemaTV, Inc. All Rights Reserved
 セマンティックモデル特性の業務への影響 • 自由度の高いセマンティックモデル (LookerやCube) ◦

    事前の綿密なデータモデリングは必須ではない ◦ セマンティック層の自由度が高いことで、属人化の恐れ → 導入の敷居は低いが、柔軟な故に属人化を回避するための運用が必須 • 自由度の低いセマンティックモデル (dbt CloudやAtScale) ◦ 参照テーブルが事前にモデリングされた前提 ◦ 前提条件があることで、ツール内のモデル管理がブレにくい → 事前のモデリングが必要で敷居は上がるが、堅牢な運用が可能 セマンティックモデル構築の自由度の違いは、業務へ大きな影響を及ぼす。 モデル特性を踏まえて、ツール選定を行うべき。
  16. AbemaTV, Inc. All Rights Reserved
 ABEMAにおけるモデリング業務の特徴 (1/2) ABEMAが扱うデータモデルは、複雑性が高い。 • 視聴モデルの難易度の高さ

    ◦ 1つの視聴イベントの中に、多くの要素 ▪ ユーザステータス, コンテンツ, 視聴形態, プレイヤー状態, etc. ◦ 更に、視聴中の連続的な状態変化をどうモデル化するか? ◦ そもそも、いつからいつまでが視聴のイベントなのか? • 様々なモデリング対象 ◦ 視聴以外にも、「コンテンツ」「サブスク」「広告」等 ◦ それぞれ独立ではなく、相互に掛け合わせた分析
  17. AbemaTV, Inc. All Rights Reserved
 ABEMAの特性からセマンティックモデルの選択 扱うモデルの複雑性や社内の分析ニーズを鑑みて、 自由度の高いセマンティックモデルであるべきだと判断。 機能も揃っているLookerを最有力候補として検討中。 自由度の高い

    セマンティックモデル モデル定義変更時にデータモデリングが必須でなく、 セマンティックモデル側である程度吸収して対応可能。 継続的に価値を発揮できる。 自由度の低い セマンティックモデル 変更時点でデータモデリングが必要で、 場合によっては変更までに時間がかかる。 一時的に価値を発揮できない時期が発生しうる。
  18. AbemaTV, Inc. All Rights Reserved
 ABEMAでのセマンティックレイヤーの持続的な価値提供 4. 各層のアップデート 1. 新規モデルの構築

    2. 分析PDCAを通して修正 3. 利用数や利用用途の確認 セマンティックレイヤー DWH アプリケーション 事業変化に適応できるセマンティックレイヤーとして、Looker を導入予定。 一方で、想定されるセマンティックモデル上での属人化を回避するため、 持続的にセマンティックレイヤーを維持するライフサイクル構築を行う。
  19. AbemaTV, Inc. All Rights Reserved
 まとめ • ABEMAの抱える課題とセマンティックレイヤー導入への展望を紹介 • セマンティックレイヤーツール導入時の検討ポイントについて紹介

    ◦ 利用しているDWHやBIとの統合性などの自社の制約要件を満たすか ◦ ツールで扱うセマンティックモデルが自社の特性と合うか • ABEMAでは今後Lookerの長期的に持続可能な運用を目指す