MongoDB is a non-relational database management system
MongoDB is a non-relational database management system. Its performance is one of the most important properties that sets MongoDB apart: From the start, document-oriented database management systems have the advantage that the data is not first merged from multiple tables. MongoDB is also scaleable: with transparent sharding – this is an approach for horizontal scaling – the infrastructure can be adapted relatively easily to growing requirements. MongoDB also has high availability: even in case of database failure the application still remains available, this means that redundant instances will be entered seamlessly – without manual intervention.
Of course, these three characteristics are not exclusive. For example, the performance can benefit from the opportunity of horizontal scalability, and new challenges for the availability will arise from the scalability. These important properties are an integral part of a well thought out overall architecture, which speaks well for MongoDB as a database management system.
MongoDB is becoming a competitor for the popular MySQL system with its easy scalability, high level of flexibility and efficient document oriented approach. MySQL gets more and more headwind from new, innovative database solutions, which are also provided as open source, and follow a completely new approach.
An advantage of non-relational database management systems like MongoDB is that changes to the data model of the application can be easily made. This means that there are no scripts for changing the data schema that need to be maintained.
MongoDB can supplement other systems
An essential property of MongoDB is the transparent shard architecture with automatic balancing for the application. If documents are written in a collection, it will be made ultimately on a shard, meaning on an instance of the database system. If the maximum block size is reached in a collection, the block is split. The data will first remain on the same shard. Only once the number of blocks on the shards (usually more than eight) differs will a block be moved to a different shard. This ensures that the load is distributed across multiple instances on the database system and that the database is easily scalable.
Non-relational databases like MongoDB can usefully supplement relational database system like MySQL: the keyword here is “not only SQL”. The goal of the new approach is to optimise relational databases where they show deficits. The concept is an answer to the inflexibility and difficult scalability of traditional database systems, in which data must be stored according to a highly structured model.
The amount of data in web application is increasing dramatically. This further increases the requirement for the data throughput and scalability of the underlying databases. Twitter is an example of this: At 200 million tweets per day, relational databases generally suffer from performance issues and will reach their limits. For this reason, Twitter now relies on a number of NoSQL solutions in addition to MySQL, in order to improve the availability and performance of its services.