This name was first coined in 1998 by Carlo Strozzi for its lightweight open source relational database which simply didn’t expose an SQL interface.
The First and OnlyNoSQL.
There are, since then, many Non-Relational, Distributed, open source, database effort. In 2009, Eric Evans reintroduced the term as a RDBS anti-pattern in an event to discuss all those databases that not only don’t use SQL language but in fact are not Relational at all.
From then on, the most common interpretation of “NoSQL” is “non-relational”.
Let’s go and more technically define NoSQL.
- NoSQL systems are designed for clusters, so they tolerate hardware failures by keeping backup copies of the data on separate physical servers.
- NoSQL systems avoid going to disks when answering complex queries. Frequently, they have pre-sorted the data and loaded it into the RAM of several servers in a cluster.
- NoSQL systems perform write, delete, and update functions to unstructured data, much as relational systems work on structured tables.
- Queries are directed by MapReduce style guidance systems to the data and an associated processor.
- NoSQL systems are being built by Web site developers or cloud service providers, not by database architects and administrators.
- What NoSQL lacks in precision it makes up for in speed.
- NoSQL systems could perhaps be better called Distributed Database Management Systems (or DDBMSes).
- Instead of having tables with columns and rows like you would find in a traditional RDBMS, many NoSQL databases are based on hash table structure.
- Recently, column-oriented NoSQL databases have started to show up as well.
- NoSQL systems are being considered schema free, which means we can simply start working and create the data structure on the fly.
What prevails in NoSQL system:
- Massive scalability
- Low latency
- Ability to grow on demand
- An easier programming model
The NoSQL universe
According to the implementation characteristics, NoSQL databases could be categorized:
- Hadoop / HBase; Cassandra; Hypertable; Cloudera; Amazon SimpleDB
- MongoDB; CouchDB; Terrastore; ThruDB; OrientDB; Jackrabbit; Lotus Notes; RavenDB; Citrusleaf; SimpleDB; Keyspace
- AllegroGraph; Core Data; Neo4j; Sones; DEX; InfoGrid; FlockDB; HyperGraphDB; Bigdata; Infinite Graph; OpenLink Virtuoso; VertexDB
- BigTable; CDB; Citrusleaf; membase; Velocity; Memcachedb; Redis; Tokyo Cabinet; Tuple space; Cassandra; Dynamo; Hibari; Project Voldemort; Paxos algorithm; Keyspace; NMDB; Berkeley DB
- OpenQM; Rocket U2; OpenInsight
- Db4o; GemStone/S; InterSystems Caché; JADE; JOOB; Objectivity/DB; ZODB
- BigTable; Mnesia; Hbase; Hypertable
- Apache River