Benchmarking Couchbase Server vs. Cassandra vs. MongoDB for Interactive Apps (2013)
Things to consider when choosing a NoSQL DB
Designed to replace relational database management systems (RDBMS), NoSQL databases provide near-endless scalability and great performance for data-intensive use cases. However, with so many different options around, choosing the right NoSQL database for an interactive web app can be tricky. Below, we discuss the most important factors to keep in mind.
It is hard to predict when your application needs to scale, but when the website traffic suddenly spikes and a database does not have enough capacity, you need to scale quickly, on demand, and without any application changes. Similarly, when your system is idle, you should have a possibility to decrease the number of resources used. Scaling your database must be a simple operation—you should not need to deal with complicated procedures or make any changes to the code.
Interactive applications require very low read and write latencies. The database must deliver consistently low latencies regardless of load or the size of data. As a rule, the read and write latencies of NoSQL databases are very low because data is shared across all nodes in a cluster, while the application’s working set is in memory.
Interactive web applications need a highly available database. If your application is down, you are simply losing money. To ensure high availability, your solution should be able to do online upgrades and easily remove a node for maintenance without affecting the availability of the cluster. It also should handle online operations, such as backups, and provide disaster recovery, if the entire data center goes down.
Ease of development
Relational databases require a rigid schema. If your application changes, the database schema needs to change, as well. In this regard, NoSQL databases offer a number of important advantages that make it possible to alter a data structure without affecting your application.
To help you select the best option for your use case, Dmitriy Kalyada, R&D engineer at Altoros, has analyzed and explained the most important pros and cons identified for each datastore under different types of workload. You can learn how the three most mature open-source NoSQL databases address the four key considerations for interactive applications. In addition, the research paper provides precise data on infrastructure, settings, and workload types used for the benchmarking.
To learn how Couchbase, Cassandra, and MongoDB scale and perform, download the updated version of the comparison.