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
小さく始めるデータ基盤
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Reiji Kainuma
February 07, 2022
Programming
1.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
小さく始めるデータ基盤
https://github.com/reizist/slide/tree/master/datatech_casual%231
Reiji Kainuma
February 07, 2022
More Decks by Reiji Kainuma
See All by Reiji Kainuma
Airflow1=>Airflow2へのupgrade 事例紹介
reizist
0
930
lambdaのソース管理@meguro.dev#5/infrastructure as code of lambda
reizist
0
300
Other Decks in Programming
See All in Programming
Android CLI
fornewid
0
230
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
360
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
390
Oxlintはいいぞ(続)
yug1224
1
440
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.2k
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
480
Go 1.27 における memory allocation の高速化
andpad
0
320
Cloudflare is Agents
chimame
0
180
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
720
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
240
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
1
2k
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Typedesign – Prime Four
hannesfritz
42
3.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
490
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
790
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
310
Ruling the World: When Life Gets Gamed
codingconduct
0
310
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
300
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Transcript
小さく始めるデータ基盤 @reizist 1 / 18
自己紹介 @reizist Web Backend / Infra / Data (Infra) R
なんとかという会社で データエンジニア 最近CloudComposer2 と戯れています 2 / 18
背景 データ基盤はもはや大規模サービスにのみ必要なものではない スタートアップでもデータ基盤の需要は増えてきている 今回 副業で enpay.Inc で構築した事例を紹介します 3 / 18
事前制約 外部にダッシュボードを埋め込みで提供したい Looker を採用したい 4 / 18
重要視した方針 汎用化 エンハンス/ リプレイスしやすい技術を採用 作り込まない Airflow, Argo Workflow 等ワークフローエンジンの採用を見送る リスク最小化
DWH には個人情報を一切入れない「全部なし戦略」 5 / 18
どんなデータを集める? 1. クライアントログ 2. DB 3. 各SaaS(kintone) 6 / 18
どこにデータを集める? BigQuery エコシステムが整って枯れているBigQuery に不満がなかった 権限周り/cli 周りの取り回し Snowflake のtrial してみたいと思いつつ.. 7
/ 18
Q. どうやってデータを集める? 真っ先にtrocco をtrial で導入し検討した あらゆるデータソースに対応していて要件(DB, SaaS からのデー タ取り込み) は満たせた
が要件に対してはコストが見合わなかったので断念 Embulk on CloudRun を採用 コンテナベースなので安心 8 / 18
Amazon S3 Amazon RDS Cloud Build Cloud Storage db-importer Cloud
Run Push AWS Step Functions workflow rds-exporter Create DBClusterSnapshot StartExportTask EventBridge run-embulk Cloud Run BigQuery DB SaaS ClientLog 9 / 18
DB Aurora instance から個人情報をすべてマスク済のsnapshot を作成 snapshot からS3 にParquet でexport S3
に DB のデータがリスクのない状態で配置 CloudRun 上で実行されるbq load によりS3 のParquet をBQ にimport 10 / 18
SaaS Embulk on CloudRun CloudRun のroot endpoint にアクセスすると実装済のすべての embulk config
をsequential にembulk run する 環境変数によって個別に実行可能 SaaS 毎のendpoint を作る等自由に拡張可能 11 / 18
ClientLog Google Analytics 必要な箇所で trackEvent を呼ぶだけでBQ にほぼリアルタイムにロ ギングされる export const
EventTracker = { trackEvent: function (event_name: string, payload: any) { try { gtag('event', event_name, payload) 12 / 18
どうやって使っている? まずはsales/cs メンバー向けのkintone ダッシュボード上でLooker ダ ッシュボードを埋め込み表示 今後エンドユーザーに便利ダッシュボードを公開予定 13 / 18
14 / 18
稼働状況 StepFunction, CloudRun 共に daily job は実装完了後一度も落ちていない 15 / 18
ランニングコスト 実質無料 CloudRun & BQ (& CloudBuild) で200 円くらい CloudRun
最高! 16 / 18
enpay のプロダクト/ データに興味がある方はこちらへどうぞ! Looker 採用決定したCTO がカジュアルにトークします 17 / 18
まずは小さく始めよう 18 / 18