For the past few decades, relational databases have been the default choice for data storage, especially for enterprise applications. Currently, many other database technologies are grabbing more attention due to their high performance, scalability, and availability options, such as Not Only SQL (NoSQL) technologies. Choosing the right database technology for applications among a plethora of database options is a challenging task.
In this website, I aim to provide a systematic and experimental evaluation for four NoSQL databases across spectrum of different NoSQL categories. The investigated databases are Redis, MongoDB, Neo4j, and Cassandra. I study multiple aspects such as the database transaction support, query options, data layout, scalability, availability, security, and durability. Besides, I analyze the data modelling of each database using a data model from the Transaction Processing Council Ad-hoc (TPC-H) benchmark . Furthermore, I evaluate the query capabilities of each database using three complex queries from the same benchmark. Based on the examination, I capture the strengths and weaknesses each database has. Finally, I present a set of factors that influence the adoption of a NoSQL solution. I hope that these factors can assist software architects and developers to choose the proper database technology for their specific application needs.