SQL versus NoSQL databases

SQL databases have been around for decades and most of us are probably already very familiar with relational databases. Let's learn some significant differences between SQL and NoSQL databases:

Properties

SQL Databases

NoSQL Databases

Data model

In SQL databases, the relational model normalizes data into tables containing rows and columns. A schema includes tables, number of columns, relationships between tables, index, and other database elements.

NoSQL databases do not enforce a schema. A partition key is commonly used to retrieve values from column sets. It stores semi-structured data such as JSON, XML, or other documents such as data catalogs and file indexes.

Transaction

SQL-based traditional RDBMS support and are compliant with the transactional data properties of ACID.

To achieve horizontal scaling and data model flexibility, NoSQL databases may trade some ACID properties of traditional RDBMS.

Performance

SQL-based RDBMS were used to optimize storage when the storage was expensive and to minimize the footprint on disk. For traditional RDBMS, performance has mostly relied on the disk. To achieve performance query optimizations, index creation and modifications to the table structure are required.

For NoSQL, performance depends upon the underlying hardware cluster size, network latency, and how the application is calling the database.

Scale

SQL-based RDBMS databases are easiest to scale vertically with high configuration hardware. The additional effort requires relational tables to span across distributed systems such as performing data sharding.

NoSQL databases are designed to scale horizontally by using distributed clusters of low-cost hardware to increase throughput without impacting latency.

 

Depending upon the of your data, there are various categories of NoSQL data stores that exists to solve a specific problem. Let's understand the types of NoSQL databases.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.14.253.152