Alternatives to Cloud Firestore logo

Alternatives to Cloud Firestore

MongoDB, Firebase, Firebase Realtime Database, Google Cloud Datastore, and MongoDB Atlas are the most popular alternatives and competitors to Cloud Firestore.
504
660
+ 1
96

What is Cloud Firestore and what are its top alternatives?

Cloud Firestore is a NoSQL document database that lets you easily store, sync, and query data for your mobile and web apps - at global scale.
Cloud Firestore is a tool in the NoSQL Database as a Service category of a tech stack.

Top Alternatives to Cloud Firestore

  • MongoDB

    MongoDB

    MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding. ...

  • Firebase

    Firebase

    Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds. ...

  • Firebase Realtime Database

    Firebase Realtime Database

    It is a cloud-hosted NoSQL database that lets you store and sync data between your users in realtime. Data is synced across all clients in realtime, and remains available when your app goes offline. ...

  • Google Cloud Datastore

    Google Cloud Datastore

    Use a managed, NoSQL, schemaless database for storing non-relational data. Cloud Datastore automatically scales as you need it and supports transactions as well as robust, SQL-like queries. ...

  • MongoDB Atlas

    MongoDB Atlas

    MongoDB Atlas is a global cloud database service built and run by the team behind MongoDB. Enjoy the flexibility and scalability of a document database, with the ease and automation of a fully managed service on your preferred cloud. ...

  • Amazon DynamoDB

    Amazon DynamoDB

    With it , you can offload the administrative burden of operating and scaling a highly available distributed database cluster, while paying a low price for only what you use. ...

  • Azure Cosmos DB

    Azure Cosmos DB

    Azure DocumentDB is a fully managed NoSQL database service built for fast and predictable performance, high availability, elastic scaling, global distribution, and ease of development. ...

  • Google Cloud Bigtable

    Google Cloud Bigtable

    Google Cloud Bigtable offers you a fast, fully managed, massively scalable NoSQL database service that's ideal for web, mobile, and Internet of Things applications requiring terabytes to petabytes of data. Unlike comparable market offerings, Cloud Bigtable doesn't require you to sacrifice speed, scale, or cost efficiency when your applications grow. Cloud Bigtable has been battle-tested at Google for more than 10 years—it's the database driving major applications such as Google Analytics and Gmail. ...

Cloud Firestore alternatives & related posts

MongoDB logo

MongoDB

56.4K
46.1K
4.1K
The database for giant ideas
56.4K
46.1K
+ 1
4.1K
PROS OF MONGODB
  • 823
    Document-oriented storage
  • 589
    No sql
  • 545
    Ease of use
  • 463
    Fast
  • 405
    High performance
  • 253
    Free
  • 214
    Open source
  • 178
    Flexible
  • 140
    Replication & high availability
  • 108
    Easy to maintain
  • 40
    Querying
  • 36
    Easy scalability
  • 35
    Auto-sharding
  • 34
    High availability
  • 30
    Map/reduce
  • 26
    Document database
  • 24
    Easy setup
  • 24
    Full index support
  • 15
    Reliable
  • 14
    Fast in-place updates
  • 13
    Agile programming, flexible, fast
  • 11
    No database migrations
  • 7
    Enterprise
  • 7
    Easy integration with Node.Js
  • 5
    Enterprise Support
  • 4
    Great NoSQL DB
  • 3
    Aggregation Framework
  • 3
    Support for many languages through different drivers
  • 3
    Drivers support is good
  • 2
    Schemaless
  • 2
    Fast
  • 2
    Awesome
  • 2
    Managed service
  • 2
    Easy to Scale
  • 1
    Consistent
CONS OF MONGODB
  • 5
    Very slowly for connected models that require joins
  • 3
    Not acid compliant
  • 1
    Proprietary query language

related MongoDB posts

Jeyabalaji Subramanian

Recently we were looking at a few robust and cost-effective ways of replicating the data that resides in our production MongoDB to a PostgreSQL database for data warehousing and business intelligence.

We set ourselves the following criteria for the optimal tool that would do this job: - The data replication must be near real-time, yet it should NOT impact the production database - The data replication must be horizontally scalable (based on the load), asynchronous & crash-resilient

