December 8, 2014
NoSQL databases store and retrieve data using techniques other keeping data in structured tabular format like that used in traditional relational databases. Compared to relational databases, NoSQL databases are often simpler in design, can scale more flexibly, and enable very fine-grain access to data.
While NoSQL databases dominate database technology news, actually NoSQL databases have a very low presence across enterprises. A 2014 InformationWeek survey to determine which database technologies are used by enterprises found that only 13 percent of organizations surveyed have installed Hadoop, 5 percent use MongoDB and 3 percent have SAP HANA licenses. Compare that to 75 percent of organizations using Microsoft SQL Server and 47 percent using Oracle RDBMS. Joe Masters Emison, CTO of BuildFax, comments that even FileMaker currently still has a higher adoption percentage than highly-hyped NoSQL contenders Cassandra, Riak, and MariaDB.
Forrester Research estimates that NoSQL adoption at enterprises actually to be significantly higher, closer to being used by 20 percent of enterprises. Forrester also expects the use of NoSQL to double by 2017.
Forrester identifies four use cases where NoSQL shine:
- Operational databases for real-time and predictive analytics
- Stream processing that scales across many nodes in a clustered configuration
- Databases with low-latency ad hoc queries
- Applications that require large volumes of rapidly growing structured and unstructured data
Gary Nakamura, CEO of Concurrent, said that “sometimes SQL is overkill for what you are trying to do. You don’t need a query language, just a key with a particular value, and that could be a lot simpler and faster.”
Alex Miller, Developer at Cognitect, said that NoSQL “models let the developer start working with their data without committing to anywhere near as much up-front structure as a relational database. On initial usage, that makes them feel much lighter-weight and agile from a developer point of view. The important thing is to consider your data use case and find the most appropriate technology to match it.”