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
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.2k
複数プロダクトを管理する AWS Organizations における AWS IAM Identity Center を GitHub x Terraform でいい感じに運用したい
yhamano
1
2.5k
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
910
Other Decks in Technology
See All in Technology
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
640
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
1
440
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
86k
Microsoft MVP プログラムを紹介するから目指す人増えてくれ
tsubakimoto_s
0
140
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
250
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
GopherCon @シアトル に行ってきました
logica0419
0
400
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
380
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
340
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
460
AI時代の「OAuth認証」にどう物申すか?(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
340
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
0
190
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
New Earth Scene 8
popppiees
3
2.5k
Six Lessons from altMBA
skipperchong
29
4.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
560
So, you think you're a good person
axbom
PRO
2
2.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
560
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
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