When you provision a Cloud Firestore instance, you must choose a location for the instance. To reduce latency and increase availability, store your data close to the users and services that need it.
If your project is on the pay-as-you-go Blaze pricing plan, then you can optionally create multiple databases in your project, each with its own location setting.
Be aware that once you provision a database instance, you cannot change its location setting.
Types of locations
You can store your Cloud Firestore data in a multi-region location or a regional location .
Multi-region locations
Select a multi-region location to maximize the availability and durability of your database.
A multi-region location consists of a defined set of regions where multiple replicas of the database are stored. Each replica is either a read-write replica which contains all of the data in the database or a witness replica which does not maintain a full set of data but participates in replication.
By replicating the data between multiple regions, data can continue to be served even with the loss of an entire region. Within a region, data is replicated across zones so that data can continue to be served within that region even with the loss of a zone.
Cloud Firestore supports the following multi-region locations:
Multi-region name | Multi-region description | Read-Write regions | Witness region |
---|---|---|---|
eur3
|
Europe | europe-west1
(Belgium), europe-west4
(Netherlands) |
europe-north1
(Finland) |
nam5
|
United States (Central) | us-central1
(Iowa), us-central2
(Oklahoma—private GCP region) |
us-east1
(South Carolina) |
nam7
|
United States (Central and East) | us-central1
(Iowa), us-east4
(Northern Virginia) |
us-central2
(Oklahoma—private Google Cloud
region) |
Regional locations
A regional location is a specific geographic place, such as South Carolina. Data in a regional location is replicated in multiple zones within a region .
Select a regional location for lower costs, for lower write latency if your application is sensitive to latency, or for co-location with other Google Cloud resources .
Cloud Firestore supports the following regional resource locations:
us-west1
us-west2
us-west3
us-west4
us-central1
northamerica-northeast1
northamerica-northeast2
northamerica-south1
us-east1
us-east4
us-east5
us-south1
southamerica-west1
southamerica-east1
europe-west2
europe-west1
europe-west4
europe-west8
europe-southwest1
europe-west9
europe-west12
europe-west10
europe-west3
europe-north1
europe-north2
europe-central2
europe-west6
me-central1
me-central2
me-west1
asia-south1
asia-south2
asia-southeast1
asia-southeast2
asia-east2
asia-east1
asia-northeast1
asia-northeast2
asia-northeast3
australia-southeast1
australia-southeast2
africa-south1
Location SLA
Your Cloud Firestore location type determines the Service Level Agreement (SLA) uptime percentage:
Covered service | Monthly uptime percentage |
---|---|
Cloud Firestore Multi-Region | >= 99.999% |
Cloud Firestore Regional | >= 99.99% |
Location pricing
Your Cloud Firestore location determines the cost of database operations.
For a comprehensive explanation of pricing per region and per region type, see Understand Cloud Firestore billing .
View the location of your databases
In the Firebase console, go to the Cloud Firestore Data tab to view the list of your database instances and their locations.
Possible location dependencies due to "location for default Google Cloud resources"
The "location for default Google Cloud resources" is the location setting for any project resources associated with Google App Engine , including the following:
- default Cloud Firestore database instance
- default Cloud Storage
for Firebase bucket with the name format of
*.appspot.com
- Google Cloud Scheduler used specifically with 1st gen scheduled functions
This "location for default Google Cloud resources" is an immutable setting. Also, when you set the location for one of the associated resources, you indirectly set the location for all of them due to their common association with App Engine .
However, with many changes to the Firebase and Google Cloud
ecosystem over
the years, the associations of resources to App Engine
have been
changing. Most notably, starting *.firebasestorage.app
Here are the details of what changed in the possible location dependencies:
-
Starting
October 30, 2024 , if the default Cloud Firestore instance and the default Cloud Storage for Firebase bucket are not yet provisioned:-
Provisioning the default Cloud Firestore instance sets the location for any future App Engine app provisioned in the project. However, it does not dictate the location of the future default Cloud Storage bucket.
-
Provisioning the default Cloud Storage bucket no longer provisions an App Engine app. Thus, the location of the default Cloud Storage bucket does not dictate the location of the future default Cloud Firestore instance.
-
-
Starting
October 30, 2024 , if the default Cloud Firestore instance has already been provisioned, but the default Cloud Storage for Firebase bucket has not been provisioned:- The existing default Cloud Firestore
instance does not
dictate the
location of the future default Cloud Storage
bucket
(
*.firebasestorage.app
- The existing default Cloud Firestore
instance does not
dictate the
location of the future default Cloud Storage
bucket
(
-
Starting
October 30, 2024 , if the default Cloud Storage for Firebase bucket has already been provisioned(specifically, the*.appspot.com
- Back when the default Cloud Storage
bucket
(
*.appspot.com
*.appspot.com
- Back when the default Cloud Storage
bucket
(
If you used 1st gen scheduled functions, then their location is set to the location for default Google Cloud resources. This is because Cloud Scheduler and App Engine previously had an association with each other. Also, if you set up 1st gen scheduled functions before provisioning other resources that shared this location setting, then you set their location, too.
Note that if you have an App Engine
app with a
location of either us-central
or europe-west
, then your
location for default Google Cloud
resources is considered multi-regional
.
Next steps
- To create a Cloud Firestore database in a specific location, visit Get started with Cloud Firestore .
- For more information about building applications to meet your latency, availability, and durability requirements, refer to Geography and Regions .