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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
240
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
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
140
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
300
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
7
2.9k
SDDの運用にめげずに向き合った話
sansantech
PRO
1
140
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
690
Essential architectural thinking (revised edition)
ufried
0
110
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
160
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.4k
自主式軟體工廠
philipz
0
260
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.3k
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
190
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
350
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
RailsConf 2023
tenderlove
30
1.6k
Code Review Best Practice
trishagee
74
20k
New Earth Scene 8
popppiees
4
2.7k
Faster Mobile Websites
deanohume
310
32k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
From π to Pie charts
rasagy
1
400
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
Site-Speed That Sticks
csswizardry
13
1.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
930
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 参考資料