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
100
[我が社のデータエンジニアリング現場]我が社が考える最強のデータ基盤・開発体制!
tadaken3
May 23, 2024
Tweet
Share
More Decks by tadaken3
See All by tadaken3
戦略と実行を繋ぐ活用ファーストのデータ分析基盤
tadaken3
0
3
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
930
Exploratory:プロダクト活用度の話
tadaken3
0
62
はじめてのWatchOSアプリ。はじめてのiOSアプリ
tadaken3
0
65
拡張現実を活用して幸福度をあげる方法
tadaken3
0
1.3k
LINE Notifyで作る健康習慣をサポートする仕組み
tadaken3
0
1.5k
チームづくりにおける成功法則 - LINEにおけるHR Techの取り組み- / people analytics tokyo
tadaken3
1
4.9k
Google Data Studioで イカしたダッシュボード作る
tadaken3
0
1.5k
Google Apps Scriptで三日坊主を克服する
tadaken3
2
1.3k
Other Decks in Programming
See All in Programming
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
旅行プランAIエージェント開発の裏側
ippo012
2
920
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
710
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
チームのテスト力を鍛える
goyoki
3
830
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
310
Cache Me If You Can
ryunen344
2
3k
私の後悔をAWS DMSで解決した話
hiramax
4
210
個人開発で徳島大学生60%以上の心を掴んだアプリ、そして手放した話
akidon0000
1
130
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
510
Featured
See All Featured
Side Projects
sachag
455
43k
YesSQL, Process and Tooling at Scale
rocio
173
14k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Music & Morning Musume
bryan
46
6.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Embracing the Ebb and Flow
colly
87
4.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Code Reviewing Like a Champion
maltzj
525
40k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
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 • 我が社が考える最強の開発体制は「並列開発体制」 ◦ データエンジニアとアナリストのバディ≒協業 • プラットフォームエンジニアリング ◦ ドキュメントの拡充
◦ マネージドされたサービスの利用(モダンデータスタック) エンジニア アナリスト えらい人
働くをもっと楽しく、創造的に