Slide 1

Slide 1 text

アクセス解析基盤の データストア選定奮闘記 yumu 2024.11.26 CloudNative Days Winter 2024 船上LT会 1

Slide 2

Slide 2 text

2 自己紹介 GMOペパボ minne事業部 プロダクト開発チーム 2023年 新卒入社 湯村 美吹香 Yumura Mifuka バックエンドが主戦場ですが、フロントやインフラもや ります!クラウドネイティブになりたい。 ● あだ名 : yumu ● 好きな漫画 : メイドインアビス ● X : @myumura3

Slide 3

Slide 3 text

3 minneの仕組み minneとは minne(ミンネ)は、ハンドメイド作品を「買いたい人」と「売りたい人」をつなぐ国内最大 のハンドメイドマーケットです。パソコンやスマートフォンを使って、簡単にハンドメイド作 品を販売・購入できます。

Slide 4

Slide 4 text

4 アジェンダ 1. アクセス解析リニューアルの背景 2. データストアの検討 1. 使い慣れた選択肢 2. クラウドサービス 3. なぜFirestoreを選んだのか 3. 実装してわかったこと

Slide 5

Slide 5 text

5 1. アクセス解析リニューアルの背景

Slide 6

Slide 6 text

6 これまでのアクセス解析

Slide 7

Slide 7 text

7 アクセス解析リニューアルの背景 ● データ反映が1日おき ● 表示できる指標が限定的 これまでの課題 理想の姿 ● リアルタイムで数値を確認 ● より多くの指標を提供

Slide 8

Slide 8 text

8 既存のログ収集基盤 Rails App Fluentd Pub/Sub Dataflow BigQuery minne bigfoot

Slide 9

Slide 9 text

9 これまでのアクセス解析アーキテクチャ DAG BigQuery Elasticsearch 集計クエリ実行・書き込み データ取り込み(Rake)

Slide 10

Slide 10 text

10 アーキテクチャ検討の基準 ● ログ収集基盤との親和性 ● 大量の行動ログを捌ける ● 数分以内での更新 ● レスポンス速度 ● 値の正確性 ● コスト効率 ● 運用コスト ● 将来の拡張性

Slide 11

Slide 11 text

11 2. データストアの検討

Slide 12

Slide 12 text

12 最終的なアーキテクチャ

Slide 13

Slide 13 text

13 使い慣れた選択肢 Pros Cons MySQL ● 運用ノウハウが豊富 ● NoSQLのように高速ではな い ● データの内容的にRDBである 必要がない Redis ● 高速な読み書きが可能 ● カウンター処理との相性がい い ● データの永続化の運用が面倒 Elasticsearch ● 検索が高速 ● スケーラビリティが高い ● 全文検索は不要

Slide 14

Slide 14 text

14 クラウドサービス Pros Cons BigQuery ● 大規模データの分析に適して いる ● クエリコストが高い Cloud Storage ● 大容量データに適している ● コスト効率が良い ● CSVなどのファイル処理が必 要 Cloud Bigtable ● リアルタイムデータ処理に適 している ● 小規模データセットでは過剰 ● コストが高い DynamoDB ● 高速な読み書きが可能 ● コストが安い ● Google Cloud側に置きた い

Slide 15

Slide 15 text

15 なぜFirestoreを選んだのか ● NoSQLデータベース ● フルマネージドで運用が楽 ● コスト面での優位性 ○ 読み書きベースの従量課金 ● BigQueryとの連携がサポート済み

Slide 16

Slide 16 text

16 3. 実装してわかったこと

Slide 17

Slide 17 text

17 Firestoreを使ってみてわかったこと ● よかった点󰢐 ○ 想定通りの処理速度 ○ 運用がとてもシンプル ● はまったポイント🌀 ○ 一定期間にドキュメントを更新できる回数に制限がある ○ データ構造の設計が難しい

Slide 18

Slide 18 text

18 Thank You! Thank You! GDG DevFest Tokyo 2024(11/30)でもLTします!