Overview

../_images/mongodb.png

MongoDB is a high-performance, open source, schema-free document-oriented data store that is easy to deploy, manage and use.

Main Features

MongoDB is network accessible, written in C++ and offers the following features :

  • Collection oriented storage - easy storage of object- style data
  • Full index support, including on inner objects
  • Query profiling
  • Replication and fail-over support
  • Efficient storage of binary data including large objects (e.g. videos)
  • Auto-sharding for cloud-level scalability (Q209)

High performance, scalability, and reasonable depth of functionality are the goals for the project.

What’s up with the name ?

The name Mongo comes from “Humongous”.

Why Mongo ?

Here are the some of the features that may lead you to use MongoDB:

  • Document-oriented
  • Documents (objects) map nicely to programming language data types
  • Embedded documents and arrays reduce need for joins
  • Dynamically-typed (schemaless) for easy schema evolution
  • No joins and no multi-document transactions for high performance and easy scalability
  • High performance
  • No joins and embedding makes reads and writes fast
  • Indexes including indexing of keys from embedded documents and arrays
  • Optional streaming writes (no acknowledgements)
  • High availability
  • Replicated servers with automatic master failover
  • Easy scalability
  • Automatic sharding (auto-partitioning of data across servers)
  • Reads and writes are distributed over shards
  • No joins or multi-document transactions make distributed queries easy and fast
  • Eventually-consistent reads can be distributed over replicated servers
  • Rich query language