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
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-...
Search
Takayuki Kasai
February 25, 2025
Technology
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
Wantedly Tech Night 〜ウォンテッドリーで内製している開発用ツールの紹介〜
https://wantedly.connpass.com/event/341010/
Takayuki Kasai
February 25, 2025
More Decks by Takayuki Kasai
See All by Takayuki Kasai
スケジュールジョブ(CronJob)の実行失敗通知基盤における成功と失敗 / Success and failure in scheduled job execution failure notification infrastructure
unblee
0
210
DVC を活用した機械学習パイプライン開発の高速化 / Using DVC to accelerate machine learning pipeline development
unblee
3
3.2k
自作 Controller による Secret の配布と収集 / Distributing and collecting secrets with self-made controller
unblee
4
2.2k
Kubernetes の API Client における キャッシュ設計 / Cache Design in Kubernetes API Client
unblee
6
4.3k
Other Decks in Technology
See All in Technology
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
1
230
地球に⽣きるAI —GeoAIと「中間領域」— / AI Living on Earth — GeoAI and the “Intermediate Layer” —
ykiyota
0
280
自宅LLMの話
jacopen
1
260
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
460
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
800
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
1.8k
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development with AI-DLC
yoshidashingo
0
170
protovalidate-es を導入してみた
bengo4com
0
170
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
330
Claude Code×Terraform IaC テンプレート駆動開発
itouhi
1
490
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
120
Android の公式 Skill / Android skills
yanzm
0
130
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
We Have a Design System, Now What?
morganepeng
55
8.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
How to make the Groovebox
asonas
2
2.2k
How to Talk to Developers About Accessibility
jct
2
230
How to train your dragon (web standard)
notwaldorf
97
6.7k
Building AI with AI
inesmontani
PRO
1
1.1k
Transcript
© 2025 Wantedly, Inc. ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter Feb.
25 2025 - Takayuki Kasai @unblee Wantedly Tech Night 〜ウォンテッドリーで内製している開発用ツールの紹介〜
© 2025 Wantedly, Inc. ⾃⼰紹介 名前 笠井 貴之(かさい たかゆき) アカウント名
GitHub, X @unblee 所属 Infra Squad 入社 2019年新卒(6年目)
© 2025 Wantedly, Inc. サマリー • ウォンテッドリーでは意思決定の正確性とスピードのために データパイプラインを整備している • ETL(の一部)を内製ツールで行っている
◦ analytics(2016〜) ▪ 複数データソース(PostgreSQL、Salesforce、Zendesk)を扱えるのが強み ▪ 良くも悪くも枯れている ▪ アクセス制御や型への対応が不十分 ◦ rds-exporter(2024〜) ▪ analytics の問題点を解決するために現在の需要に則って設計・実装された ▪ まだまだ利用箇所が少ないので広げていく
© 2025 Wantedly, Inc. 1. ウォンテッドリーのデータパイプライン 2. analytics が必要だった過去 3.
rds-exporter が必要になった現在 4. まとめ
© 2025 Wantedly, Inc. 1. ウォンテッドリーのデータパイプライン 2. analytics が必要だった過去 3.
rds-exporter が必要になった現在 4. まとめ
© 2025 Wantedly, Inc. 1. ウォンテッドリーのデータパイプライン − 全体像 詳しくは「データ基盤入門 Wantedly
Engineering Handbook」を参照 https://docs.wantedly.dev/fields/data/data-infra
© 2025 Wantedly, Inc. 詳しくは「データ基盤入門 Wantedly Engineering Handbook」を参照 https://docs.wantedly.dev/fields/data/data-infra 1.
ウォンテッドリーのデータパイプライン − 全体像
© 2025 Wantedly, Inc. analytics(2016〜) • PostgreSQL(AWS RDS,Aurora)、Salesforce、Zendesk など複数データソースに対応 •
Ruby で開発 • インターフェースは DSL 1. rds-exporter(2024〜) • PostgreSQL(AWS RDS,Aurora) に対応 • Go で開発 • インターフェースは YAML 2. 1. ウォンテッドリーのデータパイプライン − 内製ツール
© 2025 Wantedly, Inc. 1. ウォンテッドリーのデータパイプライン 2. analytics が必要だった過去 3.
rds-exporter が必要になった現在 4. まとめ
© 2025 Wantedly, Inc. • ビジネス規模の拡大 ◦ 上場直前であったり、新サービス(People)のリリースなど • アーキテクチャ過渡期
◦ モノシリック Rails と並行してマイクロサービス化も始まっていた ◦ DWH の BigQuery へ移行が始まっていた • → データ分析の課題に直面 ◦ 分析のためのコードベースがアプリケーションの Rails に密結合していてデプロイ頻度が上が らない ◦ 制約が無く、品質にばらつきがある 2. analytics が必要だった過去 − 2016年まで 詳しくは「Ruby で作るデータ分析基盤」 , @Altech, 2018 を参照 https://speakerdeck.com/altech/ruby-dezuo-rudetafen-xi-ji-pan
© 2025 Wantedly, Inc. 2. analytics が必要だった過去 − インターフェース •
Ruby で実装 • DSL で設定 • Kubernetes CronJob で スケジューリング 失敗通知については「スケジュールジョブ( CronJob)の実行失敗通知基盤における成功と失敗 」, @unblee, 2024 を参照 https://speakerdeck.com/unblee/success-and-failure-in-scheduled-job-execution-failure-notification-infrastructure
© 2025 Wantedly, Inc. 2. analytics が必要だった過去 − 仕組みの概要
© 2025 Wantedly, Inc. 1. ウォンテッドリーのデータパイプライン 2. analytics が必要だった過去 3.
rds-exporter が必要になった現在 4. まとめ
© 2025 Wantedly, Inc. • 需要と設計の乖離 ◦ 以前より細やかなアクセス制御が求められるようになった ▪ 本番環境だけでなく複数の環境や権限分離を想定する機会が増えた
◦ 収集する対象(e.g. テーブル)を opt-in していたが不都合が多かった ▪ 収集漏れであとから欲しいデータが無くて困るケースが多発した ◦ 中間成果物として CSV を利用しているため表現できない型がある • → analytics に変化が求められている、がしかし ◦ 良くも悪くも枯れていて下手に手を入れられなくなっている ▪ ステージング環境が無くて動作確認が大変 ▪ そもそもテストコードが無くて変更を入れにくい ◦ 設計から刷新した方が求めているものが実現しやすいと判断した ◦ → rds-exporter の誕生 3. rds-exporter が必要になった現在 − 2024年から
© 2025 Wantedly, Inc. 3. rds-exporter が必要になった現在 − インターフェース •
Go で実装 • YAML で設定 • Kubernetes CronJob で スケジューリング
© 2025 Wantedly, Inc. 3. rds-exporter が必要になった現在 − 仕組みの概要
© 2025 Wantedly, Inc. • 改善できたこと ◦ DB 内の全てのテーブルを丸ごとエクスポートできるようになった ▪
データ漏れが無くなった ◦ 複数環境プロジェクトへの対応できるようになった ▪ アクセス制御の要求に対応できるようになった • 今後の展望 ◦ コスト最適化 ▪ DB の一部のテーブルだけが必要でも全体に対する費用が発生してしまう ◦ 対応データソースの拡大 ▪ 現在は Aurora のみ ◦ 挙動の改善 ▪ 原因不明のレイテンシがあり 1時間くらいの立ち上がり時間が必要になってる ▪ TIMESTAMP が STRING になってしまう 3. rds-exporter が必要になった現在 − 改善できたこと、今後の展望
© 2025 Wantedly, Inc. 1. ウォンテッドリーのデータパイプライン 2. analytics が必要だった過去 3.
rds-exporter が必要になった現在 4. まとめ
© 2025 Wantedly, Inc. • ウォンテッドリーでは意思決定の正確性とスピードのために データパイプラインを整備している • ETL(の一部)を内製ツールで行っている ◦
analytics(2016〜) ▪ 複数データソース(PostgreSQL、Salesforce、Zendesk)を扱えるのが強み ▪ 良くも悪くも枯れている ▪ アクセス制御や型への対応が不十分 ◦ rds-exporter(2024〜) ▪ analytics の問題点を解決するために現在の需要に則って設計・実装された ▪ まだまだ利用箇所が少ないので広げていく 4. まとめ
© 2025 Wantedly, Inc. • データ基盤入門 Wantedly Engineering Handbook ◦
https://docs.wantedly.dev/fields/data/data-infra • Ruby で作るデータ分析基盤 ◦ @Altech, 2018 ◦ https://speakerdeck.com/altech/ruby-dezuo-rudetafen-xi-ji-pan • Wantedly のデータ分析基盤を整備した話 ◦ @Altech, 2017 ◦ https://www.wantedly.com/companies/wantedly/post_articles/65866 • スケジュールジョブ( CronJob)の実行失敗通知基盤における成功と失敗 ◦ @unblee, 2024 ◦ https://speakerdeck.com/unblee/success-and-failure-in-scheduled-job-executio n-failure-notification-infrastructure 参考資料