as schema-less JSON documents • One of the most popular NoSQL solutions • Cross-platform and open source o written in C++ o supports Windows, Linux, Mac OS X, Solaris
are JSON documents • Full Index Support o Allows indexing on any attribute, just like in a traditional SQL solution • Replication & High Availability o Supports mirroring of data for scalability
can be divided and distributed over multiple shards • Fast In-Place Updates o Update operations are atomic for contention-free performance • Integrated Map/Reduce framework o Can perform map/reduce operations on top of the data
• memory-mapped files • indexes are B-Trees http://bsonspec.org {_id: ObjectId(XXXXXXXXX), hello: “world”} \x27\x00\x00\x07 _i d\x00 X X X X X X X X\x02 h e l l o\x00\x06\x00 \x00\x00 w o r l d\x00\x00
you read (logging). • If every component of the system must be in Java. • If you require Availability + Partition Tolerance For example: Banking, financial industry (though not necessarily for financial transactions, but these industries are much bigger than that.) Writes are faster than reads, so one natural niche is data analysis. MongoDB (2.2) 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 require Consistency + Partition Tolerance For example: For most things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back. source: http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis VS
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 • It lacks transactions, so if you're a bank, don’t use it • It doesn't support SQL • It doesn't have any built-in revisioning like CouchDB • It doesn't have real full text searching features
oriented and schema free) • Advanced usage (tons of features) • Administration (Easy to admin,replication,sharding) • Advanced usage (Index & aggregation) • BSON and Memory-Mapped • There are times where not all clients can read or write. CP (Consistency and Partition Tolerance).
Ranking (http://db-engines.com/en/ranking) • Interview about the future of MongoDB ( http://strata.oreilly.com/2012/11/the-future-of-mongodb.html) • MongoDB Inside and Outside by Kyle Banker (http://vimeo.com/13211523) • How This Web Site Uses MongoDB ( http://www.businessinsider.com/how-we-use-mongodb-2009-11) • Cassandra and MongoDB comparison (http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb- vs-redis)