Based on the above criteria, we selected the following tools to perform the end to end data replication:

We chose MongoDB Stitch for picking up the changes in the source database. It is the serverless platform from MongoDB. One of the services offered by MongoDB Stitch is Stitch Triggers. Using stitch triggers, you can execute a serverless function (in Node.js) in real time in response to changes in the database. When there are a lot of database changes, Stitch automatically "feeds forward" these changes through an asynchronous queue.

We chose Amazon SQS as the pipe / message backbone for communicating the changes from MongoDB to our own replication service. Interestingly enough, MongoDB stitch offers integration with AWS services.

In the Node.js function, we wrote minimal functionality to communicate the database changes (insert / update / delete / replace) to Amazon SQS.

Next we wrote a minimal micro-service in Python to listen to the message events on SQS, pickup the data payload & mirror the DB changes on to the target Data warehouse. We implemented source data to target data translation by modelling target table structures through SQLAlchemy . We deployed this micro-service as AWS Lambda with Zappa. With Zappa, deploying your services as event-driven & horizontally scalable Lambda service is dumb-easy.

In the end, we got to implement a highly scalable near realtime Change Data Replication service that "works" and deployed to production in a matter of few days!

See more
Robert Zuber

We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

See more
Firebase logo

Firebase

24.6K
20.6K
1.9K
The Realtime App Platform
24.6K
20.6K
+ 1
1.9K
PROS OF FIREBASE
  • 361
    Realtime backend made easy
  • 263
    Fast and responsive
  • 234
    Easy setup
  • 207
    Real-time
  • 186
    JSON
  • 127
    Free
  • 121
    Backed by google
  • 81
    Angular adaptor
  • 63
    Reliable
  • 36
    Great customer support
  • 26
    Great documentation
  • 23
    Real-time synchronization
  • 20
    Mobile friendly
  • 17
    Rapid prototyping
  • 12
    Great security
  • 11
    Automatic scaling
  • 10
    Freakingly awesome
  • 8
    Chat
  • 8
    Angularfire is an amazing addition!
  • 8
    Super fast development
  • 6
    Awesome next-gen backend
  • 6
    Ios adaptor
  • 5
    Built in user auth/oauth
  • 5
    Firebase hosting
  • 4
    Speed of light
  • 4
    Very easy to use
  • 3
    It's made development super fast
  • 3
    Great
  • 3
    Brilliant for startups
  • 2
    Great all-round functionality
  • 2
    Low battery consumption
  • 2
    I can quickly create static web apps with no backend
  • 2
    The concurrent updates create a great experience
  • 2
    JS Offline and Sync suport
  • 1
    Faster workflow
  • 1
    Large
  • 1
    Serverless
  • 1
    .net
  • 1
    Free SSL
  • 1
    Good Free Limits
  • 1
    Push notification
  • 1
    Easy to use
  • 1
    Easy Reactjs integration
CONS OF FIREBASE
  • 28
    Can become expensive
  • 15
    Scalability is not infinite
  • 14
    No open source, you depend on external company
  • 9
    Not Flexible Enough
  • 5
    Cant filter queries
  • 3
    Very unstable server
  • 2
    Too many errors
  • 2
    No Relational Data

related Firebase posts

Stephen Gheysens
Senior Solutions Engineer at Twilio · | 12 upvotes · 113.1K views

Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.

My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.

See more
Tassanai Singprom

This is my stack in Application & Data

JavaScript PHP HTML5 jQuery Redis Amazon EC2 Ubuntu Sass Vue.js Firebase Laravel Lumen Amazon RDS GraphQL MariaDB

My Utilities Tools

Google Analytics Postman Elasticsearch

My Devops Tools

Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack

My Business Tools

Slack

See more
Firebase Realtime Database logo

Firebase Realtime Database

72
141
2
Store and sync data in real time
72
141
+ 1
2
PROS OF FIREBASE REALTIME DATABASE
  • 2
    Very fast
CONS OF FIREBASE REALTIME DATABASE
  • 1
    Poor query

related Firebase Realtime Database posts

