Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takayuki Kasai
February 25, 2025
Technology
330
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
250
DVC を活用した機械学習パイプライン開発の高速化 / Using DVC to accelerate machine learning pipeline development
unblee
3
3.3k
自作 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.4k
Other Decks in Technology
See All in Technology
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
130
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
3
150
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
800
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
SLOを阻む不安
sraku2159
0
220
攻撃 3 時間 vs 復旧 10 時間。アクセスキー流出の非対称性を体感するために CTF を作った話
kazzpapa3
1
140
The future of architectural work
ufried
0
150
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
220
IBC 2026 動画技術関連レポート / IBC 2026 Report
cyberagentdevelopers
PRO
2
180
`go get`したらELFが降ってきた件
taiyow
0
170
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.7k
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
220
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
4
560
Are puppies a ranking factor?
jonoalderson
2
4.1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
47k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
Mind Mapping
helmedeiros
1
430
KATA
mclloyd
PRO
35
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.2k
Documentation Writing (for coders)
carmenintech
77
5.6k
Navigating Weather and Climate Data
rabernat
0
580
Automating Front-end Workflow
addyosmani
1370
210k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
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 参考資料