Google Cloud Firestoreは、従来のGoogle CloudDatastoreにまもなく置き換わる予定です。次に、CloudFirestoreを「ネイティブモード」で使用するか「データストアモード」で使用するかを選択できます。前者は通常のFirestoreSDKを介してFirestoreにアクセスでき、後者は古いCloud Datastore SDK(Web /モバイルAPIがない)を使用できます。
私はまだFirestoreに精通していません。私の質問は次のとおりです。新しいAPIに移植する以外に、古いCloud Datastore(またはその代替:「データストアモード」のFirestore)で実行できる「ネイティブモード」のFirestoreでは実行できないことが実際にありますか。 )?または、「データストアモード」を使用する他の利点(コストなど)はありますか?
そうでない場合は、古いCloud Datastoreを使用した古いコードとの互換性以外に、「データストアモード」でFirestoreを使用する利点は実際にはないようです。
Firestoreの「データストアモード」には、従来のDatastore APIを使用できる以外にまったく利点がないという私の仮定は正しいですか(notより新しく、おそらくより機能豊富なものを使用できるという犠牲を払って)モバイルAPIやウェブAPIを含むFirestoreAPI)?
費用。
データストアモードのFirestoreは、元のデータストアと同様に、キーのみのクエリとプロジェクションクエリをサポートします。つまり、これらのクエリの結果セットは、無料の「Cloud FirestoreSmallOperations」にカウントされます。 1日あたり数十億の小規模なオペレーションを蓄積しており、予測クエリがないと、データストアのコストが実質的に10倍になり、耐えられなくなります。
この機能はFirestoreネイティブモードでは使用できないため(また、強力な一貫性が追加されているため)、元のデータストアよりもパフォーマンスが低下すると予想されましたが、テストではそうではありませんでした。データストアモードのFirestoreは、すべてのタイプの操作で、アプリケーションの約2倍の速度で一貫して実行されました。
公式ドキュメント によると、CloudFirestoreはCloudDatastoreと下位互換性がありますが、新しいデータモデル、リアルタイム更新、モバイルおよびWebクライアントライブラリ機能はそうではありません。
データストアモードのCloudFirestoreは、Cloud Datastoreシステムの動作を使用しますが、Cloud Firestoreのストレージレイヤーにアクセスし、次のCloudDatastoreの制限を取り除きます。
データストアモードは、CloudDatastoreと互換性のないCloudFirestore機能を無効にします。
新しいプロジェクトであっても、「データストアモード」を使用することには利点があります。
MySQLからの移行プロジェクトのファイアストア「データストアモード」と「ネイティブモード」の2つのモードを評価しています。
一方では、次の理由から、1つのバックエンドグローバルリポジトリに「データストアモード」を使用することを検討しています。
一方、「ネイティブモード」は、次の理由により、特定のアプリケーションに直面しているユーザーのいくつかの要件に適合しているようです。
ただし、2番目のプロジェクトでデータストアモードを推奨する理由が1つあります。
NoSQLテクノロジーへの移行の決定をサポートする両方のモードによって満たされる共通のニーズもあります
項目2から5および10は、データストアモードに固有の機能に基づいており、ネイティブモードでは使用できません。項目6から9は、ネイティブモードに固有です。