FAQ

MongoDB is open-source. What does MongoDB, Inc. sell?

Back to Table of Contents

We are the MongoDB experts. Over 6,000 organizations rely on our commercial products, from Fortune 100 enterprises to the most agile startups. We offer software and services to make your life easier:

MongoDB Enterprise Advanced is the best way to run MongoDB in your data center. It’s a finely-tuned package of advanced software, support, certifications, and other services designed for the way you do business.

MongoDB Atlas is a database as a service for MongoDB, letting you focus on apps instead of ops. With MongoDB Atlas, you only pay for what you use with a convenient hourly billing model. With the click of a button, you can scale up and down when you need to, with no downtime, full security, and high performance.

MongoDB Stitch is the Serverless Platform from MongoDB. Stitch streamlines application development with simple, secure access to data and services from the client – getting your apps to market faster while reducing operational costs.

MongoDB Cloud Manager is a cloud-based tool that helps you manage MongoDB on your own infrastructure. With automated provisioning, fine-grained monitoring, and continuous backups, you get a full management suite that reduces operational overhead, while maintaining full control over your databases.

MongoDB Consulting packages get you to production faster, help you tune performance in production, help you scale, and free you up to focus on your next release.

MongoDB Training helps you become a MongoDB expert, from design to operating mission-critical systems at scale. Whether you're a developer, DBA or architect, we can make you better at MongoDB.

Contact us to learn more.

Can I get a commercial license for MongoDB?

Back to Table of Contents

Yes, you can get a commercial license for MongoDB with the purchase of MongoDB Enterprise Advanced.

Why is MongoDB useful?

Back to Table of Contents

MongoDB provides a technology foundation that enables development teams through:

  1. The document data model – presenting them the best way to work with data.

  2. A distributed systems design – allowing them to intelligently put data where they want it.

  3. A unified experience that gives them the freedom to run anywhere – allowing them to future-proof their work and eliminate vendor lock-in.

With these capabilities, you can build an Intelligent Operational Data Platform, underpinned by MongoDB. Learn more by reading the MongoDB Architecture Guide.

When should I use MongoDB?

Back to Table of Contents

MongoDB is a general purpose data platform designed to serve any OLTP/operational workload:

  • Wherever a developer is considering a relational databases, they should consider MongoDB.

  • Wherever a developer is considering a NoSQL database, they should consider MongoDB.

Why? Because, MongoDB is the only data platform that harnesses:

  1. The innovations of NoSQL – flexible data model, distributed, scale-out architecture

  2. While maintaining the foundation of relational databases – ACID transactions, strong data consistency, rich queries and indexing.

While many organizations have successfully migrated from an RDBMS to MongoDB, you cannot drop-in MongoDB as a replacement for legacy applications built around the relational data model and SQL. However, organizations are benefiting from modernizing mission-critical, revenue generating applications to MongoDB. For example, Cisco migrated its ecommerce platform from a legacy relational database to MongoDB. As a result, it has improved customer experience by reducing latency 8x and eliminated downtime during system upgrades. Its development teams can build and release new applications faster, while the company’s e-commerce platform can tap into the business agility enabled by cloud computing.

Learn more about common MongoDB use cases.

How is data stored in MongoDB?

Back to Table of Contents

Data in MongoDB is stored in BSON documents – JSON-style data structures. Documents contain one or more fields, and each field contains a value of a specific data type, including arrays, binary data and sub-documents. Documents that tend to share a similar structure are organized as collections.

It may be helpful to think of documents as analogous to rows in a relational database, fields as similar to columns, and collections as similar to tables.

Learn more in the MongoDB MongoDB Architecture Guide.

Does MongoDB support ACID transactions?

Back to Table of Contents

Yes. MongoDB 4.0 added support for multi-document ACID transactions.

Is MongoDB an alternative to Hadoop?

Back to Table of Contents

Many organizations are harnessing the power of Hadoop and MongoDB together to create complete big data applications:

  • MongoDB powers the online, real time operational application, serving business processes and end-users, exposing analytics models created by Hadoop to operational processes

  • Hadoop consumes data from MongoDB, blending it with data from other operational systems and sources to generate sophisticated analytics and machine learning models. Results are loaded back to MongoDB to serve smarter and contextually-aware operational processes – i.e., delivering more relevant offers, faster identification of fraud, better prediction of failure rates from manufacturing processes improved customer experience.

There are several architectural properties of Hadoop that help to determine the types of applications suitable for the system:

  • HDFS provides a write-once-read-many, append-only access model for data.

  • HDFS is optimized for sequential reads of large files (64MB or 128MB blocks by default).

  • Hadoop does not use indexes. Data is scanned for each query.

  • HDFS is designed for high-throughput, rather than low-latency.

  • Hadoop jobs tend to execute over several minutes or hours

Users need to make analytic outputs from Hadoop available to their online, operational apps. These applications have specific access demands that cannot be met by HDFS, including:

  • Millisecond latency query responsiveness.

  • Random access to indexed subsets of data.

  • Supporting real time expressive ad-hoc queries and aggregations against the data, making online applications smarter and contextual.

  • Updating fast-changing data in real time as users interact with online applications, without having to rewrite the entire data set.

Learn more about MongoDB and Hadoop.

Where can I run MongoDB?

Back to Table of Contents

MongoDB can be run anywhere, providing you complete freedom from platform lock-in.

MongoDB Atlas provides you with a complete, pay-as-you-go fully managed service for MongoDB in AWS, Azure, and Google Cloud Platform.

