Slide 1

Slide 1 text

       © Chatwork 我 社 考える最強のデータ基盤・開発体制! アナリスト x エンジニアの最強バディ 2024年05月22日  プロダクトエクスペリエンスユニット プロダクトオペレーションチーム 田中 賢太

Slide 2

Slide 2 text

自己紹介 58 ● 田中賢太(たな んた) ● @tadaken3(タダケン) ● Chatwork ← LINE ← 任天堂 ● データアナリスト ● データをいい感じに集計・分析して、プロダクトの成長に繋 る ● 嫁と子供(3歳👦)と3人 らし ● 趣味:レトロゲーム集め https://chado.chatwork.com/entry/2024/03/12/100000 インタビュー

Slide 3

Slide 3 text

前回のハイライト

Slide 4

Slide 4 text

前回の「我 社 考える最強のデータ基盤'24最新版」 60

Slide 5

Slide 5 text

成果 出た と、アナリスト自ら新機能を実現 61 ● アナリスト自ら、reverseETL(hightouch)を使ってエンジニアリソースを使わず に新機能を実現で た ○ 開発工数 確保で な 長 保留になっていた機能だった... ○ 自らdbtでデータモデルを開発&検証を経て本番デプロイを実現 た 前回資料

Slide 6

Slide 6 text

成果 出た と、アナリスト自ら大幅なコスト削減を実現 62 ● アナリスト自ら利用実態に即 て、分析モデルを効率化するように。 ○ BIの応答速度 上 り、業務効率 上 った ○ クエリ効率 よ なって、コスト 下 った 前回資料

Slide 7

Slide 7 text

● 利用部門 自分たちで開発すると 、アナリストの人 開発なしで 新機能実現と す い。いい話す る ● アナリストだ でリバースETL構築。素晴らしい ● 「アナリスト 自ら分析機能を実現した」のは大 いな、データ民主 化はもはや当たり前で「データ分析」の民主化 必要 ● データの利用者たち 横串でデータを利用で るようになる とって 素敵。DataOpsだなあ 「我 社 考える最強のデータ基盤'24最新版」の反響 63 実際のX(旧Twitter)のコメントはこちら https://twitter.com/hashtag/ChatworkTechTalk?src=hashtag_click&f=live

Slide 8

Slide 8 text

それ、ワタシです 64

Slide 9

Slide 9 text

今日話す と 65 データアナリスト らみた並列開発体制の オモテガワとウラガワ

Slide 10

Slide 10 text

並列開発体制のオモテガワ

Slide 11

Slide 11 text

並列型の開発体制 67 データエンジニア ● 利活用現場で開発を進められる共通プラットフォームを整備 てい ● データエンジニア ボトルネックにならない 共通プラットフォームは、横串の機能を提供 てデータ基盤開発をスケール る機能を持つ。 直列型 並列型

Slide 12

Slide 12 text

開発の役割分担 68

Slide 13

Slide 13 text

開発の役割分担 69 データエンジニア の プラットフォーム 力 アナリストの ドメイン知識

Slide 14

Slide 14 text

70 もうちょっと詳し 開発体制の分担 1.設計 2.実装 3.単体テスト 4.結合テスト 5.リリース エンジニア アナリスト エンジニア エンジニア アナリスト アナリスト

Slide 15

Slide 15 text

並列開発体制のハジマリ (オモテガワ)

Slide 16

Slide 16 text

