Back

TechnologyJan 30, 2014

MongoDB Explained in 5 Minutes or Less

Michael Wilson

MongoDB is a document-oriented database and is currently the most popular NoSQL database on the market. Let’s take a quick look at MongoDB, its main features, and how it’s being used.

What’s MongoDB?

Similar to how relational databases are based on tables, document-oriented databases such as MongoDB are based on collection of documents, with each of these documents consisting of key/value attributes.  A single document can be thought of as the equivalent of a row in a table, with each key being similar to a column name and each key’s value being similar to the respective row’s value. The main difference being that a document is not constrained to a certain schema or columns within a table.  Two documents could share similar elements, like an ID field, as well as having completely different elements.  For instance, in an inventory system all items will have a price, but automotive parts will have additional attributes that are completely different than the additional attributes that shoes would have.  And because MongoDB allows for dynamic schema changes, it’s easy to make agile changes without having to remodel the existing database in order to support the new fields, such as adding a new inventory product with its own unique set of attributes.   Additionally, the hierarchy of documents map easily to object hierarchies within application code, simplifying create, read, update, and delete operations.

MongoDB not only provides all these capabilities, but it does so without impacting performance, high availability or scalability. In fact, MongoDB outperforms many traditional RDBMS with excellent mirroring and auto-scaling features, allowing it to grow as needs and data change over time.

Common Use Cases

  • Content Management and Delivery – Manage a diverse product catalog of content in a single data store that allows for quick changes and rapid response times without additional complexity from content retrieval systems.

  • Mobile and Social Infrastructure – MongoDB provides a high-availability, low-latency, agile, and scalable platform that allows for geospatial capabilities, real-time analytics, and global availability.

  • Customer Data Management  – Utilize rich querying capabilities for real-time analytics on massive user bases with complex data models by using dynamic schemas and auto-sharding for horizontal scaling.

Key Features

  • Dynamic Schemas – MongoDB’s dynamic schema provides a simple way to incorporate changes as application requirements change.  These changes can be made to the database without affecting existing data or application code and without incurring downtime.

  • Operational Intelligence – MongoDB’s native map/reduce and aggregation framework provides insights in real-time for applications, going beyond the capabilities of batch analytics technologies like Hadoop and traditional BI tools.

  • Deployment Flexibility – MongoDB was built to work with commodity hardware and cloud architectures. Data is localized for queries to ensure performance is robust and predictable regardless of deployment size.

  • Simple Scale-Out – MongoDB is designed to be scaled across server clusters. As data volumes grow, organizations can simply add more nodes to their clusters, and MongoDB will balance the data seamlessly and automatically in the background.

  • Rich Querying –  MongoDB supports a full query language and primary and secondary indexing, as well as full text search with Google-like syntax.

Companies Using MongoDB

MongoDB already serves many Fortune 500 and Global 500 companies across financial, government, healthcare, media and entertainment, retail, and telecommunications industries.  Here are a few examples of how some companies have incorporated MongoDB into their business:

  • Forbes – Utilized MongoDB to aggregate and integrate dynamic content from their static and siloed data stores in order to update and control content on their website.  Because they MongoDB is open source, they were able to do so with minimal funding or additional staffing.

  • MetLife – Used MongoDB as the data engine for “The Wall,” an innovative customer service application similar to the Facebook user interface, which provides a consolidated view of MetLife customers across all lines of business.   A prototype was built in two weeks and was live in the U.S. in 90 days.

  • CERN – Created a data aggregation system built on MongoDB to provide search and aggregate information from a wide variety of sources into a consistent, data agnostic form.  This allows thousands of users to quickly free form query against terabytes of meta-data and returns tens of thousands of results.

  • Under Armour –  Leveraged MongoDB at the heart of the ecommerce platform to enable a flexible data infrastructure for rapidly changing demands of the business, as well as meet their disaster recovery and scalability needs through multi-data center replication and sharding.

Take Away

  • MongoDB is the leading NoSQL database on the market and utilizes a document-oriented database.

  • MongoDB supports the rich querying of datasets large or small with fast response times.

  • Using dynamic schemas, MongoDB enables agile development and flexibility for application or business requirement changes.

  • MongoDB emphasizes performance, scalability, and high availability and in many cases exceeds traditional databases in these areas.

  • MongoDB is a proven solution for a wide range of business requirements to companies across numerous industries.