Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TIPSTAR におけるデータ分析基盤信頼性向上の取り組み
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yhamano
October 31, 2023
Technology
2.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TIPSTAR におけるデータ分析基盤信頼性向上の取り組み
yhamano
October 31, 2023
More Decks by yhamano
See All by yhamano
MIXI での HCP Terraform 活用事例 / Use Case of HCP Terraform at MIXI
yhamano
2
1.2k
Self-Service Implementation of AWS IAM Identity Center Permissions
yhamano
1
1.1k
複数プロダクトを管理する AWS Organizations における AWS IAM Identity Center を GitHub x Terraform でいい感じに運用したい
yhamano
1
2.4k
Opsしかやってこなかった私が DevOpsが根付いたチームにJoinした話
yhamano
2
2k
CI/CD環境のTerraform versionを最新に保つと幸せになれる
yhamano
9
2.3k
IAMの地味なUpdateをご紹介_掲載用.pdf
yhamano
0
890
lightning-talk-toyosu_hamano_20190925_open.pdf
yhamano
0
900
Other Decks in Technology
See All in Technology
Chainlitで作るお手軽チャットUI
ynt0485
0
210
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
330
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
170
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
150
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
390
Snowflakeと仲良くなる第一歩
coco_se
4
440
攻撃者視点で考えるDetection Engineering
cryptopeg
2
1.4k
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
890
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
880
AAIFに入ってみた ~内から見えるコミュニティ動向~
sato4
0
180
How Timee Delivers Day 1 Production Ready LLM Features
tomoyks
0
160
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
370
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Claude Code のすすめ
schroneko
67
230k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
Building AI with AI
inesmontani
PRO
1
1.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
180
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
610
Unsuck your backbone
ammeep
672
58k
Transcript
データ分析基盤信頼性向上の取り組み MIXI SRE秋祭り 〜 MIXIのもうひとつのSRE 〜
自己紹介 • 濱野 悠介 / @yhamano0312 • 開発本部 CTO 室
SRE G • Embedded, Platform SREs • Google Cloud, AWS • Go, Terraform
アジェンダ • TIPSTAR とは • データ分析基盤活用 • データ分析基盤における信頼性 • データ分析基盤信頼性向上のために取り組んだこと
• まとめ
TIPSTARとは
TIPSTARとは TIPSTAR TIPSTARとは、365日配信されるレース映像と、 競輪・PIST6・オートレースのネット投票を、 基本無料で楽しむことができるサービスです。
データ分析基盤活用
データ分析基盤 • スマートフォンやIoTの普及/クラウドサービスの台頭に伴い、あらゆるものや場面において さまざまなデータの収集が可能となり、企業が保有するデータ量が膨大となっている • それら膨大なデータの蓄積→加工→分析を一貫して行う技術的な基盤として データ分析基盤が必要
データ分析基盤活用 • TIPSTAR では主に以下の用途でデータ分析基盤が使われている ◦ KPI 確認 ◦ 経理処理 ◦
既存機能の改修/新機能の立案 ◦ イベント施策立案 ◦ マーケティング戦略立案 ◦ 各種効果検証 ※画像は機能リリース案内及び過去実施した施策の一例
Data Source データ分析基盤構成 Cloud Spanner Cloud Logging Dataflow Google スプレッドシート
BigQuery DWH BigQuery Data Mart Looker エンジニア ビジネス マーケティング Vertex AI Workflows AppsFlyer dbt
基盤開発/運用体制 • 専任のエンジニアはおらず、TIPSTAR プロダクト開発や他プロジェクトと兼任しているメン バー数名で担当している • 極力 Google Cloud のマネージドサービスを活用して、開発/運用工数を削減している
データ分析基盤における 信頼性
データ品質モデル 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
データ品質モデル ISO/IEC 25012 • 正確性(Accuracy) • 完全性(Completeness) • 一貫性(Consistency) •
信憑性(Credibility) • 最新性(Currentness) • アクセシビリティ(Accessibility) • 標準適合性(Compliance) • 機密性(Confidentiality) データ品質を測る項目が定義されている • 効率性(Efficiency) • 精度(Precision) • 追跡可能性(Traceability) • 理解性(Understandability) • 可用性(Availability) • 移植性(Portability) • 回復性(Recoverability) これらデータ品質を保った品質の高いデータによる分析を行えることが望まれる
Data Reliability Engineering(DRE) • データ(基盤を含む)の信頼性を管理する取り組み • Site Reliability Engineering(SRE)との違いは注目する対象(サイトなのか データなのか)が違うくらいで対処する課題や課題に対するアプローチは酷似している
◦ SLI/SLO ドリブンな運用 ◦ ソフトウェアツールを用いたシステム管理/運用タスクの自動化
データ分析基盤信頼性向上 のために取り組んだこと
データ分析基盤の信頼性に関する課題 1. Spanner to BigQuery 処理部分のコストが嵩む & 処理が失敗した場合の retry がしづらい
2. 重要指標は当日分も確認したいが、品質の高いデータが前日分までしか取り込まれていな い
BigQuery 今だから知りたい BigQuery 再入門 https://www.slideshare.net/GoogleCloudPlatformJP/bigquery-google-cloud-inside-games-apps-online
Cloud Spanner CLOUD ONAIR Database OnAir https://services.google.com/fh/files/events/dbonair-session3.pdf#page=4
Cloud Dataflow Google Cloud スタートアップ向けテクニカル ガイド Buildシリーズ Dataflow によるストリーム処理パイプライン https://www.youtube.com/watch?v=6JpYdbuOd3g
データ分析基盤の信頼性に関する課題 1. Spanner to BigQuery 処理部分のコストが嵩む & 処理が失敗した場合の retry がしづらい
2. 重要指標は当日分も確認したいが、品質の高いデータが前日分までしか取り込まれていな い
Data Source データ分析基盤構成(再掲) Cloud Spanner Cloud Logging Dataflow Google スプレッドシート
BigQuery DWH BigQuery Data Mart Looker エンジニア ビジネス マーケティング Vertex AI Workflows AppsFlyer dbt
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
• データ取り込み用の Spanner Instance の利用料が痛い • バックアップからデータ取り込みまでの一連の処理を CircleCI の
Schedule Job を組み合わせて実行させているので、どこかのプロセスで たまたま時間がかかったりすると後続の Job が失敗してそれぞれの Job を 手動で retry する必要がある ◦ Job の retry が遅れてデータ分析に必要なデータが揃わず分析業務が滞ることも データ取り込み用 Spanner Instance を利用する場合の課題
• 2023/06/23 GA • 既存のワークロードへの影響をほぼゼロに、分析クエリとデータエクスポートを実行でき るフルマネージドサービス Spanner Data Boost 登場
https://cloud.google.com/spanner/docs/databoost/databoost-overview?hl=ja
• データ取り込み処理に 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
データ分析基盤の信頼性に関する課題 1. Spanner to BigQuery 処理部分のコストが嵩む & 処理が失敗した場合の retry がしづらい
2. 重要指標は当日分も確認したいが、品質の高いデータが前日分までしか取り込まれていな い
重要指標のこれまでのデータ分析運用 • 基本的な要件であれば前日分までのデータを用いた分析で問題無し • 一部の重要指標(決済関連等)に関しては当日分のデータも分析したい要件がある • 当初は重要指標として利用するデータをログに出力し、Cloud Logging の sink
設定でニ アリアルタイムに BigQuery に取り込んでいた • ログの場合は少なからず欠損や多重書き込みがあり、品質の低いデータによる 分析となっていた • 重要指標の当日分に関しても品質の高いデータで分析したい
品質の高いデータを用いた重要指標のニアリアルタイム分析 • 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
今後の課題 • SLO ドリブンな開発体制までは整えられていないため、データ品質の 計測から行っていきたい • Data Source から Data
Mart 生成/更新までの全体的なデータパイプラインを改善 • Data Mart の拡充/改修 • Looker の啓蒙と習熟度向上活動
まとめ
まとめ • TIPSTAR においてもデータ分析基盤を利用した様々な分析業務を行っている • データ信頼性に関しても SRE と同じプラクティスが適用可能 • 専任エンジニアがいない中で、マネージドサービスや
OSS を活用してデータ分析基盤 の信頼性向上に取り組んでいる
参考資料
参考資料 • データの価値を失わないための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