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

TIPSTAR におけるデータ分析基盤信頼性向上の取り組み

yhamano
October 31, 2023

TIPSTAR におけるデータ分析基盤信頼性向上の取り組み

yhamano

October 31, 2023
Tweet

More Decks by yhamano

Other Decks in Technology

Transcript

  1. データ分析基盤信頼性向上の取り組み
    MIXI SRE秋祭り 〜 MIXIのもうひとつのSRE 〜

    View full-size slide

  2. 自己紹介
    ● 濱野 悠介 / @yhamano0312

    ● 開発本部 CTO 室 SRE G

    ● Embedded, Platform SREs


    ● Google Cloud, AWS

    ● Go, Terraform


    View full-size slide

  3. アジェンダ
    ● TIPSTAR とは

    ● データ分析基盤活用

    ● データ分析基盤における信頼性

    ● データ分析基盤信頼性向上のために取り組んだこと

    ● まとめ


    View full-size slide

  4. TIPSTARとは

    View full-size slide

  5. TIPSTARとは
    TIPSTAR

    TIPSTARとは、365日配信されるレース映像と、
    競輪・PIST6・オートレースのネット投票を、
    基本無料で楽しむことができるサービスです。

    View full-size slide

  6. データ分析基盤活用

    View full-size slide

  7. データ分析基盤
    ● スマートフォンやIoTの普及/クラウドサービスの台頭に伴い、あらゆるものや場面において
    さまざまなデータの収集が可能となり、企業が保有するデータ量が膨大となっている

    ● それら膨大なデータの蓄積→加工→分析を一貫して行う技術的な基盤として

    データ分析基盤が必要


    View full-size slide

  8. データ分析基盤活用
    ● TIPSTAR では主に以下の用途でデータ分析基盤が使われている

    ○ KPI 確認

    ○ 経理処理

    ○ 既存機能の改修/新機能の立案

    ○ イベント施策立案

    ○ マーケティング戦略立案

    ○ 各種効果検証

    ※画像は機能リリース案内及び過去実施した施策の一例


    View full-size slide

  9. Data Source
    データ分析基盤構成
    Cloud Spanner
    Cloud Logging
    Dataflow
    Google スプレッドシート
    BigQuery
    DWH
    BigQuery
    Data Mart
    Looker
    エンジニア
    ビジネス
    マーケティング
    Vertex AI
    Workflows
    AppsFlyer

    dbt


    View full-size slide

  10. 基盤開発/運用体制
    ● 専任のエンジニアはおらず、TIPSTAR プロダクト開発や他プロジェクトと兼任しているメン
    バー数名で担当している

    ● 極力 Google Cloud のマネージドサービスを活用して、開発/運用工数を削減している


    View full-size slide

  11. データ分析基盤における
    信頼性

    View full-size slide

  12. データ品質モデル ISO/IEC 25012
    ● 正確性(Accuracy)

    ● 完全性(Completeness)

    ● 一貫性(Consistency)

    ● 信憑性(Credibility)

    ● 最新性(Currentness)

    ● アクセシビリティ(Accessibility)

    ● 標準適合性(Compliance)

    ● 機密性(Confidentiality)

    データ品質を測る項目が定義されている

    ● 効率性(Efficiency)

    ● 精度(Precision)

    ● 追跡可能性(Traceability)

    ● 理解性(Understandability)

    ● 可用性(Availability)

    ● 移植性(Portability)

    ● 回復性(Recoverability)

    https://cio.go.jp/sites/default/files/uploads/documents/data_hinshitu_guide_beta.pdf


    View full-size slide

  13. データ品質モデル ISO/IEC 25012
    ● 正確性(Accuracy)

    ● 完全性(Completeness)

    ● 一貫性(Consistency)

    ● 信憑性(Credibility)

    ● 最新性(Currentness)

    ● アクセシビリティ(Accessibility)

    ● 標準適合性(Compliance)

    ● 機密性(Confidentiality)

    データ品質を測る項目が定義されている

    ● 効率性(Efficiency)

    ● 精度(Precision)

    ● 追跡可能性(Traceability)

    ● 理解性(Understandability)

    ● 可用性(Availability)

    ● 移植性(Portability)

    ● 回復性(Recoverability)

    これらデータ品質を保った品質の高いデータによる分析を行えることが望まれる


    View full-size slide

  14. Data Reliability Engineering(DRE)
    ● データ(基盤を含む)の信頼性を管理する取り組み

    ● Site Reliability Engineering(SRE)との違いは注目する対象(サイトなのか

    データなのか)が違うくらいで対処する課題や課題に対するアプローチは酷似している

    ○ SLI/SLO ドリブンな運用

    ○ ソフトウェアツールを用いたシステム管理/運用タスクの自動化


    View full-size slide

  15. データ分析基盤信頼性向上
    のために取り組んだこと

    View full-size slide

  16. データ分析基盤の信頼性に関する課題
    1. Spanner to BigQuery 処理部分のコストが嵩む & 処理が失敗した場合の retry がしづらい

    2. 重要指標は当日分も確認したいが、品質の高いデータが前日分までしか取り込まれていな
    い


    View full-size slide

  17. BigQuery
    今だから知りたい BigQuery 再入門
    https://www.slideshare.net/GoogleCloudPlatformJP/bigquery-google-cloud-inside-games-apps-online


    View full-size slide

  18. Cloud Spanner
    CLOUD ONAIR Database OnAir
    https://services.google.com/fh/files/events/dbonair-session3.pdf#page=4


    View full-size slide

  19. Cloud Dataflow
    Google Cloud スタートアップ向けテクニカル ガイド Buildシリーズ
    Dataflow によるストリーム処理パイプライン
    https://www.youtube.com/watch?v=6JpYdbuOd3g

    View full-size slide

  20. データ分析基盤の信頼性に関する課題
    1. Spanner to BigQuery 処理部分のコストが嵩む & 処理が失敗した場合の retry がしづらい

    2. 重要指標は当日分も確認したいが、品質の高いデータが前日分までしか取り込まれていな
    い


    View full-size slide

  21. Data Source
    データ分析基盤構成(再掲)
    Cloud Spanner
    Cloud Logging
    Dataflow
    Google スプレッドシート
    BigQuery
    DWH
    BigQuery
    Data Mart
    Looker
    エンジニア
    ビジネス
    マーケティング
    Vertex AI
    Workflows
    AppsFlyer

    dbt


    View full-size slide

  22. Spanner to BigQuery の流れ
    ● 日次で Dataflow Job を起動させ、Spanner のデータを BigQuery に

    取り込んでいる

    ○ なお、Dataflow の処理には mercari 社が OSS として提供している template を利用するこ
    とでデータ処理に関する実装/運用コストを削減している

    ● 取り込み元の Spanner Instance はバックアップからリストアしたものを利用

    ○ ユーザのワークロードに影響を与えないため

    https://github.com/mercari/DataflowTemplate

    ユーザー
    Google
    Kubernetes Engine
    Cloud Spanner
    バックアップ

    Cloud Spanner
    リストア

    Dataflow BigQuery

    View full-size slide

  23. ● データ取り込み用の Spanner Instance の利用料が痛い

    ● バックアップからデータ取り込みまでの一連の処理を CircleCI の 

    Schedule Job を組み合わせて実行させているので、どこかのプロセスで

    たまたま時間がかかったりすると後続の Job が失敗してそれぞれの Job を

    手動で retry する必要がある

    ○ Job の retry が遅れてデータ分析に必要なデータが揃わず分析業務が滞ることも

    データ取り込み用 Spanner Instance を利用する場合の課題

    View full-size slide

  24. ● 2023/06/23 GA

    ● 既存のワークロードへの影響をほぼゼロに、分析クエリとデータエクスポートを実行でき
    るフルマネージドサービス

    Spanner Data Boost 登場
    https://cloud.google.com/spanner/docs/databoost/databoost-overview?hl=ja


    View full-size slide

  25. ● データ取り込み処理に Spanner Data Boost を用いることで、

    データ取り込み用 Spanner Instance が必要なくなる

    ○ データ取り込みクエリ実行中のみ処理量に応じて Spanner Data Boost の Compute が立
    ち上がってその分課金となるので、データ取り込み用の Spanner Instance を用意する場合
    と比べて十分の一程度に利用料を削減できそう

    ○ バックアップ/リストアといった前段処理が必要無くなるため、一連のデータ

    パイプラインがシンプルになり、retry もしやすくなった

    Spanner Data Boost を用いたデータ取り込み処理の最適化
    ユーザー
    Google
    Kubernetes Engine
    Cloud Spanner Dataflow BigQuery
    Spanner 

    Data Boost 


    View full-size slide

  26. データ分析基盤の信頼性に関する課題
    1. Spanner to BigQuery 処理部分のコストが嵩む & 処理が失敗した場合の retry がしづらい

    2. 重要指標は当日分も確認したいが、品質の高いデータが前日分までしか取り込まれていな
    い


    View full-size slide

  27. 重要指標のこれまでのデータ分析運用
    ● 基本的な要件であれば前日分までのデータを用いた分析で問題無し

    ● 一部の重要指標(決済関連等)に関しては当日分のデータも分析したい要件がある

    ● 当初は重要指標として利用するデータをログに出力し、Cloud Logging の sink 設定でニ
    アリアルタイムに BigQuery に取り込んでいた

    ● ログの場合は少なからず欠損や多重書き込みがあり、品質の低いデータによる

    分析となっていた

    ● 重要指標の当日分に関しても品質の高いデータで分析したい


    View full-size slide

  28. 品質の高いデータを用いた重要指標のニアリアルタイム分析
    ● BigQuery の Spanner Federated Query を利用する

    ○ BigQuery に Spanner を外部データソースとして設定することで、BigQuery から Spanner に
    直接クエリを投げることができる

    ● BigQuery の Scheduled Query に Spanner Federated Query を用いて Spanner のデー
    タを数分間隔で BigQuery 側のテーブルに同期

    ○ Looker からのクエリを都度 Federated Query で叩いてしまうとユーザワークロードに影響
    が出る可能性があるため

    ○ Spanner Data Boost を利用することも可能だがコストとのトレードオフ

    Cloud Spanner BigQuery
    Looker
    BigQuery
    Federated Query

    View full-size slide

  29. 今後の課題
    ● SLO ドリブンな開発体制までは整えられていないため、データ品質の

    計測から行っていきたい

    ● Data Source から Data Mart 生成/更新までの全体的なデータパイプラインを改善

    ● Data Mart の拡充/改修

    ● Looker の啓蒙と習熟度向上活動


    View full-size slide

  30. まとめ
    ● TIPSTAR においてもデータ分析基盤を利用した様々な分析業務を行っている

    ● データ信頼性に関しても SRE と同じプラクティスが適用可能

    ● 専任エンジニアがいない中で、マネージドサービスや OSS を活用してデータ分析基盤
    の信頼性向上に取り組んでいる


    View full-size slide

  31. 参考資料

    View full-size slide

  32. 参考資料
    ● データの価値を失わないためのData Reliability

    ○ https://speakerdeck.com/tanakarian/detafalsejia-zhi-woshi-wanaitamefalsedata-reliability

    ● データ収集基盤とデータ整備のこれまでとこれから

    ○ https://www.youtube.com/watch?v=eEhwBImCKKc

    ● CNDF2023前夜祭 - 玄界灘のクラウドネイティブなデータ基盤運用の実践

    ○ https://speakerdeck.com/pyama86/cndf2023qian-ye-ji-xuan-jie-tan-nokuraudoneiteibunadetaji-pan-yun
    -yong-noshi-jian

    ● 社内データパイプラインツールを Mercari Dataflow Template としてOSS化しました

    ○ https://engineering.mercari.com/blog/entry/mercari-dataflow-template/

    ● What is Data Reliability Engineering?

    ○ https://www.acceldata.io/article/what-is-data-reliability-engineering

    ● データ品質管理ガイドブック

    ○ https://cio.go.jp/sites/default/files/uploads/documents/data_hinshitu_guide_beta.pdf


    View full-size slide