NoSQL and the future of cloud databases
New tools dubbed NoSQL may help developers achieve Internet-scale for their database driven applications.
One of the cloud-related trends that developers have been paying attention to lately is the idea of "NoSQL," a set of operational-data technologies based on nonrelational technology.
These technologies do not replace the relational database but rather add a new tool to the developer toolbox. Business intelligence database technologies such as Aster Data, Greenplum, Neteeza, and Vertica do not completely replace the traditional relational database but rather use nonrelational databases to augment the software.
RedMonk analyst Stephen O'Grady wrote recently that NoSQL "adoption was inevitable because, just as in every other walk of life, there are different tools for different jobs in the technology world." NoSQL may not be exactly the right moniker, but the companies and developers behind these tools have legitimate substantiating points as to why the approach is right.
The broad range of NoSQL tools that include projects like Cassandra, CouchDB, Hadoop, Memcached, and MongoDB bring to bear a number of technical advantages--even if no one tool does everything.
Horizontal scalability, readily achievable for NoSQL solutions, fits incredibly well with cloud computing and general trends in computer architecture--toward more CPU cores rather than faster ones.
In some cases, the simplification of design of these solutions, as well as lack of normalization of the data, yields better performance. This often results in the developer not coding around the database.
Ease of assembly
The typical software system of moderate complexity has many real and conceptual internal data stores. No one technology will be the right solution for all problems.
Forward-looking organizations should look at which technologies are appropriate for different data subsystems and begin to evaluate NoSQL technologies for appropriate projects.