Alternatives to MongoDB Atlas logo

Alternatives to MongoDB Atlas

MongoDB, MongoDB Compass, MongoDB Cloud Manager, Azure Cosmos DB, and Firebase are the most popular alternatives and competitors to MongoDB Atlas.
604
663
+ 1
29

What is MongoDB Atlas and what are its top alternatives?

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.
MongoDB Atlas is a tool in the MongoDB Hosting category of a tech stack.

Top Alternatives to MongoDB Atlas

  • 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. ...

  • MongoDB Compass

    MongoDB Compass

    Visually explore your data. Run ad hoc queries in seconds. Interact with your data with full CRUD functionality. View and optimize your query performance. ...

  • MongoDB Cloud Manager

    MongoDB Cloud Manager

    It is a hosted platform for managing MongoDB on the infrastructure of your choice. It saves you time, money, and helps you protect your customer experience by eliminating the guesswork from running MongoDB. ...

  • 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. ...

  • 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. ...

  • Compass

    Compass

    The compass core framework is a design-agnostic framework that provides common code that would otherwise be duplicated across other frameworks and extensions. ...

  • Stitch

    Stitch

    Stitch is a simple, powerful ETL service built for software developers. Stitch evolved out of RJMetrics, a widely used business intelligence platform. When RJMetrics was acquired by Magento in 2016, Stitch was launched as its own company. ...

  • Elasticsearch

    Elasticsearch

    Elasticsearch is a distributed, RESTful search and analytics engine capable of storing data and searching it in near real time. Elasticsearch, Kibana, Beats and Logstash are the Elastic Stack (sometimes called the ELK Stack). ...

MongoDB Atlas alternatives & related posts

MongoDB logo

MongoDB

56.3K
46.1K
4.1K
The database for giant ideas
56.3K
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
MongoDB Compass logo

MongoDB Compass

