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
Reiji Kainuma
February 07, 2022
Programming
2
1.3k
小さく始めるデータ基盤
https://github.com/reizist/slide/tree/master/datatech_casual%231
Reiji Kainuma
February 07, 2022
Tweet
Share
More Decks by Reiji Kainuma
See All by Reiji Kainuma
Airflow1=>Airflow2へのupgrade 事例紹介
reizist
0
730
lambdaのソース管理@meguro.dev#5/infrastructure as code of lambda
reizist
0
240
Other Decks in Programming
See All in Programming
AHC041解説
terryu16
0
590
【PHP】破壊的バージョンアップと戦った話〜決断と説得
satoshi256kbyte
0
120
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
210
最近のVS Codeで気になるニュース 2025/01
74th
1
250
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
300
Domain-Driven Transformation
hschwentner
2
1.9k
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
120
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
210
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
150
Software Architecture
hschwentner
6
2.1k
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Amazon Bedrock Multi Agentsを試してきた
tm2
1
280
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
GraphQLとの向き合い方2022年版
quramy
44
13k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
8
270
Into the Great Unknown - MozCon
thekraken
35
1.6k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
It's Worth the Effort
3n
184
28k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
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