Difference between RDBMS and NoSql




What is NoSQL? 
NoSQL which stands for “not only SQL” or "Not SQL." It is a non-relational DMS. It does use a traditional row/column/table database design and does not use structured query language (SQL) to query data and that does not require a fixed schema, avoids joins, and is easy to scale. NoSQL database is used for distributed data stores with humongous data storage needs. NoSQL is used for Big data and real-time web apps. 

What is RDBMS?
A Relational database management system is a database management system that is based on the relational model. Relational database is most commonly used database that stores data in well-organized arrangement comprising of rows and columns. Which makes the processing of data such as fetching, viewing, update, deleting and manipulating the contents of the tables. Each and every table has a relationship with the other tables in the system.

Types of NoSQL
1. Document-Based (MongoDB, CouchDB, RavenDB)
  • Document store is also quite similar to a key-value store but the different is that value provide some structure and encoding of the managed data.
2. Column-Based (BigTable, Cassandra, Hbase)
  • Rather than data stored in rows, In column-oriented NoSQL database, data is stored in cells group columns. Columns are logically grouped into column families and Column families can contain a virtually unlimited number of columns. 
3. Key Value (Riak, Memcached, Redis) 
  • The key value type basically, uses a hash table in which there exists a unique key and values. The key can be synthetic or auto-generated while the value can be String, JSON, BLOB (basic large object) etc.
  • As the volume of data increases, maintaining unique as key is more difficult is one of the weaknesses of key value store database.
4. Graph database (Neo4J, InfoGrid, Flock DB)
  • Graph Base NoSQL Database, is using a flexible graphical representation without using tables and columns.Graph structures are used with edges, nodes to represent and store data. 

Advantages of NoSQL
  • Handles Big Data
  • Allows Dynamic Modeling
  • Cheaper to manage
  • It provides fast performance and scale out/horizontal scaling.
  • Simple to implement than using RDBMS

Advantages of RDBMS
  • Better for Relational database
  • It provides easy usability.
  • Data are organized in a structured manner and it is easily understood by the user.
  • Privileges (Administrator can give specific access to a user.)
  • Normalization 

Comments