Firestore in Datastore mode (Datastore) is a NoSQL document database built for automatic scaling, high performance, and ease of application development. Datastore features include:
While the Datastore interface has many of the same features similar to relational databases, as a NoSQL database, it varies in how it describes the relationships between data objects. Here's a high-level comparison of Datastore and relational database concepts:
Concept | Datastore | Firestore | Relational database |
---|---|---|---|
Category of object | Kind | Collection group | Table |
One object | Entity | Document | Row |
Individual data for an object | Property | Field | Column |
Unique ID for an object | Key | Document ID | Primary key |
Unlike rows in a relational database table, Datastore entities of the same kind can have different properties, and different entities can have properties with the same name but different value types. These unique characteristics imply a different way of designing and managing data to take advantage of the ability to scale automatically. In particular, Datastore differs from a traditional relational database in the following important ways:
Datastore is ideal for applications that rely on highly available structured data at scale. You can use Datastore to store and query all of the following types of data:
Datastore is not ideal for every use case. For example, Datastore is not a relational database, and it is not an effective solution for analytic data.
Here are some common scenarios where you should probably consider an alternative to Datastore:
For more information about other database options, see the overview of database services.
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 2024-09-10 UTC.