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
tadaken3
May 23, 2024
Programming
0
75
[我が社のデータエンジニアリング現場]我が社が考える最強のデータ基盤・開発体制!
tadaken3
May 23, 2024
Tweet
Share
More Decks by tadaken3
See All by tadaken3
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
650
Exploratory:プロダクト活用度の話
tadaken3
0
39
はじめてのWatchOSアプリ。はじめてのiOSアプリ
tadaken3
0
53
拡張現実を活用して幸福度をあげる方法
tadaken3
0
880
LINE Notifyで作る健康習慣をサポートする仕組み
tadaken3
0
1k
チームづくりにおける成功法則 - LINEにおけるHR Techの取り組み- / people analytics tokyo
tadaken3
1
4.1k
Google Data Studioで イカしたダッシュボード作る
tadaken3
0
1.4k
Google Apps Scriptで三日坊主を克服する
tadaken3
2
1.3k
Other Decks in Programming
See All in Programming
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
선언형 UI에서의 상태관리
l2hyunwoo
0
190
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
290
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
580
testcontainers のススメ
sgash708
1
130
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
230
良いユニットテストを書こう
mototakatsu
8
3.1k
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
410
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
350
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
130
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
useSyncExternalStoreを使いまくる
ssssota
6
1.4k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Agile that works and the tools we love
rasmusluckow
328
21k
Building Your Own Lightsaber
phodgson
103
6.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Faster Mobile Websites
deanohume
305
30k
What's in a price? How to price your products and services
michaelherold
244
12k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
GitHub's CSS Performance
jonrohan
1031
460k
Transcript
© Chatwork 我が社が考える最強のデータ基盤・開発体制! アナリスト x エンジニアの最強バディ 2024年05月22日 プロダクトエクスペリエンスユニット プロダクトオペレーションチーム
田中 賢太
自己紹介 2 • 田中賢太(たなかけんた) • @tadaken3(タダケン) • Chatwork ← LINE
← 任天堂 • データアナリスト • データをいい感じに集計・分析して、プロダクトの成長に繋げる • 嫁と子供(3歳👦)と3人ぐらし • 趣味:レトロゲーム集め https://chado.chatwork.com/entry/2024/03/12/100000 インタビュー
前回のハイライト
前回の「我が社が考える最強のデータ基盤'24最新版」 4
成果が出たこと、アナリスト自ら新機能を実現 5 • アナリスト自ら、reverseETL(hightouch)を使ってエンジニアリソースを使わず に新機能を実現できた ◦ 開発工数が確保できなく長く保留になっていた機能だった... ◦ 自らdbtでデータモデルを開発&検証を経て本番デプロイを実現した 前回資料
成果が出たこと、アナリスト自ら大幅なコスト削減を実現 6 • アナリスト自ら利用実態に即して、分析モデルを効率化するように。 ◦ BIの応答速度が上がり、業務効率が上がった ◦ クエリ効率がよくなって、コストが下がった 前回資料
• 利用部門が自分たちで開発するとか、アナリストの人が開発なしで 新機能実現とかすごい。いい話すぎる • アナリストだけでリバースETL構築。素晴らしい • 「アナリストが自ら分析機能を実現した」のは大きいな、データ民主 化はもはや当たり前で「データ分析」の民主化が必要 • データの利用者たちが横串でデータを利用できるようになることって
素敵。DataOpsだなあ 「我が社が考える最強のデータ基盤'24最新版」の反響 7 実際のX(旧Twitter)のコメントはこちら https://twitter.com/hashtag/ChatworkTechTalk?src=hashtag_click&f=live
それ、ワタシです 8
今日話すこと 9 データアナリストからみた並列開発体制の オモテガワとウラガワ
並列開発体制のオモテガワ
並列型の開発体制 11 データエンジニア • 利活用現場で開発を進められる共通プラットフォームを整備していく • データエンジニアがボトルネックにならない 共通プラットフォームは、横串の機能を提供してデータ基盤開発をスケールさせる機能を持つ。 直列型 並列型
開発の役割分担 12
開発の役割分担 13 データエンジニアの プラットフォーム力 アナリストの ドメイン知識
14 もうちょっと詳しく開発体制の分担 1.設計 2.実装 3.単体テスト 4.結合テスト 5.リリース エンジニア アナリスト エンジニア
エンジニア アナリスト アナリスト
並列開発体制のハジマリ (オモテガワ)
16 並列開発体制のハジマリ タダケン目線 dbtの開発に入りたい場合、以下のドキュメントを参考に、 開発コンテナをbuildするって感じでい ですよね?(すみません。ドキュメント見つけたので、勝手に) この辺りもご確認いただけるといいかなと思います。 操作がよくわからないとかあればMeetとかで画面共有しながらフォローとかも できますので、相談ください〜 基本的にはそうなります。
ただ、キャプチャのgitブランチ切ってないのでbuildは失敗します。 ブランチとタスクを紐づけるために こちらから〜検証みたいなタスク切った上でそれに紐づくブランチを作成して、 buildいただけると通るかと(新Dev環境整備中なので、できたら環境が切り替わ る感じにはなりますが じまさん みっつさん タダケン
全てはここから始まった (アナリストとしてdbt開発の第一号として飛び込む)
18 最初は既存モデルの修正から手をつけて、、、 やったこと 1. 既存のmodelの修正(まずはdbtになれる) 2. 既存のincremental modelの修正(差分更新の場合のお作法を学ぶ) 3. seedの開発(CSVデータなどの取り込み)
4. 新規のmodelの開発
19 ほぼ単独で設計から実装まで! 組織単位でのプロダクト活用度ですが、こんな感じで行こうかなと。
20 datainfraのリポジトリではAdditionalで2番目に
並列開発体制でのReverse ETL (オモテガワ)
22 ある日のカスタマーマーケティングとの会話 もっとプロダクト内のデータを使って ユーザーコミュケーションができるといいんだけど でも、エンジニアはほかにやることでいっぱいですよ どこもエンジニア不足ですよね、、、 カスタマーマーケティング
23 Reverse ETLのハジマリ タダケン目線 事業側で、デジタルマーケティングツールに、snowflakeのデータ連携し たいのですが、なんかいい方法ないです? モダンデータスタックのジャンル的には、Reverse ETLというところですね。 いくつかのReverse ETLを検証したWikiがあるので共有しますね
みっつさん タダケン サポートしますのでわからないところはお気軽に〜 じまさん
24 並列型の開発体制:Reverse ETLの実装 やったこと 1. 要求・要件整理 2. 検証(要件を満たせるか) 3. 負荷試験
4. データ連携用dbt modelの開発 5. Reverse ETLの実装
Reverse ETL 「hightouch」 25 データソースと連携先を選んで、データ連携が簡単に! 企業秘密
26 負荷テストもsnowflakeなら容易に 1000万レコードのダミーデータも10分で生成 負荷テストは数年先も見越して、 1000万レコードでやりなさい 技術基盤戦略室 室長 春日さん
データの移送速度もすごいhightouch 27 1000万レコードの2テーブルを並列でデータ移送して約2時間で完了。*実際は差分更新 すごいな!hightouch 技術基盤戦略室 室長 春日さん
28 Reverse ETLを実装したおかげで カスタマーマーケティング アナリスト(タダケン) データに基づいて、 ユーザーコミュニケーションできるぞー 分析から施策への データ活用まで一気通貫してできるぞー
29 Reverse ETLを実装したおかげで Reverse ETLを実装したおかげで Reverse ETLを実装したおかげで Reverse ETLを実装したおかげで(2回目) エンジニアリソースを使わずに機能追加できてみんなHappy
並列開発体制のウラガワ
31 dbtの開発に入りたい場合、以下のドキュメントを参考に、 開発コンテナをbuildするって感じでい ですよね?(すみません。ドキュメント見つけたので、勝手に) この辺りもご確認いただけるといいかなと思います。 (別のドキュメントのURL) 操作がよくわからないとかあればMeetとかで画面共有しながらフォローとかも できますので、相談ください〜 基本的にはそうなります。 ただ、キャプチャのgitブランチ切ってないのでbuildは失敗します。
ブランチとタスクを紐づけるためにこちらから検証みたいなタスク切った上で それに紐づくブランチを作成して、buildいただけると通るかと 新Dev環境整備中なので、できたら環境が切り替わる感じにはなりますが じまさん みっつさん タダケン 並列開発体制の本当のハジマリ
32 dbtの開発にスッと入れた理由 • 部署を超えた協力関係 • ドキュメントがあったから飛び込めた
33 Reverse ETLの本当のハジマリ 事業側で、デジタルマーケティングツールに、snowflakeのデータ連携し たいのですが、なんかいい方法ないです? モダンデータスタックのジャンル的には、Reverse ETLというところですね。 いくつかのReverse ETLを検証したWikiがあるので共有しますね みっつさん
タダケン サポートしますのでわからないところはお気軽に〜 じまさん
Reverse ETL 「hightouch」をスッと実装できた理由は? 34 • 部署を超えた協力関係 • データエンジニアの方で、Reverese ETLの検証をしていたから •
しかも、実装が容易なモダンデータスタックで
• セルフサービスと自動化を通じて、開発業務の生産性を向上させること • アナリストチーム(not エンジニア)が開発に参加でき、より迅速に価値を提供できる • エンジニアは、プラットフォームをより拡充させる業務に取り組むことが可能 • 将来的には、生成AIを活用し、オペレーションチームやビジネスチームも 開発に参加できるかも
プラットフォームエンジニアリングとは? 35 *ガードナーが2022に提唱した概念 cf. https://www.gartner.co.jp/ja/articles/what-is-platform-engineering
36 ひとりでも多くの人が並列で開発できるように アナリストだってドキュメント整備に協力 これがChatworkのカルチャーや 技術基盤戦略室 室長 春日さん
まとめ
まとめ 38 • 我が社が考える最強の開発体制は「並列開発体制」 ◦ データエンジニアとアナリストのバディ≒協業 • プラットフォームエンジニアリング ◦ ドキュメントの拡充
◦ マネージドされたサービスの利用(モダンデータスタック) エンジニア アナリスト えらい人
働くをもっと楽しく、創造的に