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
10
3.6k
5分でわかるDuckDB
chanyou0311
11
4.1k
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
4
1.6k
データの信頼性を支える仕組みと技術
chanyou0311
6
2.2k
Pulumi に入門してみた
chanyou0311
1
330
release-please で実現する手軽で不変な Docker イメージタグ付け方法
chanyou0311
0
440
データ基盤を支える技術
chanyou0311
9
4.4k
おうちk8s入門 - すごい広島 IT初心者の会 [84]
chanyou0311
1
390
オンラインコミュニケーションの課題と、その乗り越え方
chanyou0311
0
560
Other Decks in Technology
See All in Technology
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
1
120
モバイルアプリ研修
recruitengineers
PRO
2
190
トヨタ生産方式(TPS)入門
recruitengineers
PRO
1
170
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
2
260
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
広島銀行におけるAWS活用の取り組みについて
masakimori
0
120
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
190
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
3
280
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
ウォンテッドリーのアラート設計と Datadog 移行での知見
donkomura
0
310
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
4
1k
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
270
Featured
See All Featured
Bash Introduction
62gerente
614
210k
Writing Fast Ruby
sferik
628
62k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Side Projects
sachag
455
43k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Six Lessons from altMBA
skipperchong
28
4k
Site-Speed That Sticks
csswizardry
10
780
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Cult of Friendly URLs
andyhume
79
6.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
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 積極的に採⽤中です!! データ基盤を通して、プロダクトと組織の成⻑を⼀緒に⽀えましょう!