You can download MongoDB and run it yourself anywhere. MongoDB Ops Manager is the best way to run MongoDB on your own infrastructure – whether that lives on-premise or in a public cloud – making it fast and easy for operations teams to deploy, monitor, backup and scale MongoDB. Many of the capabilities of Ops Manager are also available in the MongoDB Cloud Manager service.

Does MongoDB scale?

Back to Table of Contents

Tens of thousands of organizations use MongoDB to build high-performance systems at scale. Organizations ranging from Fortune 100 enterprises to the most agile startups rely on MongoDB. They've grown from single server deployments to clusters with over 1,000 nodes, delivering millions of operations per second on more than 100 billion documents and petabytes of data. Learn more.

How does MongoDB ensure high availability?

Back to Table of Contents

MongoDB automatically maintains replica sets, multiple copies of data that are distributed across servers, racks and data centers. Replica sets help prevent database downtime using native replication and automatic failover.

A replica set consists of multiple replica set members. At any given time one member acts as the primary member, and the other members act as secondary members. If the primary member fails for any reason (e.g., hardware failure), one of the secondary members is automatically elected to primary and begins to process all reads and writes.

Learn more in the MongoDB MongoDB Architecture Guide.

How does MongoDB ensure consistency?

Back to Table of Contents

MongoDB is consistent by default: reads and writes are issued to the primary member of a replica set. Applications can optionally read from secondary replicas, where data is eventually consistent by default. Reads from secondaries can be useful in scenarios where it is acceptable for data to be slightly out of date, such as some reporting applications. Applications can also read from the closest copy of the data (as measured by ping distance) when latency is more important than consistency.

Learn more in the MongoDB MongoDB Architecture Guide.

Is MongoDB schema-less?

Back to Table of Contents

No. In MongoDB schema design is still important. MongoDB's document model does, however, employ a different schema paradigm than traditional relational databases.

In MongoDB, documents are self-describing; there is no central catalog where schemas are declared and maintained. The schema can vary across documents, and the schema can evolve quickly without requiring the modification of existing data.

MongoDB's dynamic schema also makes it easier to represent semi-structured and polymorphic data, as documents do not all need to have exactly the same fields. For example, a collection of financial trading positions might have positions that are equity positions, and some that are bonds, and some that are cash. All may have some fields in common, but some fields ('ticker', “number_of_shares”) do not apply to all position types.

When designing schemas in MongoDB you should consider a number of topics, including the types of queries the application will need to perform, how objects are managed in the application code, and how documents will change and potentially grow over time.

Learn more about schema design:

Should I normalize my data before storing it in MongoDB?

Back to Table of Contents

No. Schema design is very important when using MongoDB, but very different from schema design for relational databases.

Learn more about schema design:

What's the advantage of the backup features in Ops Manager and Atlas versus traditional backup strategies?

Back to Table of Contents

Ops Manager and Atlas offers a lot of advantages, including:

  • Point-in-Time-Recovery, Scheduled Backups. You can generate a restore image from an exact time in the past, which can be very helpful for restoring operations just prior to a catastrophic event.

  • Continuous, Incremental Backup. Data is backed up continuously as the cluster updates. Your backups are always up-to-date.

  • Sharded Cluster Backup. Backing up sharded clusters can be hard. Ops Manager Backup automates this for you.

  • Queryable Backup. Query backups directly without having to restore them. Find the backup you need or examine how data has changed over time.

Ops Manager is included with MongoDB Enterprise Advanced, and provides continuous backup and point-in-time restore for MongoDB. Those interested in a cloud-based backup solution should consider MongoDB Cloud Manager, which provides continuous, online backup and point-in-time restore for MongoDB as a fully managed service.

To learn more, read the white paper on database backup strategies.

What's new in the MongoDB 4.0 release?

Back to Table of Contents

Review the Guide to What's New to learn more.

What is MongoDB Stitch?

Back to Table of Contents

MongoDB Stitch is the Serverless Platform from MongoDB. Stitch streamlines application development with simple, secure access to data and services from the client – getting your apps to market faster while reducing operational costs.

The Stitch serverless platform provides four services:

  • Stitch QueryAnywhere. Brings MongoDB's rich query language safely to the edge.

  • Stitch Functions. Stitch's HTTP service and webhooks let you create secure APIs or integrate with microservices and server-side logic.

  • Stitch Triggers. Real-time notifications let your application functions react in response to database changes, as they happen.

  • Stitch Mobile Sync (coming soon). Automatically synchronizes data between documents held locally in MongoDB Mobile and your backend database.

Can MongoDB only run on my backend server?

Back to Table of Contents

No, MongoDB Mobile (beta) lets you run your MongoDB database on your mobile or IoT device.

MongoDB Mobile lets you store data where you need it, from IoT, iOS, and Android mobile devices to your backend – using a single database and query language. Applications can use the Stitch SDK to access data, whether it's held on the mobile client or the backend. With native JSON storage, indexing, and aggregations, users can query data any way they want. With local reads and writes, MongoDB Mobile lets you build the fastest, most reactive apps. Stitch Mobile Sync will automatically synchronize data changes between data held locally and your backend database – even after the mobile device has been offline.

See the MongoDB Mobile page for more details and to register for the Beta program.

Where does the name MongoDB come from?

Back to Table of Contents

MongoDB comes from the word humongous. Our founders built large Internet companies like DoubleClick. They consistently ran into the same problems with databases, one of the biggest problems being scalability. When they set out to build MongoDB, they wanted a database that scaled. Thus, MongoDB.

What does the leaf mean in the MongoDB logo?

Back to Table of Contents

Our founders believe that coding should be natural, and so should using a database. They want the experience of using MongoDB to be simple and natural. Thus, the leaf.