Today, we awarded the 2018 TrustRadius Top Rated badges for NoSQL Databases. The TrustRadius Top Rated awards are unique in that they are an unbiased reflection of customer sentiment, based solely on user satisfaction scores.
Here are the winners in each segment, listed in order of research frequency on TrustRadius. We have also provided insights on how to pick the right NoSQL database based on your needs and current industry trends.
Overall Top Rated
Top Rated by Enterprises
Top Rated by Mid-Sized Companies
Top Rated by Small Businesses
What are NoSQL databases?
Traditional relational databases store data in highly structured tabular form, with multiple rows and columns. While these data stores are highly flexible, easy to maintain, and effective for data stored on a single server, they do not scale very well in a distributed system. Distributed systems using inexpensive storage and processing power are often used in environments where there is a need for high availability and speed.
NoSQL databases are designed to be used across large distributed systems. They are notably much more scalable and much faster at handling very large data loads than traditional relational databases.
Types of NoSQL databases
Not all NoSQL databases use the same data model however. Although the primary distinction between a relational data store and a NOSQL database is the data model, there are several different types of NoSQL data models. Some of the most popular data models used in NoSQL databases are:
- Graph model: Graph models usually require all the data to reside on one machine which negates of the key advantages of NoSQL databases, but this class of databases uses structures like data modes, edges and properties, making it easier to model relationships between entities in an application.
- Key-value model: In this model a key is required to retrieve and update data. The key-value data model is very simple and therefore scales well. However, this simplicity and scalability comes at the cost of query complexity.
- Column model: Column models store data in cells grouped together as columns instead of rows of data. The benefit of this approach is fast search, access, and data aggregation.
When to use a NoSQL database
When buying a NoSQL database, one of the first things to ask is if there is a clear reason to use NoSQL rather than a standard relational database. If you will not be storing large quantities of data, you might be better off using a SQL store.
Similarly, if the application is not a real cloud application with features like scaling, fault tolerance, and load balancing, you are unlikely to reap the benefits of NoSQL and, once again, might be better off with a relational data store. NoSQL databases make the most sense when a relational database will not scale to handle traffic volumes at an affordable cost, or if you need to run queries against the database that do not involve standard hierarchical relationships.
Finding the right data model for your use case
If there is a good reason to use a NoSQL database, the difficulty is understanding the right data model for your specific use case. For example:
- Document-based NoSQL databases are schemaless and suitable for web applications where you are dealing with incomplete data. You can fill a document with anything you want using different protocols like JSON or XML. But the schema is very flexible. Two documents can have completely different schema and data values, unlike a relational table where each row has the same columns.
- Graph model databases are ideally suited to social networking or recommendation engine applications. In general, graph model databases allow you to find interconnected data much faster, and in a much more scalable way than would be possible with a relational data model.
- Key-value model databases are perhaps the most common NoSQL data model and are suitable for content caching or message broker applications. They are also used for attributes, where you have an identifier and want to attach attributes to describe it more fully: For example, storage of user and other info for online games
- Column databases are often used for establishing relationships between entities, especially when dealing with very large data sets. This kind of database allows for very fast querying and processing of data and is most often used in bag data applications where speed is critical.
Choosing the right NoSQL database
Even understanding the NoSQL data model most suitable to your use case, will not necessarily dictate the right database to use. Within these different types, there is still quite a bit of variability. Some databases are open source, while others are proprietary. Some support the ACID properties of relational databases, while others do not. Some databases are bare bones, and some are very fully featured. There are also more granular functional differences which may matter for your use case. Reviews on TrustRadius can be an invaluable way of understanding which type of NoSQL database best suits your use case, and also which specific database within that type.
Top Rated Criteria
Products included in the 2018 Top Rated NoSQL Databases list must have been in the top tier of their category TrustMap on April 27, 2018, to earn a Top Rated badge. To qualify for the NoSQL Databases TrustMap, products must have 10 reviews and ratings on TrustRadius. Every reviewer is verified and every review is vetted before publication. Products are plotted on the map based on end-user data, including users’ likelihood to recommend scores as well as buyer research patterns. To learn more about TrustMaps and Top Rated methodology, check out this page.