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
データの価値を失わないためのData Reliability
Search
Sotaro Tanaka
February 06, 2020
Technology
7
11k
データの価値を失わないためのData Reliability
Sotaro Tanaka
February 06, 2020
Tweet
Share
More Decks by Sotaro Tanaka
See All by Sotaro Tanaka
ABEMAはなぜセマンティックレイヤーに挑戦しているのか?
tanakarian
0
920
データ基盤の○層構造を独り歩きさせない データモデリング設計 Data Ops Night #1
tanakarian
3
4.7k
dbtを活用したデータ基盤の 論理・物理設計の現在地と振り返り / data warehouse logic design by using dbt
tanakarian
8
15k
データ分析基盤の障害を未然に防ぐためのチェックリスト / checklist for preventing incidents of data management system
tanakarian
1
13k
building-evolutionary-data-warehouse
tanakarian
2
10k
Other Decks in Technology
See All in Technology
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
120
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
660
怖くない!はじめてのClaude Code
shinya337
0
260
GitHub Copilot の概要
tomokusaba
1
140
rubygem開発で鍛える設計力
joker1007
2
260
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.2k
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
260
5min GuardDuty Extended Threat Detection EKS
takakuni
0
180
Geminiとv0による高速プロトタイピング
shinya337
0
180
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
170
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
1
120
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
100
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building an army of robots
kneath
306
45k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Code Review Best Practice
trishagee
69
18k
Unsuck your backbone
ammeep
671
58k
RailsConf 2023
tenderlove
30
1.1k
The Cult of Friendly URLs
andyhume
79
6.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
Transcript
1 データの価値を失わないための Data Reliability Engineering 前向きデータ整備人 #2 / 2020-02-06
2 • 自己紹介 / 会社紹介 • Data Reliability Engineeringとは何か •
Data Reliability Engineeringのはじめかた • eurekaでのData Reliability Engineeringの取り組み 今日話すこと
3 Sotaro Tanaka @__sotaron__ Data Engineer @ SRE Team, eureka
Inc. • データ基盤の設計 / 構築 / 運用 • SRE • Data Reliability Engineering • 好き: BigQuery / Docker / k8s / Go / Python • 趣味: アニメ / ゲーム 自己紹介
4 Key Takeaways(先出し) • データの価値を失わないためには、データの整備だけでなく、品質やReliabilityに ついても目を向ける必要がある • データのReliabilityは、エンジニアだけで考えるものではない • Data
Reliability Engineeringは、理論も実践もこれからな分野。仲間求ム。
5 Data Reliability Engineering とは何か?
6 前提 • 「Data Reliability Engineering」には、 どこかの機関が定めている定義はありません (たぶん) • eurekaが実務上課題にぶち当たり、必要にかられて発生したムーブです
• ある程度一般化することで、他の人に資するのでは?と思い、話をします
7 Why ? Data Reliability Engineering
8 [Why?] Data Reliability Engineering ソフトウェアに品質があるように、データにも品質がある ※ DMBOK本の「データ品質」のセクションおすすめ
9 case1: A/Bテストとデータ欠損 • ある施策で、セグメントを2つに分けて、新機能のA/Bテストを実施した • 新機能の実装において、特定条件でログが発火しないバグがあった → 新機能に対して否定的なアクションのログが欠損していたら? →
間違った意思決定をする可能性は高い
10 データの完全性、一貫性の問題 • ある施策で、セグメントを2つに分けて、新機能のA/Bテストを実施した • 新機能の実装において、特定条件でログが発火しないバグがあった → 新機能に対して否定的なアクションのログが欠損していたら? → 間違った意思決定をする可能性は高い
11 case2: 「これ、本当に最新のデータ?」 • 毎朝8:00に更新されるKPIレポート、 PMはみんな朝このレポートを見て、サービスのヘルスチェックをしている • ある施策のリリース後、関連バッチタスクのリソース圧迫により、ログが遅延してい た →
アクション率の計算が不当に低くなり、切り戻し判断をしてしまうかも → 遅延が常態化すれば、PMにとって意思決定に使えないデータになる
12 データの適時性 Timelinessの問題 • 毎朝8:00に更新されるKPIレポート、 PMはみんな朝このレポートを見て、サービスのヘルスチェックをしている • ある施策のリリース後、関連バッチタスクのリソース圧迫により、ログが遅延してい た →
アクション率の計算が不当に低くなり、切り戻し判断をしてしまうかも → 遅延が常態化すれば、PMにとって意思決定に使えないデータになる
13 case3: データ基盤 AM3:00 インフラエンジニア AM3:00「なんかバッチタスクこけてる!急いで直さなきゃ!」 AM5:00「ふう…なんとか直った。寝よう。明日起きれるかな…」 アナリスト 翌朝「あー、そのタスクたまに失敗するやつだからほっといていいよ」
14 サービスレベルがない問題 つらい
15 DREはデータの価値を失わないためにある 以下のような指標を監視することで、高品質なデータを提供し続ける • データがどれくらい欠損しているか => Integrity • あるデータが他のデータと一貫しているか =>
Consistency • レポートは見る人にとって適切な新鮮さで更新されているか? => Timeliness • etc...
16 What ? Data Reliability Engineering
17 [What?] Data Reliability Engineering What is データ信頼性エンジニアリング = Data
Reliability Engineering(DRE) ??
18 DRE = SRE, DBRE ? 似ているが、全く同じものではない
19 DRE impl Reliability Engineering Reliability Engineering 信頼性エンジニアリング Data Reliability Engineering
Reliability Engineeringの具象としてのSRE, DBRE, DRE
20 DRE impl Reliability Engineering w/ DevOps Reliability Engineering 信頼性エンジニアリング Data
Reliability Engineering
21 ソフトウェアの不確実性やリスクと向き合い続ける営み Reliability Engineering
22 価値のデリバリーに関わる各チームの協力体制とそれを可能にするメソッド • CI/CD、自動化 • Dev ⇄ Opsのフィードバック • etc..
DevOps, DataOps, etc...
23 Who ? Data Reliability Engineering
24 [Who?] Data Reliability Engineering ベースは、GoogleのSREチームの簡潔な定義をそのまま引用できそう My explanation is simple:
SRE is what happens when you ask a software engineer to design an operations team. ( 『Site Reliability Engineering』より)
25 AnalyzeとOps, DataとOps とはいえ、アナリストとエンジニアではスキルセットが大きく違う場合もある • サービスレベルを軸に、AnalyzeとOpsの関心ごとを接続しよう
26 Data Reliability Engineering のはじめかた
27 DREのロードマップ、サイクル まずは、モニタリングを始めるところまで。その先はサイクルを回す。
28 サービスレベルの設計から ユーザーにとっての「使える/使えない」からサービスレベルに落とし込む
29 効果的なモニタリングを継続的におこなうには、それに適したシステムが必要 Observable, Configurableなシステムに 監視Saasの活用 Infrastructure as Code
30 eurekaでのDREの取り組み
31 Observableなシステムへの移行検証 重要レポートを対象に、システムをredash×GASから徐々に移行検証したり Current Future
32 BI / DREの定例MTG BIチームとDREで、データ品質や利便性を向上するための定例MTGを開催 みんなで議論したり 主要レポートの更新チェック したり
33 仲間がほしい。事例が聞きたい。 • DREには聖典がまだない • 英語のブログとかは、まあまあ見かけるけど • みんなどうしてるの? • 懇親会とかでいろんなお話聞かせてください!
34 Key Takeaways • データの価値を失わないためには、データの整備だけでなく、品質やReliabilityに ついても目を向ける必要がある • データのReliabilityは、エンジニアだけで考えるものではない • Data
Reliability Engineeringは、理論も実践もこれからな分野。仲間求ム。
35