Main point: Retains some friendly properties of SQL. (Query, index)
Key Features Of Mongo DB:
- Master/slave replication (auto failover with replica sets)
- Better update-in-place than CouchDB
- Uses memory mapped files for data storage
- Performance over features
- Journaling (with –journal) is best turned on
- On 32bit systems, limited to ~2.5Gb
- Text search integrated
- GridFS to store big data + metadata (not actually an FS)
- Has geospatial indexing
- Data center aware
Best used: If you need dynamic queries. If you prefer to define indexes, not map/reduce functions. If you need good performance on a big DB. If you wanted CouchDB, but your data changes too much, filling up disks.
Examples: For most things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back.