Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-...
Search
Takayuki Kasai
February 25, 2025
Technology
0
260
ウォンテッドリーのデータパイプラインを支える 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
Tweet
Share
More Decks by Takayuki Kasai
See All by Takayuki Kasai
スケジュールジョブ(CronJob)の実行失敗通知基盤における成功と失敗 / Success and failure in scheduled job execution failure notification infrastructure
unblee
0
170
DVC を活用した機械学習パイプライン開発の高速化 / Using DVC to accelerate machine learning pipeline development
unblee
3
3.1k
自作 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
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
140
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
180
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
250
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
240
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
200
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
140
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.5k
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
320
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
160
Microsoft Agent Frameworkの可観測性
tomokusaba
1
110
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
20
7.7k
MySQLのSpatial(GIS)機能をもっと充実させたい ~ MyNA望年会2025LT
sakaik
0
120
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Writing Fast Ruby
sferik
630
62k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
65
Mind Mapping
helmedeiros
PRO
0
39
Skip the Path - Find Your Career Trail
mkilby
0
27
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
370
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
For a Future-Friendly Web
brad_frost
180
10k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
38
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
120
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
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 参考資料