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
What is DRE? - Road to SRE NEXT@広島
Search
chanyou0311
July 20, 2024
Technology
3
950
What is DRE? - Road to SRE NEXT@広島
Road to SRE NEXT@広島 での登壇資料です。
https://sre-lounge.connpass.com/event/320488/
chanyou0311
July 20, 2024
Tweet
Share
More Decks by chanyou0311
See All by chanyou0311
5分でわかるDuckDB
chanyou0311
10
3.2k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
3
890
データの信頼性を支える仕組みと技術
chanyou0311
6
2k
Pulumi に入門してみた
chanyou0311
1
180
release-please で実現する手軽で不変な Docker イメージタグ付け方法
chanyou0311
0
300
データ基盤を支える技術
chanyou0311
8
4k
おうちk8s入門 - すごい広島 IT初心者の会 [84]
chanyou0311
1
280
オンラインコミュニケーションの課題と、その乗り越え方
chanyou0311
0
480
データ分析基盤のはじめかた
chanyou0311
1
1.3k
Other Decks in Technology
See All in Technology
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
120
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
270
なぜCodeceptJSを選んだか
goataka
0
160
Wantedly での Datadog 活用事例
bgpat
1
510
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
200
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.3k
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
220
Featured
See All Featured
Docker and Python
trallard
42
3.1k
Code Review Best Practice
trishagee
65
17k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Music & Morning Musume
bryan
46
6.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Making the Leap to Tech Lead
cromwellryan
133
9k
The Cost Of JavaScript in 2023
addyosmani
45
7k
How GitHub (no longer) Works
holman
311
140k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Raft: Consensus for Rubyists
vanstee
137
6.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Transcript
2024/07/20 Yu Nakamura - chanyou What is DRE? @chanyou0311
Yu Nakamura - chanyou • スタートアップでデータエンジニアとして交通データ分析基盤 の構築‧運⽤を経験 • その後2024年3⽉に株式会社タイミーの DRE
チームにジョイン • モデリング済みのデータを各種ツールに送出する Reverse ETL の実装などを担当 • 広島在住。趣味はおうち Kubernetes クラスタ • YAPC::Hiroshima 2024 のスタッフなども
タイミーとは 3 「働きたい時間」と「働いてほしい時間」を マッチングするスキマバイトサービス 従来の「求⼈サイト」でも「派遣」でもない
タイミーの特徴 4
タイミーの実績 スキマ バイト No.1 ※1 ※2 [調査⽅法]インターネット調査 [調査期間]2024 年 2
⽉ 9 ⽇~11 ⽇ [調査概要]スキマバイトアプリサービスの実態調査 [調査委託先]株式会社マクロミル 利⽤率 ‧リピート率 ※1 ※2 導⼊事業者数 98,000企業 ワーカー数 700万⼈
DRE とはなにか?
DRE とは • Data Reliability Engineering の略 ◦ データの信頼性を確保する新しいアプローチのこと •
SRE のプラクティスをデータに適⽤する試み
目次 • DRE チームが担う役割 • データの信頼性とは • DRE チームで実践しているプラクティス
1 DRE チームが担う役割
DRE チームのミッション “私たちDREは、DataOpsによる、パイプライン構築、⾃動化、監視、デプロイメントの迅速化、 データ品質の向上などの取り組みにより、信頼性(スピード、品質‧安定、ユーザビリティ)の⾼ いデータ基盤プロダクトをユーザに提供します。”
タイミーにおけるデータのライフサイクル
ワークフロー管理‧Extract / Load
データクレンジング
Reverse ETL
モニタリング
リソース管理‧IAM
DRE が連携する社内関係者 • データを扱うチーム ◦ アナリティクスエンジニア ◦ データアナリスト ◦ データサイエンティスト
• プロダクト‧エンジニアリング本部 ◦ Dev Platform Squad ◦ その他 Squad
DRE が連携する社内関係者 • マーケティング部⾨ ◦ toC toB の両⽅にアプローチ ▪ ユーザーマーケティング
▪ クライアントマーケティング • 営業部⾨ ◦ 600名を超える営業組織 ◦ セールスシステム • コーポレート部⾨ ◦ 法務 ◦ セキュリティ
社内の全⽅位と向き合う必要がある • 部署で使うデータはどこから供給されるのか? ◦ 外部SaaSなのか、当社プロダクトなのか ◦ いつ、どのように供給されるのか • 供給されたデータは、いつどのように使われるのか? ◦
毎⽇参照されるのか、⽉次で参照されるのか ◦ システム連携したいのか、意思決定を伴うのか データの理解も重要だが、組織と業務プロセスの理解がより重要
2 データの信頼性とは
信頼性が低下すると • Webアプリケーションにおいて信頼性が低下すると ◦ 「アクセスできないよ…」 → リクエストの可⽤性 ◦ 「サイト重くない?」 →
リクエストのレイテンシ • ⼀⽅、データ基盤において信頼性が低下すると ◦ 「昨⽇まで⾒れてたダッシュボードが今朝から表⽰できなくなったよ…」 ◦ 「前⽇分のデータがまだダッシュボードに反映されてないよ…」 ◦ 「なんかデータ、ダブってない?」
DMBOK を拠り所にデータの信頼性を紐解く • データマネジメント知識体系ガイド 第⼆版 [⽇経BP社] ◦ 様々なデータ品質の評価軸が紹介されている
タイミーで重視しているデータ品質の評価軸 特性 定義 完全性 ⽋損したデータの割合 適時性 データ参照時と現実のデータとの時間差 ⼀意性 重複したデータの割合 ⼀貫性
型、タイムゾーン、表記揺れなどの値の書式が統⼀されていない割合
その他のデータ品質 • メタデータ ◦ テーブルやカラムの意味や制約などの補⾜情報 • データガバナンス ◦ 最⼩権限の原則 •
データダウンタイム ◦ データが⽋落したり不正確な状態の期間
(参考)データ品質がテーマの発表資料 https://speakerdeck.com/ttccddtoki/dmbokwocan-kao-nisitadetamanezimentonoqu-rizu-mi
3 DRE チームで実践している プラクティス
DRE チームで実践しているプラクティス • ワークフローのステータス監視 • データの外形監視 • dbt によるメタデータ整備とテスト
ワークフローのステータス監視 • ワークフローが失敗した場合にアラートを受け取る ◦ 原因の切り分け、影響範囲の調査などの対応
データの外形監視 • 定期的に転送前後のデータセットの⽐較を⾏う ◦ テーブルごとに完全性、適時性、⼀意性が満たされているか検査する ▪ 満たさない場合はアラートを受け取る ◦ データソースの新規テーブルやカラムの検知も⾏う •
具体例 ◦ 転送元: プロダクトの RDB ◦ 転送先: BigQuery ◦ 検査内容: ⾏数が⼀致するか / MAX(updated_at) が条件を満たすか
dbt によるメタデータ整備とテスト • dbt で宣⾔的に BigQuery 内のデータの変換を⾏う ◦ タイミーでは変換内容に応じて、下図のようにレイヤリングしている ◦
各レイヤーでモデル(テーブルやビュー)が実体化される https://tech.timee.co.jp/entry/2023/10/23/143322
dbt によるメタデータ整備とテスト • モデルは Jinja で拡張された SQL で定義される • モデルごとにメタデータを
YAML で定義できる ◦ カラムの型や説明 ◦ ⾃動テスト https://docs.getdbt.com/docs/build/documentation
dbt によるメタデータ整備とテスト • データテスト ◦ 実データに対して汎⽤的な テストを実施できる ▪ unique ▪
not_null ▪ … • ユニットテスト ◦ ⽤意したテストデータに 対して期待する出⼒となるか https://docs.getdbt.com/docs/build/data-tests
4 今後の展望
タイミーのデータ基盤が抱える課題 • データソースの変更による下流への影響 • ⼿⼊⼒データの品質保証 • ストリーミングデータにおける完全性の担保
データソースの変更による下流への影響
知らない間に転送元のテーブルの列が削除されたら • 途中のデータ変換で列指定されていたら? ◦ ワークフローが停⽌してしまい、適時性が損なわれる • downstream でダッシュボードの表⽰に使われていたら? ◦ 古いデータのまま表⽰したり、そもそも表⽰できなかったりする
◦ 適切な意思決定ができない • 機械学習で使われていたら? ◦ 古いデータをそのまま利⽤したり、機械学習パイプラインが停⽌したりする ◦ 予測精度の低下、機会損失を招く
データソースの意図しない変更をどう防ぐか • モニタリングやテストにより、ある程度対処できている ◦ ただし対処であって、予防ではない • データコントラクトによって事前に防げないか模索中
データコントラクトとは • 契約プログラミングの概念をデータに持ち込んだもの ◦ データ版 OpenAPI のようなもの ◦ 破壊的な変更を避けて改善活動が実施できる https://datacontract.com/
データコントラクトとは • データがどのような形式で供給されるかを定義した⽂書 • いくつかの標準がある ◦ Open Data Contract Standard
(ODCS) ◦ Data Contract CLI • データの所有者、形式などの記載ができる • データ品質、サービスレベルの記載も⾏える • YAML でマシンリーダブルに表現される ◦ CLI で実データを参照して、 データ品質の検証ができる https://datacontract.com/
データコントラクトの運⽤を⽬指す • データ供給元と利⽤先のチーム間で、データの形式について合意を取るようにしたい ◦ いくつかのプロジェクトで試験的に導⼊ • プロダクトの CI に組み込むと? ◦
「このテーブルの型を変えようとしているけど、社内のダッシュボードで使われているのでダメです⚠」 https://datacontract.com/
5 まとめ
まとめ • DRE とは SRE のプラクティスをデータに適⽤する試みのこと • 社内の多様なチームと連携しながら、データの供給から活⽤までを⽀えている • 扱うデータの理解は重要だが、組織とその業務プロセスへの理解も不可⽋である
• DRE のプラクティスとして、ワークフローやデータそのもののモニタリングを通し て、信頼性の低下にいち早く対処している • データ基盤と組織に新しい概念を持ち込むことで、信頼性の向上を⽬指している
https://hrmos.co/pages/timee/jobs/1682251404118319115 積極的に採⽤中です!! データ基盤を通して、プロダクトと組織の成⻑を⼀緒に⽀えましょう!