MongoDB (from “humongous”) is a scalable, high-performance, open source NoSQL database. This is Written in C++ languages.
Main featured of mongo db
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
| CouchDB | MongoDB | MySQL | |
|---|---|---|---|
| Data Model | Document-Oriented ( JSON) | Document-Oriented BSON) | Relational |
| Data Types | string,number,boolean,array,object | string, int, double, boolean, date, bytearray, object, array, others | link |
| Large Objects (Files) | Yes (attachments) | Yes (GridFS) | Blobs |
| Horizontal partitioning scheme | CouchDB Lounge | Auto-sharding | Partitioning |
| Replication | Master-master (with developer supplied conflict resolution) | Master-slave and replica sets | Master-slave, multi-master, and circular replication |
| Object(row) Storage | One large repository | Collection-based | Table-based |
| Query Method | Map/reduce of javascript functions to lazily build an index per query | Dynamic; object-based query language | Dynamic; SQL |
| Secondary Indexes | Yes | Yes | Yes |
| Atomicity | Single document | Single document | Yes – advanced |
| Interface | REST | Native drivers; REST add-on | Native drivers |
| Server-side batch data manipulation | ? | Map/Reduce, server-side javascript | Yes (SQL) |
| Written in | Erlang | C++ | C++ |
| Concurrency Control | MVCC | Update in Place | |
| Geospatial Indexes | GeoCouch | Yes | Spatial extensions |
| Distributed Consistency Model | Eventually consistent (master-master replication with versioning and version reconciliation) | Strong consistency. Eventually consistent reads from secondaries are available. | Strong consistency. Eventually consistent reads from secondaries are available. |
thanks, nice share.