This section described some of the commonly known NoSQL paradigms in use today. There are several other emerging platforms that have their own strengths and unique characteristics. A brief overview of some of them is given here:
Type |
Feature |
Object-oriented databases |
Databases that leverage concepts in object-oriented programming to store data represented as objects. |
Cloud databases |
Databases offered by cloud vendors such as Amazon, Microsoft, and Google that are only available on their respective cloud platforms such as Amazon Redshift, Azure SQL Database, and Google BigQuery. |
GPU databases |
A more recent entrant in the world of databases that leverage GPU (graphic processing unit) cards to process data. Examples include MapD, Kinetica, and others. |
FPGA-accelerated databases |
With Intel soon announcing the release of new chips that would have embedded FPGAs, companies such as Baidu have started developing FPGA-accelerated systems that leverage FPGA processing power to improve SQL query performance. |
Stream processing/IoT databases |
Databases, or more generally platforms, that are optimized for processing streaming data such as from medical devices and sensors. One of the most popular examples of such a system is Apache Storm. |
A question often asked is whether there is one NoSQL database that is optimal for all use cases. While the databases can have multiple features that support numerous elements of NoSQL systems (generally known as multi-modal databases), in practice, a single solution that performs universally well across a broad set of use cases is rare. In real-world use cases, companies generally implement more than one solution to meet data mining needs. In the next section, we will complete a few hands-on exercises with real-world datasets using NoSQL solutions discussed in this chapter.