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
ニアリアルタイムのデータ基盤を構築して 適時性を向上させた話
Search
j-chikushi
May 14, 2024
Technology
0
860
ニアリアルタイムのデータ基盤を構築して 適時性を向上させた話
j-chikushi
May 14, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
안드로이드 기술 이력서의 최소 조건
pluu
1
960
本番のトラフィック量でHudiを検証して見えてきた課題
joker1007
2
250
ラブグラフ紹介資料 〜プロダクト解体新書〜 / Lovegraph Product Deck
lovegraph
0
14k
Demystifying Vite Internals
nozomuikuta
3
320
Road to Single Activity Uncovered
yurihondo
0
110
Japan AWS Jr. Championsがお届けする、アウトプットのすすめ
hamijay_cloud
0
200
自然言語処理を役立てるのはなぜ難しいのか
pfn
PRO
16
4.3k
AIとともに歩んだライブラリアップデートの道のり/ vue-fes-japan-2024-link-and-motivation
lmi
2
1.3k
Delta Commit…の最近...
akuwano
2
120
テクニカルライターのチームで「目標」をどう決めたか / MVV for a Team of Technical Writers
lycorptech_jp
PRO
3
150
JPOUG_10_20241018_OracleDB_AWS_v1.3.pdf
asahihidehiko
1
100
テストを楽に書きたい
tomorrowkey
2
270
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
The Cost Of JavaScript in 2023
addyosmani
43
5.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
105
48k
How to Think Like a Performance Engineer
csswizardry
18
1k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
Embracing the Ebb and Flow
colly
84
4.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Rails Girls Zürich Keynote
gr2m
93
13k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Happy Clients
brianwarren
97
6.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.8k
Transcript
2024/05/08 chikushi ニアリアルタイムのデータ基盤を構築して 適時性を向上させた話
自己紹介 ❏ chikushi ❏ 略歴 ❏ 10年くらいフリーランス、前職AIベンチャー、 ❏ その後2023/4にタイミーにジョイン。 ❏
現在、タイミーのDRE グループでエンジニアをしてます。 ❏ 福岡在住。趣味は、お酒🍺とゲーム🎮と少し自転車な ど
タイミーの実績 スキマ バイト No.1 ※2024年2月時点 ※1 [調査方法]デスクリサーチ及びヒアリング調査 [調査期間]2021年2月8日~22日 [調査概要]スキマバイトアプリ サービスの実態調査 [調査対象]2020年12月までにサービスを開始しているスキマバイトアプリ10サービス
[調査実施]株式会社ショッ パーズアイ ※2 [出典]AppStoreライフスタイルカテゴリーランキング(2021年5月時点) 3 累計求人案件数 ・ダウンロード数 ※1 ※2 導入事業者数 98,000企業 ワーカー数 700万人
4
目次 1. 旧データ基盤と課題 2. ソリューション 3. 実際のアーキテクチャ 4. 実際に運用してみて
1 旧データ基盤と課題
データ基盤を適時性高く運用できてますか?
データ基盤全体像
タイミーアプリのデータベースの連携プロセス
データの適時性の定義 ここまでの期間(データが生成されデータが 利用可能になるまで) を最短にしたい
データ基盤の課題:データの適時性 適時性が低い原因となっている バッチ 処理 バッチ 処理 バッチ 処理
適時性が上がることによるメリット 連携がニアリアルタイムになることにより、業務適用できるケースが増える ❏ ユーザの投稿データの監視 ❏ 条件を満たさないマッチングのチェック・キャンセル業務 ❏ 機械学習に適用することにより精度向上 などなど
他にもこんな課題が...
データ基盤の課題:データの正確性
データ基盤の課題:データの正確性 0:00時点の データが 連携される 3:50時点の データが 連携される 3時間50分の間に更新されたデータは整合性がとれなくなる
embulkの運用保守作業 ❏ embulkのインフラの監視 ❏ embulkのインフラのspec調整・メンテナンス ❏ embulkのコードの保守 ❏ 起動間隔の調整 など
データ基盤の課題:運用保守面 地味に大変...可能なら減らしていきたい...
2 ソリューション
ソリューション 初期案 決定案
DatastreamとCDCについて 出典:https://cloud.google.com/datastream?hl=ja
❏ 基本的なDDL・DMLを追跡して、ニアリアルタイムで連 携してくれる ❏ truncateなど一部追跡してくれないものもあり ❏ at least onceを保証 ❏
DataSourceへのConnectionエラーが発生しても、自動修 復し、連携が途切れたところから再開してくれる ❏ バックフィルを実施することで、全データを連携しなおす ことができる Datastreamの機能説明
3 実際のアーキテクチャ
実際のアーキテクチャ
実際のアーキテクチャ extractionの ツールを embulkから Datastreamへ
実際のアーキテクチャ dbtの実テーブ ルをviewに 変更
4 実際に運用してみて
運用してみて:適時性 数時間~1日 15分前後
運用してみて:正確性 最大4~1日のデータのずれ 数時間単位の 大きなずれはなくなった
運用してみて:運用保守面 ❏ embulkのインフラの監視 ❏ embulkのインフラのspec調整 ・メンテナンス ❏ embulkのコードの保守 ❏ 起動間隔の調整
など ❏ Datastreamのインフラの監視 など
❏ Datastream自体がブラックボックス ❏ 何かトラブルが発生してもGoogleが対応してくれる のを待つしかない 運用してみて:課題 コンソールからもバックフィル以外にできることがない...
❏ 完全性を確認することが難しくなった 運用してみて:課題 旧データ基盤では、DataLakeのデータとDataSourceのデータを比較することで完全性を確認できた
積極採用中です! https://hrmos.co/pages/timee/jobs/1682251404118319115 DREもアナリティクスエンジニアも募集中です! ぜひお力をお貸しください!