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
アクセス解析基盤のデータストア選定奮闘記 CloudNative Days Winter 20...
Search
yumu
November 26, 2024
0
190
アクセス解析基盤のデータストア選定奮闘記 CloudNative Days Winter 2024 船上LT会
yumu
November 26, 2024
Tweet
Share
More Decks by yumu
See All by yumu
分散オブジェクトで遊ぼう!〜dRubyで作るマルチプレイヤー迷路ゲーム〜 関西Ruby会議08
yumu
1
240
Ruby×AWSで作る動画変換システム 東京Ruby会議12
yumu
2
3.2k
Google Cloudで作るニアリアルタイムアクセス解析基盤 GDG DevFest Tokyo 2024 LT
yumu
0
3.3k
minneのShoryuken活用 Kaigi on Rails 2024 スポンサーLT
yumu
3
1.8k
Rubyでも動画変換簡単にできるよ TokyuRuby会議15スポンサーLT
yumu
0
140
文系の私が新卒エンジニアになるまで
yumu
3
910
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Adopting Sorbet at Scale
ufuk
77
9.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Faster Mobile Websites
deanohume
307
31k
Building Applications with DynamoDB
mza
95
6.5k
Why Our Code Smells
bkeepers
PRO
337
57k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Automating Front-end Workflow
addyosmani
1370
200k
Music & Morning Musume
bryan
46
6.6k
Scaling GitHub
holman
459
140k
Transcript
アクセス解析基盤の データストア選定奮闘記 yumu 2024.11.26 CloudNative Days Winter 2024 船上LT会 1
2 自己紹介 GMOペパボ minne事業部 プロダクト開発チーム 2023年 新卒入社 湯村 美吹香 Yumura Mifuka バックエンドが主戦場ですが、フロントやインフラもや
ります!クラウドネイティブになりたい。 • あだ名 : yumu • 好きな漫画 : メイドインアビス • X : @myumura3
3 minneの仕組み minneとは minne(ミンネ)は、ハンドメイド作品を「買いたい人」と「売りたい人」をつなぐ国内最大 のハンドメイドマーケットです。パソコンやスマートフォンを使って、簡単にハンドメイド作 品を販売・購入できます。
4 アジェンダ 1. アクセス解析リニューアルの背景 2. データストアの検討 1. 使い慣れた選択肢 2. クラウドサービス
3. なぜFirestoreを選んだのか 3. 実装してわかったこと
5 1. アクセス解析リニューアルの背景
6 これまでのアクセス解析
7 アクセス解析リニューアルの背景 • データ反映が1日おき • 表示できる指標が限定的 これまでの課題 理想の姿 • リアルタイムで数値を確認
• より多くの指標を提供
8 既存のログ収集基盤 Rails App Fluentd Pub/Sub Dataflow BigQuery minne bigfoot
9 これまでのアクセス解析アーキテクチャ DAG BigQuery Elasticsearch 集計クエリ実行・書き込み データ取り込み(Rake)
10 アーキテクチャ検討の基準 • ログ収集基盤との親和性 • 大量の行動ログを捌ける • 数分以内での更新 • レスポンス速度
• 値の正確性 • コスト効率 • 運用コスト • 将来の拡張性
11 2. データストアの検討
12 最終的なアーキテクチャ
13 使い慣れた選択肢 Pros Cons MySQL • 運用ノウハウが豊富 • NoSQLのように高速ではな い
• データの内容的にRDBである 必要がない Redis • 高速な読み書きが可能 • カウンター処理との相性がい い • データの永続化の運用が面倒 Elasticsearch • 検索が高速 • スケーラビリティが高い • 全文検索は不要
14 クラウドサービス Pros Cons BigQuery • 大規模データの分析に適して いる • クエリコストが高い
Cloud Storage • 大容量データに適している • コスト効率が良い • CSVなどのファイル処理が必 要 Cloud Bigtable • リアルタイムデータ処理に適 している • 小規模データセットでは過剰 • コストが高い DynamoDB • 高速な読み書きが可能 • コストが安い • Google Cloud側に置きた い
15 なぜFirestoreを選んだのか • NoSQLデータベース • フルマネージドで運用が楽 • コスト面での優位性 ◦ 読み書きベースの従量課金
• BigQueryとの連携がサポート済み
16 3. 実装してわかったこと
17 Firestoreを使ってみてわかったこと • よかった点 ◦ 想定通りの処理速度 ◦ 運用がとてもシンプル • はまったポイント🌀
◦ 一定期間にドキュメントを更新できる回数に制限がある ◦ データ構造の設計が難しい
18 Thank You! Thank You! GDG DevFest Tokyo 2024(11/30)でもLTします!