We are building a social media app, where users will post images, like their post, and make friends based on their interest. We are currently using Cloud Firestore and Firebase Realtime Database. We are looking for another database like Amazon DynamoDB; how much this decision can be efficient in terms of pricing and overhead?

See more
Google Cloud Datastore logo

Google Cloud Datastore

197
289
12
A Fully Managed NoSQL Data Storage Service
197
289
+ 1
12
PROS OF GOOGLE CLOUD DATASTORE
  • 7
    High scalability
  • 2
    Serverless
  • 2
    Ability to query any property
  • 1
    Pay for what you use
CONS OF GOOGLE CLOUD DATASTORE
    Be the first to leave a con

    related Google Cloud Datastore posts

    MongoDB Atlas logo

    MongoDB Atlas

    604
    663
    29
    Deploy and scale a MongoDB cluster in the cloud with just a few clicks
    604
    663
    + 1
    29
    PROS OF MONGODB ATLAS
    • 9
      MongoDB SaaS for and by Mongo, makes it so easy
    • 5
      Amazon VPC peering
    • 4
      MongoDB atlas is GUItool through you can manage all DB
    • 3
      Built-in data browser
    • 3
      Use it anywhere
    • 3
      Granular role-based access controls
    • 1
      Simple and easy to integrate
    • 1
      Cloud instance to be worked with
    CONS OF MONGODB ATLAS
      Be the first to leave a con

      related MongoDB Atlas posts

      Repost

      Overview: To put it simply, we plan to use the MERN stack to build our web application. MongoDB will be used as our primary database. We will use ExpressJS alongside Node.js to set up our API endpoints. Additionally, we plan to use React to build our SPA on the client side and use Redis on the server side as our primary caching solution. Initially, while working on the project, we plan to deploy our server and client both on Heroku . However, Heroku is very limited and we will need the benefits of an Infrastructure as a Service so we will use Amazon EC2 to later deploy our final version of the application.

      Serverside: nodemon will allow us to automatically restart a running instance of our node app when files changes take place. We decided to use MongoDB because it is a non relational database which uses the Document Object Model. This allows a lot of flexibility as compared to a RDMS like SQL which requires a very structural model of data that does not change too much. Another strength of MongoDB is its ease in scalability. We will use Mongoose along side MongoDB to model our application data. Additionally, we will host our MongoDB cluster remotely on MongoDB Atlas. Bcrypt will be used to encrypt user passwords that will be stored in the DB. This is to avoid the risks of storing plain text passwords. Moreover, we will use Cloudinary to store images uploaded by the user. We will also use the Twilio SendGrid API to enable automated emails sent by our application. To protect private API endpoints, we will use JSON Web Token and Passport. Also, PayPal will be used as a payment gateway to accept payments from users.

      Client Side: As mentioned earlier, we will use React to build our SPA. React uses a virtual DOM which is very efficient in rendering a page. Also React will allow us to reuse components. Furthermore, it is very popular and there is a large community that uses React so it can be helpful if we run into issues. We also plan to make a cross platform mobile application later and using React will allow us to reuse a lot of our code with React Native. Redux will be used to manage state. Redux works great with React and will help us manage a global state in the app and avoid the complications of each component having its own state. Additionally, we will use Bootstrap components and custom CSS to style our app.

      Other: Git will be used for version control. During the later stages of our project, we will use Google Analytics to collect useful data regarding user interactions. Moreover, Slack will be our primary communication tool. Also, we will use Visual Studio Code as our primary code editor because it is very light weight and has a wide variety of extensions that will boost productivity. Postman will be used to interact with and debug our API endpoints.

      See more
      Gregory Koberger

      We went with MongoDB , almost by mistake. I had never used it before, but I knew I wanted the *EAN part of the MEAN stack, so why not go all in. I come from a background of SQL (first MySQL , then PostgreSQL ), so I definitely abused Mongo at first... by trying to turn it into something more relational than it should be. But hey, data is supposed to be relational, so there wasn't really any way to get around that.

      There's a lot I love about MongoDB, and a lot I hate. I still don't know if we made the right decision. We've been able to build much quicker, but we also have had some growing pains. We host our databases on MongoDB Atlas , and I can't say enough good things about it. We had tried MongoLab and Compose before it, and with MongoDB Atlas I finally feel like things are in a good place. I don't know if I'd use it for a one-off small project, but for a large product Atlas has given us a ton more control, stability and trust.

      See more
      Amazon DynamoDB logo

      Amazon DynamoDB

      3K
      2.6K
      195
      Fully managed NoSQL database service
      3K
      2.6K
      + 1
      195
      PROS OF AMAZON DYNAMODB
      • 62
        Predictable performance and cost
      • 56
        Scalable
      • 35
        Native JSON Support
      • 21
        AWS Free Tier
      • 7
        Fast
      • 3
        No sql
      • 3
        To store data
      • 2
        Serverless
      • 2
        No Stored procedures is GOOD
      • 1
        ORM with DynamoDBMapper
      • 1
        Elastic Scalability using on-demand mode
      • 1
        Elastic Scalability using autoscaling
      • 1
        DynamoDB Stream
      CONS OF AMAZON DYNAMODB
      • 4
        Only sequential access for paginate data
      • 1
        Document Limit Size

      related Amazon DynamoDB posts

      Julien DeFrance
      Principal Software Engineer at Tophatter · | 16 upvotes · 2.3M views

      Back in 2014, I was given an opportunity to re-architect SmartZip Analytics platform, and flagship product: SmartTargeting. This is a SaaS software helping real estate professionals keeping up with their prospects and leads in a given neighborhood/territory, finding out (thanks to predictive analytics) who's the most likely to list/sell their home, and running cross-channel marketing automation against them: direct mail, online ads, email... The company also does provide Data APIs to Enterprise customers.

      I had inherited years and years of technical debt and I knew things had to change radically. The first enabler to this was to make use of the cloud and go with AWS, so we would stop re-inventing the wheel, and build around managed/scalable services.

      For the SaaS product, we kept on working with Rails as this was what my team had the most knowledge in. We've however broken up the monolith and decoupled the front-end application from the backend thanks to the use of Rails API so we'd get independently scalable micro-services from now on.

      Our various applications could now be deployed using AWS Elastic Beanstalk so we wouldn't waste any more efforts writing time-consuming Capistrano deployment scripts for instance. Combined with Docker so our application would run within its own container, independently from the underlying host configuration.

      Storage-wise, we went with Amazon S3 and ditched any pre-existing local or network storage people used to deal with in our legacy systems. On the database side: Amazon RDS / MySQL initially. Ultimately migrated to Amazon RDS for Aurora / MySQL when it got released. Once again, here you need a managed service your cloud provider handles for you.

      Future improvements / technology decisions included:

      Caching: Amazon ElastiCache / Memcached CDN: Amazon CloudFront Systems Integration: Segment / Zapier Data-warehousing: Amazon Redshift BI: Amazon Quicksight / Superset Search: Elasticsearch / Amazon Elasticsearch Service / Algolia Monitoring: New Relic

      As our usage grows, patterns changed, and/or our business needs evolved, my role as Engineering Manager then Director of Engineering was also to ensure my team kept on learning and innovating, while delivering on business value.

      One of these innovations was to get ourselves into Serverless : Adopting AWS Lambda was a big step forward. At the time, only available for Node.js (Not Ruby ) but a great way to handle cost efficiency, unpredictable traffic, sudden bursts of traffic... Ultimately you want the whole chain of services involved in a call to be serverless, and that's when we've started leveraging Amazon DynamoDB on these projects so they'd be fully scalable.

      See more
      Dmitry Mukhin

      Uploadcare has built an infinitely scalable infrastructure by leveraging AWS. Building on top of AWS allows us to process 350M daily requests for file uploads, manipulations, and deliveries. When we started in 2011 the only cloud alternative to AWS was Google App Engine which was a no-go for a rather complex solution we wanted to build. We also didn’t want to buy any hardware or use co-locations.

      Our stack handles receiving files, communicating with external file sources, managing file storage, managing user and file data, processing files, file caching and delivery, and managing user interface dashboards.

      At its core, Uploadcare runs on Python. The Europython 2011 conference in Florence really inspired us, coupled with the fact that it was general enough to solve all of our challenges informed this decision. Additionally we had prior experience working in Python.

      We chose to build the main application with Django because of its feature completeness and large footprint within the Python ecosystem.

      All the communications within our ecosystem occur via several HTTP APIs, Redis, Amazon S3, and Amazon DynamoDB. We decided on this architecture so that our our system could be scalable in terms of storage and database throughput. This way we only need Django running on top of our database cluster. We use PostgreSQL as our database because it is considered an industry standard when it comes to clustering and scaling.

      See more
      Azure Cosmos DB logo

      Azure Cosmos DB

      414
      776
      127
      A fully-managed, globally distributed NoSQL database service
      414
      776
      + 1
      127
      PROS OF AZURE COSMOS DB
      • 27
        Best-of-breed NoSQL features
      • 20
        High scalability
      • 15
        Globally distributed
      • 14
        Automatic indexing over flexible json data model
      • 10
        Always on with 99.99% availability sla
      • 10
        Tunable consistency
      • 7
        Javascript language integrated transactions and queries
      • 6
        Predictable performance
      • 5
        High performance
      • 5
        Analytics Store
      • 2
        No Sql
      • 2
        Rapid Development
      • 2
        Auto Indexing
      • 2
        Ease of use
      CONS OF AZURE COSMOS DB
      • 15
        Pricing
      • 3
        Poor No SQL query support

      related Azure Cosmos DB posts

      We have an in-house build experiment management system. We produce samples as input to the next step, which then could produce 1 sample(1-1) and many samples (1 - many). There are many steps like this. So far, we are tracking genealogy (limited tracking) in the MySQL database, which is becoming hard to trace back to the original material or sample(I can give more details if required). So, we are considering a Graph database. I am requesting advice from the experts.

      1. Is a graph database the right choice, or can we manage with RDBMS?
      2. If RDBMS, which RDMS, which feature, or which approach could make this manageable or sustainable
      3. If Graph database(Neo4j, OrientDB, Azure Cosmos DB, Amazon Neptune, ArangoDB), which one is good, and what are the best practices?

      I am sorry that this might be a loaded question.

      See more
      Stephen Gheysens
      Senior Solutions Engineer at Twilio · | 6 upvotes · 11.9K views

      Hi Mohamad, out of these two options, I'd recommend starting with MongoDB (on MongoDB Atlas) for a few reasons:

      • Open Source & Portability - With MongoDB being open source, you have transparency into how your system will work. Not only can you see how it works, but you later have the option to migrate to self-hosted versions of the platform (decreasing costs and avoiding vendor lock-in) or move to a Mongo-compatible hosted database like Amazon DocumentDB or Azure Cosmos DB.

      • Querying & Aggregation - MongoDB has been around a few years longer than Firebase, and in my opinion, that is evident from the great design and flexibility of APIs you have for querying and aggregating data.

      • Tooling - MongoDB Atlas monitoring tools and the Compass GUI are great for understanding and interacting with the data in your database as you're growing your platform.

      I hope this helps!

      See more
      Google Cloud Bigtable logo

      Google Cloud Bigtable

      98
      262
      21
      The same database that powers Google Search, Gmail and Analytics
      98
      262
      + 1
      21
      PROS OF GOOGLE CLOUD BIGTABLE
      • 8
        Fully managed
      • 8
        High performance
      • 5
        High scalability
      CONS OF GOOGLE CLOUD BIGTABLE
        Be the first to leave a con

        related Google Cloud Bigtable posts

        Context: I wanted to create an end to end IoT data pipeline simulation in Google Cloud IoT Core and other GCP services. I never touched Terraform meaningfully until working on this project, and it's one of the best explorations in my development career. The documentation and syntax is incredibly human-readable and friendly. I'm used to building infrastructure through the google apis via Python , but I'm so glad past Sung did not make that decision. I was tempted to use Google Cloud Deployment Manager, but the templates were a bit convoluted by first impression. I'm glad past Sung did not make this decision either.

        Solution: Leveraging Google Cloud Build Google Cloud Run Google Cloud Bigtable Google BigQuery Google Cloud Storage Google Compute Engine along with some other fun tools, I can deploy over 40 GCP resources using Terraform!

        Check Out My Architecture: CLICK ME

        Check out the GitHub repo attached

        See more