NoSQL database which is also known as Not Only SQL, is an approach to database design and data management, made use of for large sets of variety of data. It contains within it a wide range of architecture and architecture and is meant to solve scalability as well as performance issues of big data that the relational databases were not meant to address. When any enterprise is in need of access and analysis of large amount of unstructured data or the data that is saved in various virtual servers in the cloud, NoSQL comes into rescue. There are three main NoSQL databases: MongoDB, Cassandra and HBase.
Comparing MongoDB and Cassandra
MongoDB: MongoDB is mainly focused on providing a balanced approach that is perfect for a wide range of applications. The functionality of MongoDB is mainly rooted to the traditional database; it gives the users to focus on the benefits of the cloud infrastructure with the help of its horizontal scalability. While working on various sets of data, MongoDB is very helpful as it has flexible data model. The very first NoSQL database that any budding developer would try out will be MongoDB, as it is very easy and quick to grasp. Though MongoDB is known for its positive factors, it does have its own weaknesses too. It is mainly designed for OLTP workloads. It is able to queries that are very complex. But it is not a good one for the workloads that are of reporting style. If you are in need of not so easy transactions, MongoDB is not a good choice at all. As it is very simple, it is the best thing a developer can start with.
Cassandra: Cassandra is written in Java. It is meant to store enormous data in SQL. More and more users tend to move towards Cassandra when they find it difficult to run the relational databases run faster. Cassandra is more reliable especially at the scale. It has a decentralized architecture. Any node of Cassandra can do any kind of operation. It has a wonderful single row read performance and is best in supporting single row queries or choosing multiple rows mainly on a column value index. Cassandra nodes do not support aggregations. The client on the other hand, needs to provide the aggregations.