NoSQL Categories Breakdown
As covered in my [last post]. In the era of Big Data, good old RDBMS concepts are no longer the right concepts for many unstructured and semi-structured database jobs. Here is another attempt to explain NoSQL with their Architecture and Categories.
We can call NoSQL Databases as Non-Relational Databases in better way. But people are calling it as Not Only SQL as well. Whereas some of the NoSQL Databases supports some sort of SQL as a query language. This actually diverting form name NoSQL. NoSQL is really more a Data Store than Data Base for the reason NoSQL databases lacks many of the features you find in an RDBMS, such as typed columns, secondary indexes, triggers, and advanced query languages, etc.
Most of NoSQL Databases has common Distributed Architecture. You can install and run NoSQL Database on single server or multiple servers and these servers can be federated. This allows to Sharded or Partitioned across all of the nodes inside the cluster. Which allows you to distribute NoSQL database in different nodes. May some of the data will be resides on the node and these nodes can be at different physical location geographically. This avoids single point of failure, but redundant storage helps to avoid single outage of database system. Most of the distributed NoSQL Databases gives two of the assurance of CAP Theorem (Consistency, Availability and Partition tolerance).
NoSQL databases are categorized according to the way they store the data this is one of the major factor which distinguishes the categories from each other but there are certain concepts that remains consistent throughout them. There are following four major categories of NoSQL Databases.
It is a HASH..!! One key, one value, no duplicates and extreme speedy.
e.g. DynamoDB, Windows Azure Table Storage, Riak, Redis, LevelDB , Dynomite etc.
A sparse, distributed multi-dimensional sorted map often referred as “BigTable clones”.
e.g. HBase, Cassandra, Amazon SimpleDB, Cloudera etc.
So called document stores or document oriented databases
e.g. MongoDB, Couchbase Server, CouchDB etc.
Especially well suited to tracking relationships between entities.
e.g. Neo4J, InfoGrid, HyperGraphDB, GraphBase, etc.
I’ll explain about all these individual categories of NoSQL Databases in my next couple of posts.
Stay Tuned…!!
Sandip
Everyone loves it when folks come together and share thoughts.
Great blog, continue the good work!
Many thanks for applying free time to write “NoSQL Categories Breakdown
Anything in Microsoft Data Space”. Many thanks again -Carlo