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
1.1k
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
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
3.3k
5分でわかるDuckDB
chanyou0311
11
4k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
3
1.4k
データの信頼性を支える仕組みと技術
chanyou0311
6
2.1k
Pulumi に入門してみた
chanyou0311
1
300
release-please で実現する手軽で不変な Docker イメージタグ付け方法
chanyou0311
0
380
データ基盤を支える技術
chanyou0311
9
4.2k
おうちk8s入門 - すごい広島 IT初心者の会 [84]
chanyou0311
1
350
オンラインコミュニケーションの課題と、その乗り越え方
chanyou0311
0
520
Other Decks in Technology
See All in Technology
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
17k
GrafanaをClaude DesktopからMCPで触ってみた
hamadakoji
0
180
Google Cloud Next 2025 Recap 生成AIモデルとマーケティングでのコンテンツ生成 / Generative AI models and content creation in marketing
kyou3
0
400
VitePress & MCPでアプリ仕様のオープン化に挑戦する
hal_spidernight
0
140
ITベンダーから見る内製化支援の本質/in-house-dev
slsops
1
170
KubeCon + CloudNativeCon Europe 2025 Recap: The GPUs on the Bus Go 'Round and 'Round / Kubernetes Meetup Tokyo #70
pfn
PRO
0
130
Docker Compose で手軽に手元環境を実現する / Simplifying Local Environments with Docker Compose #CinemaDeLT
nabeo
0
270
4社統合におけるマスタデータ管理に立ち向かう / Towards master data management in the four-company integration
carta_engineering
0
260
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
580
インフラからSREへ
mirakui
20
7.7k
転職したらMCPサーバーだった件
nwiizo
13
9.7k
Amplifyとゼロからはじめた AIコーディング。失敗と気づき
mkdev10
1
170
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Code Review Best Practice
trishagee
68
18k
Building Adaptive Systems
keathley
41
2.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
It's Worth the Effort
3n
184
28k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
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 積極的に採⽤中です!! データ基盤を通して、プロダクトと組織の成⻑を⼀緒に⽀えましょう!