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 Meshと私
Search
JDSC
August 24, 2021
Technology
0
180
Data Meshと私
JDSCでの勉強会時のスライドです。
JDSC
August 24, 2021
Tweet
Share
More Decks by JDSC
See All by JDSC
JDSC採用ページⅡ
jdsc
0
2.3k
JDSC採用ページ
jdsc
1
40k
Kubeflowで作る共通データ基盤 (道半ば編)
jdsc
1
200
家電製品の異常検知 (Case Study)
jdsc
0
470
鉄道省エネに向けた車上データ活用事例の紹介
jdsc
0
660
InterpretMLと Explainable Boosting Machineのススメ
jdsc
1
2.2k
Google Cloud Build とAI Platformではじめる軽量MLOps pipelineとAlphaSQL
jdsc
0
400
JDSCの事業・技術
jdsc
0
18k
JDSCの人・カルチャー
jdsc
0
18k
Other Decks in Technology
See All in Technology
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
140
.NET 9 のパフォーマンス改善
nenonaninu
0
1.3k
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
110
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
320
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
0
140
APIとはなにか
mikanichinose
0
110
コンテナセキュリティのためのLandlock入門
nullpo_head
2
330
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
540
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
100
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
120
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
530
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
27
23k
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
The Pragmatic Product Professional
lauravandoore
32
6.3k
Embracing the Ebb and Flow
colly
84
4.5k
Fireside Chat
paigeccino
34
3.1k
GitHub's CSS Performance
jonrohan
1031
460k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
RailsConf 2023
tenderlove
29
940
Scaling GitHub
holman
459
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Gamification - CAS2011
davidbonilla
80
5.1k
Transcript
Data と Mesh と私 株式会社JDSC エンジニア 秋山 悟志
自己紹介 秋山 悟志 System Engineer(新卒)-> Web Application Engineer-> Data Scientist ->
Data Engineer(今ここ) SEとWAEの間にイラストレータとかもやっていました。
脳が溶けるようなデータパイプラインを設計することになっ た... - 週次運用 ×3(月曜と火曜水曜で処理違う)+日次運用のコンボ - 数理最適モジュール+UI表示モジュール+機械学習モジュール+顧 客側のデータ基盤をそれぞれ連携させる をAirflowといったワークフローエンジンで管理しちゃおう!
今はワンオペ体制なので逆に管理はできるけど.... (いやこれワンオペって...) - 人員や各モジュールをスケールした際に一元管理ってできるか? - BigQueryやらGCSやらで扱うデータモデルが無限に増えると思う。 lake->warehouse->martと いったアーキテクチャで管理できるか? - 複雑化、肥大化するほど、1元管理する人材の負担は計り知れなく増大するし、非効率
それぞれのモジュールは本当は性質が違うはず。 けど現在は Appと顧客データ基盤と私(弊データ基盤) というドメインの切り方でデータフロー図を作ってしまっている。
Data Meshという考え方 Data Meshとは:それぞれのデータ保持するモジュールをマイクロサービス(Service Mesh)とし て捉え、モノリス化したデータ基盤を切り崩していく。 Data Meshの四原則: 1. ドメイン志向で分散型のデータオーナシップとアーキテクチャ
2. プロダクトとしてのデータ 3. セルフサービス型データインフラストラクチャ・アズ・ア・プラットフォーム 4. 連合型(federate)の計算ガバナンス
サイロ化を許容してでもData Meshする? そもそも、サイロ化とは? 他者がデータへアクセスする際にとてつもなくコストがかかる、もしくは不可能である状態をさす。 しかし加工の段階(lake->warehouse->mart)によってドメインを分ける やり方こそが、それぞれの連携を希薄化させるのではないか? 結論:自ドメインのデータをプロダクトとして、責任をもって提 供しよう。
やろうとしていること - datalake->datawarehouse->datamartのアーキからの脱却 - 今までwarehouseでの一元管理を行なった結果、どれだけ用途不明のテーブルが堆積していっただろう か... - 各データエンティティがどのドメインに所属しているか、はっきりさせていきたい。 - それぞれのドメインが提供するデータのバージョニング
- 欲しいスキーマのデータを常に受け取れるように(GlaphQLのような仕組みがあればいいなぁ...) ただし、これらを初手で導入するとなると多分頓挫する。 標準のプロトコルや標準の規約などを実装した上で段階的にこなしていけばいいと考えて いる。 (普通のマイクロサービスだって、初手で導入するよりモノリスだったサービスをリアーキテククトする文脈で 使われることが多いですよね?)
Data Meshにベストプラクティスは(まだ)ない。 - 実ケースに基づくデータのパイプラインを管理するのなら、結局一元管理できた方が良いと思 う - データのガバナンスも含めてこの思想を反映したプラットフォームや実例はない。 俺がベスプラになってやるんだよ!!という気持ち
ご清聴ありがとうございました! 参考: データメッシュの原則と論理アーキテクチャの定義: https://www.infoq.com/jp/news/2021/02/data-mesh-architecture/ Data Mesh Principles and Logical Architecture
https://martinfowler.com/articles/data-mesh-principles.html メルカリが「マイクロサービス」に本気で取り組む理由(前編) https://www.sbbit.jp/article/cont1/35635