Cloud Firestore Enterprise edition with MongoDB compatibility is now available!
Learn more.
Understand reads and writes at scale
Stay organized with collections
Save and categorize content based on your preferences.
Relevant to Cloud Firestore Enterprise edition only.
|
Read this document to make informed decisions on architecting your applications
for high performance and reliability. This document includes advanced
Cloud Firestore topics. If you're just starting out with Cloud Firestore,
see the quickstart guide
instead. To make sure that your applications continue to perform well as your
database size and traffic increase, it helps to understand the mechanics of
reads and writes in the Firestore backend. You must also understand the
interaction of your read and writes with the storage layer and the underlying
constraints that may affect performance.
To learn about some best practices before architecting your application, read
the following:
- Understand the high level components
of an API request.
- All writes
are handled as read-write transactions to ensure ACID properties. If a write
involves multiple splits, it may require a two-phase commit process.
- Reads,
by default, are "strongly consistent" and use a timestamp-based approach to
avoid locks.
- To maintain high performance, you should avoid hotspots
by distributing operations across the key range and keeping transactions small.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-25 UTC.
[null,null,["Last updated 2025-08-25 UTC."],[],[],null,["\u003cbr /\u003e\n\n\n|--------------------------------------------------------|\n| *Relevant to Cloud Firestore Enterprise edition only.* |\n\n\u003cbr /\u003e\n\nRead this document to make informed decisions on architecting your applications\nfor high performance and reliability. This document includes advanced\nCloud Firestore topics. If you're just starting out with Cloud Firestore,\nsee the [quickstart guide](/docs/firestore/enterprise/create-and-query-database)\ninstead. To make sure that your applications continue to perform well as your\ndatabase size and traffic increase, it helps to understand the mechanics of\nreads and writes in the Firestore backend. You must also understand the\ninteraction of your read and writes with the storage layer and the underlying\nconstraints that may affect performance.\n\nTo learn about some best practices before architecting your application, read\nthe following:\n\n- Understand the [high level components](https://cloud.google.com/firestore/mongodb-compatibility/docs/understand-reads-writes-scale#understand_the_high_level_components) of an API request.\n- All [writes](https://cloud.google.com/firestore/mongodb-compatibility/docs/understand-reads-writes-scale#understand_the_life_of_a_write) are handled as read-write transactions to ensure ACID properties. If a write involves multiple splits, it may require a two-phase commit process.\n- [Reads](https://cloud.google.com/firestore/mongodb-compatibility/docs/understand-reads-writes-scale#understand_the_life_of_a_read), by default, are \"strongly consistent\" and use a timestamp-based approach to avoid locks.\n- To maintain high performance, you should [avoid hotspots](https://cloud.google.com/firestore/mongodb-compatibility/docs/understand-reads-writes-scale#avoid_hotspots) by distributing operations across the key range and keeping transactions small."]]