72 並列開発体制のハジマリ タダケン目線 dbtの開発に入りたい場合、以下のドキュメントを参考に、 開発コンテナをbuildするって感じでい ですよね?(すみません。ドキュメント見つ たので、勝手に) の辺りも 確認いただ るといい なと思います。 操作 よ わ らないと あればMeetと で画面共有しな らフォローと も で ますので、相談 だ い〜 基本的にはそうなります。 ただ、キャプチャのgitブランチ切ってないのでbuildは失敗します。 ブランチとタスクを紐づ るために ちら ら〜検証みたいなタスク切った上でそれに紐づ ブランチを作成して、 buildいただ ると通る と(新Dev環境整備中なので、で たら環境 切り替わ る感じにはなります じまさん みっつさん タダケン

Slide 17

Slide 17 text

全てはここ ら始まった (アナリストとしてdbt開発の第一号として飛び込む)

Slide 18

Slide 18 text

74 最初は既存モデルの修正 ら手をつ て、、、 やった と 1. 既存のmodelの修正(まずはdbtになれる) 2. 既存のincremental modelの修正(差分更新の場合の 作法を学ぶ) 3. seedの開発(CSVデータなどの取り込み) 4. 新規のmodelの開発

Slide 19

Slide 19 text

75 ほぼ単独で設計 ら実装まで! 組織単位でのプロダクト活用度です 、 んな感じで行 う なと。

Slide 20

Slide 20 text

76 datainfraのリポジトリではAdditionalで2番目に

Slide 21

Slide 21 text

並列開発体制でのReverse ETL (オモテガワ)

Slide 22

Slide 22 text

78 ある日のカスタマーマーケティングとの会話 もっとプロダクト内のデータを使って ユーザーコミュケーション で るといいんだ ど でも、エンジニアはほ にやる とでいっぱいですよ ど もエンジニア不足ですよね、、、 カスタマーマーケティング

Slide 23

Slide 23 text

79 Reverse ETLのハジマリ タダケン目線 事業側で、デジタルマーケティングツールに、snowflakeのデータ連携し たいのです 、なん いい方法ないです? モダンデータスタックのジャンル的には、Reverse ETLというと ろですね。 い つ のReverse ETLを検証したWiki あるので共有しますね みっつさん タダケン サポートしますのでわ らないと ろは 気軽に〜 じまさん

Slide 24

Slide 24 text

80 並列型の開発体制:Reverse ETLの実装 やった と 1. 要求・要件整理 2. 検証(要件を満たせる ) 3. 負荷試験 4. データ連携用dbt modelの開発 5. Reverse ETLの実装

Slide 25

Slide 25 text

Reverse ETL 「hightouch」 81 データソースと連携 を選んで、データ連携 簡単に! 企業秘密

Slide 26

Slide 26 text

82 負荷テストもsnowflakeなら容易に 1000万レコードのダミーデータも10分で生成 負荷テストは数年先も見越 て、 1000万レコードでやりな い 技術基盤戦略室 室長 春日さん

Slide 27

Slide 27 text

データの移送速度もす いhightouch 83 1000万レコードの2テーブルを並列でデータ移送して約2時間で完了。*実際は差分更新 いな!hightouch 技術基盤戦略室 室長 春日さん

Slide 28

Slide 28 text

84 Reverse ETLを実装した で カスタマーマーケティング アナリスト(タダケン) データに基づいて、 ユーザーコミュニケーションで るぞー 分析 ら施策への データ活用まで一気通貫してで るぞー

Slide 29

Slide 29 text

85 Reverse ETLを実装した で Reverse ETLを実装した で Reverse ETLを実装した で Reverse ETLを実装した で(2回目) エンジニアリソースを使わずに機能追加で てみんなHappy

Slide 30

Slide 30 text

並列開発体制のウラガワ

Slide 31

Slide 31 text

87 dbtの開発に入りたい場合、以下のドキュメントを参考に、 開発コンテナをbuildするって感じでい ですよね?(すみません。ドキュメント見つ たので、勝手に) の辺りも 確認いただ るといい なと思います。 (別のドキュメントのURL) 操作 よ わ らないと あればMeetと で画面共有しな らフォローと も で ますので、相談 だ い〜 基本的にはそうなります。 ただ、キャプチャのgitブランチ切ってないのでbuildは失敗します。 ブランチとタスクを紐づ るために ちら ら検証みたいなタスク切った上で それに紐づ ブランチを作成して、buildいただ ると通る と 新Dev環境整備中なので、で たら環境 切り替わる感じにはなります じまさん みっつさん タダケン 並列開発体制の本当のハジマリ

Slide 32

Slide 32 text

88 dbtの開発にスッと入れた理由 ● 部署を超えた協力関係 ● ドキュメント あった ら飛び込めた

Slide 33

Slide 33 text

89 Reverse ETLの本当のハジマリ 事業側で、デジタルマーケティングツールに、snowflakeのデータ連携し たいのです 、なん いい方法ないです? モダンデータスタックのジャンル的には、Reverse ETLというと ろですね。 い つ のReverse ETLを検証したWiki あるので共有しますね みっつさん タダケン サポートしますのでわ らないと ろは 気軽に〜 じまさん

Slide 34

Slide 34 text

Reverse ETL 「hightouch」をスッと実装で た理由は? 90 ● 部署を超えた協力関係 ● データエンジニアの方で、Reverese ETLの検証をしていた ら ● し も、実装 容易なモダンデータスタックで

Slide 35

Slide 35 text

● セルフサービスと自動化を通じて、開発業務の生産性を向上させること ● アナリストチーム(not エンジニア) 開発に参加で 、より迅速に価値を提供で る ● エンジニアは、プラットフォームをより拡充させる業務に取り組むこと 可能 ● 将来的には、生成AIを活用し、オペレーションチームやビジネスチームも 開発に参加で る も プラットフォームエンジニアリングとは? 91 *ガードナー 2022に提唱 た概念 cf. https://www.gartner.co.jp/ja/articles/what-is-platform-engineering

Slide 36

Slide 36 text

92 ひとりでも多 の人 並列で開発で るように アナリストだってドキュメント整備に協力 れ Chatworkのカルチャーや 技術基盤戦略室 室長 春日さん

Slide 37

Slide 37 text

まとめ

Slide 38

Slide 38 text

まとめ 94 ● 我 社 考える最強の開発体制は「並列開発体制」 ○ データエンジニアとアナリストのバディ≒協業 ● プラットフォームエンジニアリング ○ ドキュメントの拡充 ○ マネージドされたサービスの利用(モダンデータスタック) エンジニア アナリスト えらい人