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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tadaken3
May 23, 2024
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[我が社のデータエンジニアリング現場]我が社が考える最強のデータ基盤・開発体制!
tadaken3
May 23, 2024
More Decks by tadaken3
See All by tadaken3
Exploratoryサーバーで構築した 戦略と実行を繋ぐSSoT分析環境
tadaken3
0
33
kubell 2025 エンジニアサマーインターンシップ
tadaken3
0
150
戦略と実行を繋ぐ活用ファーストのデータ分析基盤
tadaken3
0
67
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
1.4k
Exploratory:プロダクト活用度の話
tadaken3
0
93
はじめてのWatchOSアプリ。はじめてのiOSアプリ
tadaken3
0
91
拡張現実を活用して幸福度をあげる方法
tadaken3
0
2.1k
LINE Notifyで作る健康習慣をサポートする仕組み
tadaken3
0
2.3k
チームづくりにおける成功法則 - LINEにおけるHR Techの取り組み- / people analytics tokyo
tadaken3
1
6.6k
Other Decks in Programming
See All in Programming
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
870
Foundation Models frameworkで画像分析
ryodeveloper
1
600
プロポーザルを書いてもらう
pvcresin
0
290
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
350
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
380
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
630
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
310
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
160
Google Apps Script で Ruby を動かす
kawahara
0
140
源内ハンズオン概要編
hideg
0
140
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
260
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
A Soul's Torment
seathinner
6
3.4k
KATA
mclloyd
PRO
35
15k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Visualization
eitanlees
152
17k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
470
The Invisible Side of Design
smashingmag
301
52k
Odyssey Design
rkendrick25
PRO
2
750
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
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 • 我が社が考える最強の開発体制は「並列開発体制」 ◦ データエンジニアとアナリストのバディ≒協業 • プラットフォームエンジニアリング ◦ ドキュメントの拡充
◦ マネージドされたサービスの利用(モダンデータスタック) エンジニア アナリスト えらい人
働くをもっと楽しく、創造的に