Web Development

Uses and Limitations of Firestore

A no SQL database service hosted in the cloud, Fire store combines the developer flexibility and simplicity of document databases with the robust functionality and scale of a contemporary database.

By Laxaar Engineering Team Mar 1, 2023 3 min read
Uses and Limitations of Firestore

Firestore is a NoSQL database service hosted in the cloud, combining the developer flexibility and simplicity of document databases with the robust functionality and scalability of contemporary databases. With Firestore, developers can store data without the need to set up servers or complicated distributed systems, allowing them to focus on creating exceptional user experiences.

Advantages of Firestore

  1. Real-time Querying: One of Firestore's key features is its ability to query asynchronously, enabling real-time data retrieval from web and mobile sources. By attaching a query listener to a query, developers receive real-time callbacks and alerts whenever there are changes, providing immediate updates to documents.
  2. Outstanding Data Handling Abilities: Firestore simplifies data handling and organization with its high-performance query engine, allowing developers to execute complex queries against the NoSQL database. Data in Firestore is stored in documents organized into collections, offering extreme flexibility in data architecture and scalability for storing large collections of small documents.
  3. Offline Assistance: Firestore provides offline synchronization, allowing users to use the software even without network connectivity. Users can store data offline and sync it with the database when connected, with Firestore libraries handling synchronization, data merging, notifications, and other issues to keep the program functioning correctly even in offline scenarios.
  4. Designed to Scale: Firestore is a fast NoSQL database designed to automatically scale horizontally based on load, leveraging Google Cloud infrastructure to provide reliability and worldwide scalability.

Considerations

  1. Concurrency Issues: Firestore may experience performance issues, especially when offline, leading to inconsistent program performance and potential loss of clients.
  2. Limited Use Cases: Firestore may not be suitable for enterprise resource planning or multi-user, multi-workspace SaaS applications that require data isolation and extensive business logic.
  3. Microservices Integration: Avoid integrating microservices with Firestore, as it caches data in memory over time, slowing down processes.
  4. Business Intelligence (BI) Functions: Firestore does not support BI functionalities, so it's not recommended for applications requiring complex BI calculations.
  5. Data Integrity: Due to Firestore's dynamic data structures similar to JSON and its NoSQL nature, ensuring high data integrity can be challenging. Bugs are inevitable, leading to potential data inconsistencies.

Firestore offers real advantages in flexibility, scalability, and real-time querying, but it's not the right fit for every project. Before committing, audit your use case against its known limitations — particularly around concurrency, BI functions, and complex multi-tenant data isolation — so you don't build yourself into a corner.

firestorefirebasegooglecloudcomputing
Grow your business with us

Take your business to the next level.

Tell us what you're building. We'll come back inside one business day with a fixed scope, timeline, and team — or an honest “this isn't a fit”.

ENGINEERING PHILOSOPHY

Code is useless if it's not comprehensible to those who maintain it. We write code the next person can actually understand.