Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud Spanner 導入で実現した快適な開発と運用について

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for COLOPL Inc. COLOPL Inc.
February 18, 2025

Cloud Spanner 導入で実現した快適な開発と運用について

次世代DB戦略を支えるNewSQL 〜導入企業が語る導入背景と今後の展望〜
https://findy-tools.connpass.com/event/343774/

#NewSQL_findytools

Avatar for COLOPL Inc.

COLOPL Inc.

February 18, 2025
Tweet

More Decks by COLOPL Inc.

Other Decks in Technology

Transcript

  1. 事の発端 → 2017年 • 年々ユーザー数が増加 • 増加に伴い MySQL の負荷対策が複雑化 ◦

    垂直分割(3分割) ◦ 水平分割(64分割) ◦ レプリケーション • ゲームの運用が辛くなっていた 採用した経緯 6
  2. • 水平スケーリング ◦ 繁忙期 → スケールアウト ◦ 閑散期 → スケールイン

    ◦ 数週間から数ヶ月間隔で実施 → ◦ 実施に数日から数週間必要 ▪ 作業者が大変 インフラ側の辛み 7
  3. 同年、Cloud Spanner がリリース • ボタンひとつでスケーリング • フェイルオーバー、メンテナンスが全自動 • SQL 準拠

    • グローバルトランザクション • 同期レプリケーション Cloud Spanner 登場 11 ➔ 渡りに船、願ったり叶ったり?!
  4. 良かった点 • カジュアルにスケールリング ◦ 最近オートスケーリングも GA に! • ノーメンテ運営(重要!) ◦

    例えば位置ゲーで目的地に物理的に移動したのにサーバーが落ちている とガッカリさせてしまう • コードのテクニカル要素が激減 ◦ ビジネスロジックに専念できる 運用して感じたこと 14
  5. 運用して感じたこと 17 ① 過剰なアクセス ② 負荷 MAX Split A Split

    B Split A1 Split A2 Split B1 Split B2 ・・・ Split C Split C1 Split C2 ③ 分割が間に合わない 窒息状態 🔥 🔥 🔥 レイテンシー悪化
  6. リリース前の事前 warm up 18 ① 期待する負荷になるまで徐々にアクセスを増加 ② 常にそこそこの負荷 Split A

    Split B Split A1 Split A2 Split B1 Split B2 ・・・ Split C Split C1 Split C2 ③ じわじわ分割 高負荷に耐えられる状態を作る