Next'25 速報 - Firestore が MongoDB 互換性を発表!サーバーレス DB の進化
はじめに
現在ラスベガスで開催されている Google Cloud の旗艦イベント「Google Cloud NEXT'25(以下、Next'25)」に現地参加中の Shanks / kazz / 小堀内 / 岸本 です。
Next'25 で発表された 最新情報 を現地からお届けしています!
本記事では、Next'25 で発表された Firestore の最新情報、特に Firestore with MongoDB compatibility に焦点を当てて解説します。
サーバーレスドキュメントデータベースである Firestore は、今回の発表により、多くの開発者が慣れ親しんだ MongoDB の API やツールを使って、その強力なスケーラビリティや可用性の恩恵を受けられるようになります。
この記事では、セッション内容を基に Firestore の最新動向と、それがエンジニアにとってどのような価値を持つのかを解説します。
スケーラブルで信頼性の高いアプリケーションを、運用負荷を抑えながら構築したい開発者にとって、必見の情報です。
主要ポイント
このセッションで発表された主要なポイントは以下の通りです。
- MongoDB 互換 API の提供開始: 既存の MongoDB ドライバー、ツール、エコシステムを Firestore で利用可能に。学習コストを抑え、既存資産を活用できます。
- 真のサーバーレスアーキテクチャ: 自動スケーリング、業界最高水準の 99.999% 可用性 SLA、キャパシティプランニング不要。インフラ管理から解放されます。
- クエリ機能の大幅強化: Google Cloud Console 上の新しい Query Editor、柔軟なインデックスタイプ (Sparse/Non-sparse/Multi-key)、Query Explain/Insights によるパフォーマンス分析。
- データ相互運用性 (近日提供): MongoDB 互換 API、Firestore Native API、Datastore モード API 間でのデータアクセスが可能に。柔軟なアーキテクチャ設計や段階的な移行を実現します。
技術詳細
Firestore のサーバーレスアーキテクチャ: スケーラビリティと信頼性の基盤
従来のドキュメントデータベースでは、スケーラビリティ (拡張性) とリライアビリティ (信頼性) の確保が大きな課題でした。
スケールアップ、レプリケーション、シャーディングといった従来の手法は、ダウンタイムのリスク、結果整合性の問題、運用の複雑さといったトレードオフを伴います。
Firestore はこれらの課題に対し、独自のサーバーレスアーキテクチャで応えます。
- コンピューティングとストレージの分離: 必要に応じてリソースをリアルタイムかつ自動的にリバランスします。開発者や運用担当者の介入は一切不要です。
- 自動シャーディングとレプリケーション: ストレージは負荷に応じて自動的にシャーディング (分割) され、データの耐久性と可用性を高めるために複数のゾーンにレプリケーション (複製) されます。
- Paxos プロトコルによる整合性: 書き込み時には Paxos と呼ばれる分散合意プロトコルを使用し、レプリカ間で厳密な整合性を保証します。これにより、ゾーン障害時でもダウンタイムゼロ、データ損失ゼロで自動的にフェイルオーバーし、自己修復を行います。
このアーキテクチャにより、開発者や運用担当者はインフラ管理の複雑さから解放され、アプリケーション開発に集中できます。また、利用した分だけ課金される従量課金モデルと自動スケーリングにより、コスト効率も最適化されます。
Firestore with MongoDB compatibility: 使い慣れたツールで Firestore を活用
今回発表された Firestore with MongoDB compatibility は、開発者が既存の MongoDB スキルセットやツール (ドライバー、ライブラリ、VS Code 拡張機能など) をそのまま Firestore 上で利用できるようにするものです。
これにより、MongoDB に慣れた開発者は、新しい API を学習することなく Firestore のメリットを享受できます。
これに伴い、以下の新機能が発表されました。
New Query Editor
Google Cloud Console に統合され、追加ソフトウェアなしで MongoDB Query Language (MQL) を直接実行・テストできます。
New Index Type
Firestore のクエリ柔軟性を向上させます。
-
Sparse / Non-sparse Index:
sparse: true
を指定すると、インデックス対象フィールドが存在しないドキュメントはインデックスから除外され、ストレージ効率が向上します。sparse: false
(デフォルト) では、フィールドが存在しないドキュメントもインデックスに含まれます。 -
Multi-key Index: 配列 (ネストされた配列含む) 内の各要素に対してインデックスを作成し、配列要素に対するクエリ (
field: value
や$in
など) のパフォーマンスを大幅に向上させます。
Query Explain
クエリがどのように実行されるか (クエリプラン)、どのインデックスが使用されたか、スキャンしたドキュメント数、処理時間などのパフォーマンスメトリクス、そして課金に関連するオペレーション数を詳細に表示し、クエリの最適化に役立ちます。
Query Insights
実行頻度の高いクエリや、レイテンシが高いなどパフォーマンスに影響を与えているクエリを特定し、分析を支援します。
Database Center Integration
複数の Firestore データベース (フリート) のインベントリ管理や、Gemini Cloud Assist による災害復旧、セキュリティ、コンフォーマンスに関する推奨事項を得られます。
移行ツール (近日提供予定)
既存の MongoDB から Firestore へのデータ移行を容易にするツールが提供予定です。
データ相互運用性 (近日提供予定)
MongoDB 互換 API で書き込んだデータを、Firestore のリアルタイム SDK (onSnapshot
など) で読み取る、といった異なる API 間でのデータアクセスが可能になります。
これにより、既存の Firestore アプリケーションと MongoDB 互換 API を使用する新しいサービスを連携させたり、段階的な移行を進めたりすることが容易になります。
まとめ
Next'25 で発表された Firestore with MongoDB compatibility
は、Firestore の強力なサーバーレスアーキテクチャの利点を、より多くの開発者が享受できるようにする重要なアップデートです。
使い慣れた MongoDB の API やツールを利用しつつ、自動スケーリング、高可用性、運用不要といった Firestore ならではのメリットを得られます。
新しく導入された Query Editor、Explain/Insights 機能は、開発効率とコスト効率の両面で Firestore の価値をさらに高めます。
サーバーレスデータベースの導入や、既存の MongoDB 環境からの移行、あるいはスケーラブルな新規アプリケーション開発を検討している場合、Firestore は有力な選択肢として、ぜひ検討すべきサービスです。
Discussion