As they say “Necessity is the mother of invention”. There would have been no RDBMS kind of databases like Oracle if there was no computers.
Similarly there would have been no need of NoSQL kind of databases if there was no Internet explosion, no Facebook/social media, no cell phones etc. etc. All these new “trends” generated such huge data at such fast pace that RDMBS was simply not able to cope up. NoSQL helped in solving this problem of this new/huge/versatile/fast generating data.
Most NoSQL are distributed kind of database, means it runs on multiple machine to handle the heavy data load requirement. The goal of NoSQL database is to provide results faster, unlike RDBMS kind of databases where goal is to have well structured and modeled database.
NoSQL databases can be categorized into four main kinds:
- Key-Value Databases
Here keys are the identifiers to look up data, and the values are the data associated with the keys. So here there are NO tables/columns/constraints etc. Also you can not use SQL to query such databases.
Example: Amazon’s DynamoDB, Oracle BerkeleyDB
- Document Databases
There is no fixed “schema” here in these kind of databases.
Example: MongoDB, CouchDB
- Column Family Databases
These kind of databases have columns so these have some similarity with RDBMS databases. But similarity are limited and differences are more. Example the rows here in a column family database can have different columns which can never be possible in RDBMS kind of databases. You can group columns into sets of related
Columns and name them “column families”
Here also, there is no fixed “schema” in these kind of databases
One familiar thing here is that you use SQL type language to query data. For an Oracle DBA, it is easy to learn the command syntax used here because of previous working with SQL.
Example: Apache Cassandra, Apache Hbase
- Graph Databases
First thing to keep in mind is that it has no relation with the “Graph” that we refer in daily life. Here the “Graph” word is coming from Mathematics graph theory.
A graph database uses “nodes” and “relationships”. A node in the graph database contains pointers to objects that are adjacent to it.
As such this is not very popular NoSQL database.
[Post Views: 0]
You can connect with me on LinkedIn.
Latest posts by Brijesh Gogia (see all)
- Cassandra – 4 –Cassandra Architecture terminology - March 30, 2019
- Cassandra – 3 – Related Terms : ACID, BASE,CAP Theorem - March 15, 2019
- Cassandra – 2 – Basics of Cassandra - March 9, 2019