Relational vs non-relational DB, an overview.
We all know that in the database technology world, it comes down to two main database types — SQL (relational) and NoSQL
(non-relational). The differences between them are rooted in the way they are designed, which data types they support,
and how they store them.
In this article, we'll examine the benefits and limitations of each database type.
Relational Database Management System (RDBMS)
RDBMS Database is a relational database. It is the standard language for relational database management systems. Data is
stored in the form of rows and columns in RDBMS. The relations among tables are also stored in the form of the table SQL
(Structured query Language) is a programming language used to perform tasks such as update data on a database, or to
retrieve data from a database. Some common relational database management systems that use SQL are: Oracle, Sybase,
Microsoft SQL Server, Access, etc.
Features of RDBMS
- - SQL databases are table based databases.
- - Data store in rows and columns
- - Each row contains a unique instance of data for the categories defined by the columns.
- - Provide facility primary key, to uniquely identify the rows.
Limitations for SQL database
Scalability: Users have to scale relational database on powerful servers that are expensive and difficult to handle. To
scale relational database, it has to be distributed on to multiple servers. Handling tables across different servers is
difficult.
Complexity: In SQL server’s data has to fit into tables anyhow. If your data doesn’t fit into tables, then you need to
design your database structure that will be complex and again difficult to handle.
Popular SQL databases and RDBMS’s
MySQL: the most popular open-source database, excellent for Enterprise Applications.
Oracle: an object-relational DBMS written in the C++ language. If you have the budget, this is a full-service option with great
customer service and reliability. Oracle has also released an Oracle No-SQL database.
MS SQL Server: a Microsoft-developed RDBMS for enterprise-level databases that supports both SQL and No-SQL architectures.
PostgreSQL: Open Source RDMBS with a very permissible PostgreSQL license. There are many extensions of PostgreSQL with various
advanced features. Offers ACID transactional guarantee. In terms of CAP, it offers immediate Consistency as a single Server.
NoSQL
NoSQL commonly referred to as “Not Only SQL”. With NoSQL, unstructured, schema less data can be stored in multiple
collections and nodes and it does not require fixed table sachems, it supports limited join queries, and we scale it
horizontally.
Benefits of NoSQL
-
Highly and easily scalable: Relational database or RDBMS databases are vertically Scalable When load increase on RDBMS database then we scale
database by increasing server hardware power, need to by expensive and bigger servers and NoSQL databases are designed
to expand horizontally and in Horizontal scaling means that you scale by adding more machines into your pool of
resources.
-
Maintaining NoSQL Servers is Less Expensive:
Maintaining high-end RDBMS systems is expensive and need trained manpower for database management but NoSQL databases
require less management. it supports many Features like automatic repair, easier data distribution, and simpler data
models make administration and tuning requirements lesser in NoSQL.
-
NoSQL databases are cheap and open source: NoSQL database implementation is easy and typically uses cheap servers to
manage the exploding data and transaction while RDBMS databases are expensive and it uses big servers and storage
systems. So the storing and processing data cost per gigabyte in the case of NoSQL can be many times lesser than the
cost of RDBMS.
-
No Schema or Fixed Data model: NoSQL database is schema less so Data can be inserted in a NoSQL database without any predefined schema. So the format
or data model can be changed any time, without application disruption. And change management is a big headache in SQL.
Limitations & disadvantage of NoSQL
-
1. NoSQL database is Open Source and Open Source at its greatest strength but at the same time its greatest weakness
because there are not many defined standards for NoSQL databases, so no two NoSQL databases are equal
-
2. No Stored Procedures in mongo dB (NoSQL database).
Popular NoSQL Databases
-
MongoDB: the most popular NoSQL system, especially among startups. A document-oriented database with JSON-like documents in
dynamic schemas..
-
Apache’s Couch DB:
a true DB for the web, it uses the JSON data exchange format to store its documents; JavaScript for indexing, combining
and transforming documents; and, HTTP for its API..
-
HBase: another Apache project, developed as a part of Hadoop, this open-source, non-relational “column store” NoSQL DB is
written in Java, and provides Big Table-like capabilities..