Firestore API の選択

Firestore データベースを作成するときに、Datastore API との互換性を持たせることができます。これは、新しい Firestore 機能へのアクセスを無効にする下位互換性のためのデータベース レベルの設定です。プロジェクト内のすべてのデータベースで、Datastore モード(Datastore)の Firestore の互換性を有効にする必要はありません。

Datastore 互換性は、以前の App Engine アプリなど、Datastore API に依存するアプリケーションでのみ使用することをおすすめします。Datastore 互換性は、Firestore の上に構築された API レイヤであり、可用性、パフォーマンス、整合性、スケーラビリティは同じです。App Engine との統合が強化される以外に、Datastore の互換性には Firestore を直接使用するメリットはありません。

Firestore

Firestore は、自動スケーリング、高パフォーマンス、容易なアプリケーション開発を実現するために構築された、MongoDB 互換のエンタープライズ グレードの NoSQL ドキュメント データベースです。Firestore は Datastore の後継です。Firestore は、数百万件のオペレーションを処理するサーバーサイドのバックエンド アーキテクチャだけでなく、モバイルアプリやウェブアプリにも使用できます。

Firestore には、以前の Datastore の機能に加えて、次の機能があります。

  • 強整合性のあるストレージ レイヤ
  • コレクションとドキュメントのデータモデル
  • リアルタイム アップデート
  • モバイル クライアント ライブラリとウェブ クライアント ライブラリ

Firestore は Datastore と下位互換性がありますが、新しいデータモデル、リアルタイム アップデート、モバイルおよびウェブ クライアント ライブラリの機能には下位互換性がありません。Firestore のすべての機能にアクセスする場合は、Datastore 互換性用にデータベースを構成しないでください。

Datastore 互換性の制限事項

Datastore で構築された以前の App Engine アプリケーションを使用している場合を除き、Datastore 互換性を使用しないことをおすすめします。Datastore 互換性を使用すると、次のような多くの有用な Firestore 機能にアクセスできなくなります。

  • 豊富なクエリ機能: データベースは Datastore API リクエストを受け入れ、豊富なクエリ機能を提供する Firestore API リクエストを拒否します。
  • インデックス タイプの増加: データベースでは、Firestore インデックスの代わりに Datastore インデックスが使用されます。これにより、インデックス タイプの種類が増え、構成の自由度が高まります。
  • リアルタイム機能: Firestore のリアルタイム機能は利用できません。

次のステップ