Locations
When you provision a 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.
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 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.
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 | us-central1 (Iowa), us-central2 (Oklahoma—private GCP region) |
us-east1 (South Carolina) |
Note that if your project already has an App Engine app with a location
of either us-central
or europe-west
, then your default
Firestore database will be considered
multi-regional.
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. All regional locations are separated from other regional locations by at least 100 miles.
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.
Firestore supports the following regional resource locations:
Region name | Region description | |
---|---|---|
North America | ||
us-west1 | Oregon | |
us-west2 | Los Angeles | |
us-west3 | Salt Lake City | |
us-west4 | Las Vegas | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Iowa | |
northamerica-northeast1 | Montréal | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Toronto | |
us-east1 | South Carolina | |
us-east4 | Northern Virginia | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Columbus | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Dallas | |
South America | ||
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Santiago | |
southamerica-east1 | São Paulo | |
Europe | ||
europe-west2 | London | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Belgium | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Netherlands | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Milan | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Madrid | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Paris | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Turin | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Berlin | |
europe-west3 | Frankfurt | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Finland | |
europe-central2 | Warsaw | |
europe-west6 | Zürich | |
Middle East | ||
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Doha | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Dammam | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Tel Aviv | |
Asia | ||
asia-south1 | Mumbai | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Delhi | |
asia-southeast1 | Singapore | |
asia-southeast2 | Jakarta | |
asia-east2 | Hong Kong | |
asia-east1 | Taiwan | |
asia-northeast1 | Tokyo | |
asia-northeast2 | Osaka | |
asia-northeast3 | Seoul | |
Australia | ||
australia-southeast1 | Sydney | |
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Melbourne | |
Africa | ||
This location does not support App Engine. If you plan to use App Engine, you should choose a different location. |
Johannesburg |
Location SLA
Your Firestore location type determines the Service Level Agreement (SLA) uptime percentage:
Covered service | Monthly uptime percentage |
---|---|
Firestore Multi-Region | >= 99.999% |
Firestore Regional | >= 99.99% |
Location pricing
Your Firestore location determines the cost of database operations.
For a comprehensive explanation of pricing per region and per region type, see Understand Firestore billing.
View the location of your databases
Use one of the following methods to view the location setting for your databases:
Run the
gcloud firestore databases list
command.Open the database list in the Google Cloud console. The location for each database is in the location column.
In the Firebase console, go to the 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 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 Firestore instance and the default Cloud Storage for Firebase bucket are not yet provisioned:Provisioning the default 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 Firestore instance.
Starting
October 30, 2024 , if the default Firestore instance has already been provisioned, but the default Cloud Storage for Firebase bucket has not been provisioned:- The existing default Firestore instance does not dictate the
location of the future default Cloud Storage bucket
(
).*.firebasestorage.app
- The existing default 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 bucket), but the default Firestore instance has not been provisioned:*.appspot.com
- Back when the default Cloud Storage bucket
(
) was provisioned, an App Engine app was also provisioned, and thus the location of the future default Firestore instance was set at that time. Even if you delete the*.appspot.com
bucket, you can't delete the App Engine app, so the location setting of the future default Firestore instance is already set.*.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 Firestore database in specific location, visit one of the Firestore quickstarts.
- For more information about building applications to meet your latency, availability, and durability requirements, refer to Geography and Regions.