113
206
0
A GUI for MongoDB
113
206
+ 1
0
PROS OF MONGODB COMPASS
    Be the first to leave a pro
    CONS OF MONGODB COMPASS
      Be the first to leave a con

      related MongoDB Compass posts

      MongoDB Cloud Manager logo

      MongoDB Cloud Manager

      58
      77
      0
      A hosted platform for managing MongoDB
      58
      77
      + 1
      0
      PROS OF MONGODB CLOUD MANAGER
        Be the first to leave a pro
        CONS OF MONGODB CLOUD MANAGER
          Be the first to leave a con

          related MongoDB Cloud Manager posts

          Azure Cosmos DB logo

          Azure Cosmos DB

          411
          776
          127
          A fully-managed, globally distributed NoSQL database service
          411
          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
          Firebase logo

          Firebase

          24.5K
          20.6K
          1.9K
          The Realtime App Platform
          24.5K
          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 · 112.9K 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
          Compass logo

          Compass

          335
          257
          12
          A Stylesheet Authoring Environment that makes your website design simpler to implement and easier to maintain
          335
          257
          + 1
          12
          PROS OF COMPASS
          • 9
            No vendor prefix CSS pain
          • 1
            Mixins
          • 1
            Variables
          • 1
            Compass sprites
          CONS OF COMPASS
            Be the first to leave a con

            related Compass posts

            Stitch logo

            Stitch

            115
            117
            9
            All your data. In your data warehouse. In minutes.
            115
            117
            + 1
            9
            PROS OF STITCH
            • 6
              3 minutes to set up
            • 3
              Super simple, great support
            CONS OF STITCH
              Be the first to leave a con

              related Stitch posts

              Ankit Sobti

              Looker , Stitch , Amazon Redshift , dbt

              We recently moved our Data Analytics and Business Intelligence tooling to Looker . It's already helping us create a solid process for reusable SQL-based data modeling, with consistent definitions across the entire organizations. Looker allows us to collaboratively build these version-controlled models and push the limits of what we've traditionally been able to accomplish with analytics with a lean team.

              For Data Engineering, we're in the process of moving from maintaining our own ETL pipelines on AWS to a managed ELT system on Stitch. We're also evaluating the command line tool, dbt to manage data transformations. Our hope is that Stitch + dbt will streamline the ELT bit, allowing us to focus our energies on analyzing data, rather than managing it.

              See more
              Elasticsearch logo

              Elasticsearch

              23.6K
              17.8K
              1.6K
              Open Source, Distributed, RESTful Search Engine
              23.6K
              17.8K
              + 1
              1.6K
              PROS OF ELASTICSEARCH
              • 321
                Powerful api
              • 311
                Great search engine
              • 231
                Open source
              • 213
                Restful
              • 200
                Near real-time search
              • 96
                Free
              • 83
                Search everything
              • 54
                Easy to get started
              • 45
                Analytics
              • 26
                Distributed
              • 6
                Fast search
              • 5
                More than a search engine
              • 3
                Great docs
              • 3
                Awesome, great tool
              • 3
                Easy to scale
              • 2
                Intuitive API
              • 2
                Great piece of software
              • 2
                Fast
              • 2
                Nosql DB
              • 2
                Easy setup
              • 2
                Highly Available
              • 2
                Document Store
              • 2
                Great customer support
              • 1
                Reliable
              • 1
                Not stable
              • 1
                Potato
              • 1
                Open
              • 1
                Github
              • 1
                Elaticsearch
              • 1
                Actively developing
              • 1
                Responsive maintainers on GitHub
              • 1
                Ecosystem
              • 1
                Scalability
              • 0
                Easy to get hot data
              • 0
                Community
              CONS OF ELASTICSEARCH
              • 6
                Diffecult to get started
              • 5
                Resource hungry
              • 4
                Expensive
              • 3
                Hard to keep stable at large scale

              related Elasticsearch posts

              Tim Abbott

              We've been using PostgreSQL since the very early days of Zulip, but we actually didn't use it from the beginning. Zulip started out as a MySQL project back in 2012, because we'd heard it was a good choice for a startup with a wide community. However, we found that even though we were using the Django ORM for most of our database access, we spent a lot of time fighting with MySQL. Issues ranged from bad collation defaults, to bad query plans which required a lot of manual query tweaks.

              We ended up getting so frustrated that we tried out PostgresQL, and the results were fantastic. We didn't have to do any real customization (just some tuning settings for how big a server we had), and all of our most important queries were faster out of the box. As a result, we were able to delete a bunch of custom queries escaping the ORM that we'd written to make the MySQL query planner happy (because postgres just did the right thing automatically).

              And then after that, we've just gotten a ton of value out of postgres. We use its excellent built-in full-text search, which has helped us avoid needing to bring in a tool like Elasticsearch, and we've really enjoyed features like its partial indexes, which saved us a lot of work adding unnecessary extra tables to get good performance for things like our "unread messages" and "starred messages" indexes.

              I can't recommend it highly enough.

              See more
              Tymoteusz Paul
              Devops guy at X20X Development LTD · | 21 upvotes · 4.3M views

              Often enough I have to explain my way of going about setting up a CI/CD pipeline with multiple deployment platforms. Since I am a bit tired of yapping the same every single time, I've decided to write it up and share with the world this way, and send people to read it instead ;). I will explain it on "live-example" of how the Rome got built, basing that current methodology exists only of readme.md and wishes of good luck (as it usually is ;)).

              It always starts with an app, whatever it may be and reading the readmes available while Vagrant and VirtualBox is installing and updating. Following that is the first hurdle to go over - convert all the instruction/scripts into Ansible playbook(s), and only stopping when doing a clear vagrant up or vagrant reload we will have a fully working environment. As our Vagrant environment is now functional, it's time to break it! This is the moment to look for how things can be done better (too rigid/too lose versioning? Sloppy environment setup?) and replace them with the right way to do stuff, one that won't bite us in the backside. This is the point, and the best opportunity, to upcycle the existing way of doing dev environment to produce a proper, production-grade product.

              I should probably digress here for a moment and explain why. I firmly believe that the way you deploy production is the same way you should deploy develop, shy of few debugging-friendly setting. This way you avoid the discrepancy between how production work vs how development works, which almost always causes major pains in the back of the neck, and with use of proper tools should mean no more work for the developers. That's why we start with Vagrant as developer boxes should be as easy as vagrant up, but the meat of our product lies in Ansible which will do meat of the work and can be applied to almost anything: AWS, bare metal, docker, LXC, in open net, behind vpn - you name it.

              We must also give proper consideration to monitoring and logging hoovering at this point. My generic answer here is to grab Elasticsearch, Kibana, and Logstash. While for different use cases there may be better solutions, this one is well battle-tested, performs reasonably and is very easy to scale both vertically (within some limits) and horizontally. Logstash rules are easy to write and are well supported in maintenance through Ansible, which as I've mentioned earlier, are at the very core of things, and creating triggers/reports and alerts based on Elastic and Kibana is generally a breeze, including some quite complex aggregations.

              If we are happy with the state of the Ansible it's time to move on and put all those roles and playbooks to work. Namely, we need something to manage our CI/CD pipelines. For me, the choice is obvious: TeamCity. It's modern, robust and unlike most of the light-weight alternatives, it's transparent. What I mean by that is that it doesn't tell you how to do things, doesn't limit your ways to deploy, or test, or package for that matter. Instead, it provides a developer-friendly and rich playground for your pipelines. You can do most the same with Jenkins, but it has a quite dated look and feel to it, while also missing some key functionality that must be brought in via plugins (like quality REST API which comes built-in with TeamCity). It also comes with all the common-handy plugins like Slack or Apache Maven integration.

              The exact flow between CI and CD varies too greatly from one application to another to describe, so I will outline a few rules that guide me in it: 1. Make build steps as small as possible. This way when something breaks, we know exactly where, without needing to dig and root around. 2. All security credentials besides development environment must be sources from individual Vault instances. Keys to those containers should exist only on the CI/CD box and accessible by a few people (the less the better). This is pretty self-explanatory, as anything besides dev may contain sensitive data and, at times, be public-facing. Because of that appropriate security must be present. TeamCity shines in this department with excellent secrets-management. 3. Every part of the build chain shall consume and produce artifacts. If it creates nothing, it likely shouldn't be its own build. This way if any issue shows up with any environment or version, all developer has to do it is grab appropriate artifacts to reproduce the issue locally. 4. Deployment builds should be directly tied to specific Git branches/tags. This enables much easier tracking of what caused an issue, including automated identifying and tagging the author (nothing like automated regression testing!).

              Speaking of deployments, I generally try to keep it simple but also with a close eye on the wallet. Because of that, I am more than happy with AWS or another cloud provider, but also constantly peeking at the loads and do we get the value of what we are paying for. Often enough the pattern of use is not constantly erratic, but rather has a firm baseline which could be migrated away from the cloud and into bare metal boxes. That is another part where this approach strongly triumphs over the common Docker and CircleCI setup, where you are very much tied in to use cloud providers and getting out is expensive. Here to embrace bare-metal hosting all you need is a help of some container-based self-hosting software, my personal preference is with Proxmox and LXC. Following that all you must write are ansible scripts to manage hardware of Proxmox, similar way as you do for Amazon EC2 (ansible supports both greatly) and you are good to go. One does not exclude another, quite the opposite, as they can live in great synergy and cut your costs dramatically (the heavier your base load, the bigger the savings) while providing production-grade resiliency.

              See more