MongoDB is a document-type NoSQL database adopted in C + + writing Mongo db The biggest advantage is that all data persistence requires no developer to manually write SQL statements, directly invoking the method can easily implement CRUD operations.
Very many people think that MongoDB does not support transactions. In fact, MongoDB is not a fully transactional database, and some of his operations are transactional processes.
Here I would like to recommend another and MONGO very similar database is TOKUMX, he is Tokuek's open source version number. Can say he has a nosql feature like MONGO, and also has the transactional nature of the relational database, supporting document-level locks.
Below we simply compare their pros and cons.
1. Insert Performance Control
Tokumx is a few times higher than MongoDB, whether it's read or write.
I tested on a single machine, 1 million data insertion time, MongoDB is about three times times the TOKUMX
2.IPOS Control
IPOs is the number of read-write (I/O) operations per second. We know that the life of the hard disk is limited. The more frequent the IO, the shorter the lifespan because TOKUMX uses a fractal tree index (tokumx Fractal trees (R) indexes), which is the bulk version number of Btree, which can effectively reduce the number of IO times. Improve read and write efficiency.
3. Data compression Efficiency comparison
TOKUMX support "Quicklz", "Lzma", "zlib" three compression algorithms, in space storage than MONGO save more than 90%, this is the focus, so tokumx can consider to do large-scale log storage.
Other features of the 4.TOKUMX
* Oplog Support per day partitioning, ability to set expiration time based on expireoplogdays, delete expired oplog, relieve disk pressure
* Optimize block migration in shards. Eliminates many global and library-level locks, simplifying and optimizing data transfer between different slices
* Document level Lock, non-DB level, non-collection level lock!
* Supports acid and thing MVCC characteristics
* Don't worry about disk data fragmentation!
* Self-control memory instead of handing over to system control unlike MongoDB using MMAP memory control
* A better clustering capability than MongoDB
PS: The last thing to explain is why TOKUMX is so much more powerful than MongoDB, but not much to use? The reason is that the tokumx process crash the odds far higher than MONGO--#
Tokumx vs Mongodb