This page describes the upgrade path from Cloud Datastore to Cloud Firestore.
Cloud Firestore can operate in Datastore mode, making it backwards- compatible with Cloud Datastore. By creating a Cloud Firestore database in Datastore mode, you can access Cloud Firestore's improved storage layer while keeping Cloud Datastore system behavior. After Cloud Firestore is released as a GA product, we will gradually upgrade existing Cloud Datastore databases to Cloud Firestore in Datastore mode.
Automatic upgrade to Cloud Firestore in Datastore mode
Some time after Cloud Firestore is released for general availability, we will begin contacting owners of existing Cloud Datastore databases to schedule an automatic upgrade to Cloud Firestore in Datastore mode.
If you have an application that uses Cloud Datastore, you will not need to update your application code and we will notify you about the schedule of your application's upgrade to Datastore Mode. The upgrade will not require downtime.
For additional questions about the automatic upgrade process, contact one of our support channels.
Cloud Firestore in Datastore mode
When you create a new Cloud Firestore database, you will be able to configure the database to operate in either Native mode or Datastore mode. Datastore mode uses Cloud Datastore system behavior but accesses Cloud Firestore's storage layer, removing the following Cloud Datastore limitations:
- Eventual consistency, all Cloud Datastore queries become strongly consistent.
- Transactions are no longer limited to 25 entity groups.
- Writes to an entity group are no longer limited to 1 per second.
Datastore mode disables Cloud Firestore features that are not compatible with Cloud Datastore:
- The project will accept Cloud Datastore API requests and deny Cloud Firestore API requests.
- You can use Cloud Datastore client libraries with this project but not Cloud Firestore client libraries.
- The Cloud Firestore real-time capabilities will not be available.
- In the GCP console, the database will use the Cloud Datastore viewer instead of the Cloud Firestore viewer.
For a detailed comparison between Cloud Firestore in Native mode, Cloud Firestore in Datastore mode, and Cloud Datastore, see Choosing between Cloud Firestore and Cloud Datastore.
Testing an existing application
For an existing app that uses Cloud Datastore, you can test app behavior with Cloud Firestore in Datastore mode by doing the following:
- Create a new project. In this project, create a Cloud Firestore in Datastore mode database.
- Using the managed export service, export some of your application's data to Cloud Storage.
- Using the managed import service, import your application's data to your new project.
- Copy app logic you want to test to the new project or simulate app behaviour against the new project.