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
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
200
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
160
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
160
背中から、背中へ /paying forward to community
naitosatoshi
0
180
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
290
デジタル・デザイン構想 by Sayaka Ishizuka
y150saya
0
120
【FinOps】データドリブンな意思決定を目指して
z63d
3
520
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
300
NDIAS CTF 2026 問題解説会資料
bata_24
0
130
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
190
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
0
220
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
410
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
The Cult of Friendly URLs
andyhume
79
6.9k
For a Future-Friendly Web
brad_frost
183
10k
RailsConf 2023
tenderlove
30
1.5k
Leo the Paperboy
mayatellez
7
1.9k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
590
Typedesign – Prime Four
hannesfritz
42
3.1k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
190
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
160
The World Runs on Bad Software
bkeepers
PRO
72
12k
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 参考資料