NoSQL databases provide high operational speed and increased flexibility for software developers and other users when compared to traditional tabular (or SQL) databases.
The data structures used by NoSQL databases—key-value, wide column, graph, or document—differ from those used by relational databases. As a result, NoSQL databases. NoSQL databases can be scaled across thousands of servers, though sometimes with loss of data consistency. But what makes NoSQL databases especially relevant today is that they are particularly well suited for working with large sets of distributed data, which makes them a good choice for big data and analytics projects.
How to choose a NoSQL database: Key factors
With more than two dozen open source and commercial NoSQL databases in the market, how do you choose the right product or cloud service?
One vital factor is to know the purpose to which you want to put the data, says Carl Olofson, an IDC research vice president.
NoSQL databases vary in architecture and function, so you need to pick the type that is best for the desired task:
In general, key-value stores are best for the persistent sharing of data by multiple processes or microservices in an application.
If you plan to do deep relationship analysis for proximity calculation, fraud detection, or evaluation of associative structure, a graph database might be the better choice.
If you need to collect data very rapidly and at high volumes for analytics, look at a wide column store. Such NoSQL databases tend also to offer document and graph support as well.
Don’t assume your initial project is the only usage model that you will apply to the database. You might start out just doing state or session data management, then look to do transaction processing, and still later do some analytics.
For the near term, the focus should be around performance, scale, security, support for various workloads (including transactional, operational, and analytics), integration with existing ecosystems, administration effort, cloud support, and type of use cases supported, says Noel Yuhanna, a principal analyst at Forrester Research. Of these, security is critical. NoSQL databases that have security certifications should be given higher consideration. Look for features such as encryption of both data at rest and data in motion to protect sensitive information.
Also, not all NoSQL databases can scale well, Yuhanna says, so don’t take for granted that just because a product is in the NoSQL category it will scale and perform better than relational databases.
NoSQL offers different consistency levels in the scale-out model, so look at solutions that meet your specific requirements. For example, if you want to support highly critical banking-like transactions, relational databases are still the best solution.