Database Development: MongoDB 3.0 is coming
A huge amount of time enterprises and startups around the world have been using various NoSQL platforms for their Database Development needs. The open source NoSQL database MongoDB [http://www.mongodb.org] is going to major release version 3.0 in March. The latest release candidate is already available [http://www.mongodb.org/downloads]. The MongoDB team is trying to touch even higher level of new DBMS standard for any project in any industry, to be called “default database”.
Improvements and innovations
There have done a lot of work at line both the academical research and practical usage. First of all, sufficient improvements in the storage layer bring comprehensive boost performance and scalability. There is the WiredTiger storage engine. It is designed with non-blocking algorithms (similar to node.js event loop) and provides the maximum modern hardware usage based on large caches and many threads. It looks like this technology would be trendy next several years in Database Development. Besides, MongoDB 3.0 introduces document-level concurrency control to have fast and predictable performance even on high-load writing (in 7 to 10 times faster). Databases have to save and process more data, because the world generates more information. Transparent compression allows to reduce storage requirements by up to 80%. On the other hand, developers have ability to choose compression algorithm to balance space/performance for the needs of particular module of their application.
Various storage engines
Generally, there is no single database storage architecture suited for all kinds of applications/problems. It’s important to save data, because the lifetime of data is the same as the business uses it. But specific engine may play a key role in the system architecture. A database architect always makes a decision what side of the CAP theorem is suitable for him this time. E.g., OLAP solution with huge queries and aggregations, but without writing would be better to implement by column oriented storage. OLTP system has many concurrent reads and writes, so, it needs classic RDBMS or document oriented storage. For now, MongoDB 3.0 is not a single database, but rather a pluggable storage engine, a framework supporting various storage engines. MySQL RDBMS also supports many engines (MyISAM, InnoDB, Infobright, etc.) with different features suitable for specific use cases.
One of the most important principles of MongoDB is simplicity. That’s why it needs some efforts to manage all these nodes of even small Replica Set or Sharding cluster. And it is practically impossible to hold under control huge number of nodes without some structure and automation. Database Development is industry. So, a reducing of operational costs is also very important. New version of MongoDB provides Ops Manager to make it easy. Ops Manager’s API can be integrated into existing tools/systems for monitoring, backup and management.