既存アプリを生かしたデータベース基盤の見直し
株式会社f4samuraiは、スマートフォン向けゲームの企画・開発・運営を手がける会社です。同社は、有名IPを題材にした大規模なアクションRPGなどを開発・運用しています。
今回、同社は運営中のゲームを支えるデータベースを従来の他社NewSQL製品からOceanBaseへと移行しました。大前提として「アプリケーション側は原則として改修しない」という方針のもと、必要な性能を確保しながら、利用規模に応じて構成と費用を柔軟に見直せる基盤の構築を目指しました。
移行の背景と直面していた課題
f4samuraiは以前、Amazon Auroraによる自前のシャーディング構成を運用していましたが、アプリケーション側での振り分け処理や集計などの課題から、単一データベースとして扱える他社NewSQL製品を採用していました。しかし、実際の利用規模に合わせてインフラの最適化を図ろうとした際、既存のアプリケーション構成を維持したまま性能と費用を両立させる上で、以下の課題に直面していました。
· ピーク時の性能確保: 日またぎ等のアクセス集中時にホットスポットなどの問題が発生し、キャッシュの併用などで対応していました。データベース製品の特性に寄り添ってアプリケーションを再設計すれば十分な性能を引き出せた可能性はありましたが、今回は「アプリケーション側を改修しない」という制約があったため、現状の構成のまま性能を確保することが求められました。
· 構成縮小時の運用負担: ユーザーの利用状況が落ち着いた後にリソースを縮小する際、データの再配置に時間がかかり、迅速なスケールインが困難であり、柔軟なコスト最適化の妨げになっていました。
· 小規模運用時のコストと学習ハードル: 最小構成でも一定の費用がかかり、また製品特有の管理画面や専門用語への習熟が必要で、運用チームへの負担が残りました。
OceanBaseの選定と万全の移行プロセス
f4samuraiは、アプリケーション側にシャーディングを再導入せず、必要な性能を保ちながら小さな構成でも運用できる点を評価し、OceanBaseを選定しました。
· トラフィックリプレイなどによる事前検証: 実トラフィックデータを提供してのリプレイ検証や本番データ移行によるPoCを実施し、移行後に必要な構成や本番さながらの挙動を事前に確認しました。
· ピークに合わせた柔軟なオンラインスケーリング: サービスを停止することなくオンラインでスケールの調整が可能なため、通常時は最小限の構成で維持しつつ、イベント時などアクセスが急増するピークに合わせてリソースを迅速かつ柔軟に拡大できる点が大きな決め手となりました。
· 既存テーブル構造の踏襲とSQLの活用: OceanBaseの高い互換性により、従来のテーブル構造や既存SQLの多くを維持したまま移行できました。これにより、データベース製品の変更に伴うアプリケーション側の大規模な改修リスクを回避しています。
· 手厚いサポートとトラブル時の迅速な対応: データ移行にはOceanBase Migration Service(OMS)を活用し、万一の切り戻しに備えた逆方向同期も設定しました。移行当日にタイムゾーン設定による日時のずれが発覚した際も、OceanBaseのエンジニアと迅速に連携し、サービス影響を最小限に抑えて完了させました。
導入後に実感した3つの効果
OceanBaseへの移行後、f4samuraiは性能・コスト・運用面で大きな効果を確認しています。
· 処理速度の大幅な改善: 同社環境での比較において、他社NewSQL比で約1.7倍のスループット向上を達成し、アクセス集中時でも安定した応答性能を発揮しています。
· ストレージ使用量とコストの削減: データ容量が大幅に圧縮され、70%以上のストレージ削減を実現しました。また、運用環境に合わせた見直しにより、月額コストを約40%削減することができました。
· 柔軟なリソース調整と安定稼働: 開発環境などにおいて構成を縮小する際にも瞬断を観測せず、オンラインでのスケール調整が可能となり運用負担が軽減されました。
今後の展望
f4samuraiは今後、行単位の自動失効(TTL)機能などを活用し、周辺システムとして利用しているDynamoDBや、OpenSearchが担ってきた検索用途についてもOceanBaseへの統合可能性を検証していく予定です。これにより、システム構成をよりシンプルにすることを目指しています。また、分析・集計用途の集約によるデータ基盤の一本化や、開発・検証環境におけるさらなるコスト最適化など、OceanBaseの今後のアップデートにも大きな期待を寄せています。
プロジェクトメンバーからの声
“PoCの段階で、自社が処理すべきクエリやトランザクションの規模に対し、OceanBaseで最適な構成やリソースをしっかりと検証しておくことが重要です。そのサイジングさえ見極められれば、ピーク時の性能に懸念を抱くことなく、安定した運用が可能になります。”
株式会社f4samurai CTO
森本氏
“データベース選定においては、アプリケーション側にほぼ修正を加えることなく移行できる互換性の高さが非常に重要になります。また、移行後の予期せぬ制約や課題を未然に防ぐためにも、実際に手を動かして比較検証を行い、自社の要件に適合するかをしっかりと見極めることが大切です。”
株式会社f4samurai サーバエンジニア
藤井氏
“OceanBaseはUIがわかりやすく日々の操作性が高いことに加え、データ移行などの各種ツールの使い勝手が優れている点が素晴らしいと感じています。シンプルな設計で高い耐障害性を担保できる点も、大規模なゲーム基盤として非常に心強いです。さらに、営業やサポートの方々の熱意ある手厚いサポート体制も、安心して導入を進められた大きな要因でした。”
株式会社f4samurai クラウドインフラエンジニア
酒井氏
本資料は取材内容に基づき作成した移行事例まとめです。対外公開(プレスリリース・技術記事等)に用いる場合は、関係各社(f4samurai様、OceanBase様)への確認・許諾を得たうえでご利用ください。
構成図: