SQL vs NoSQL

SQL vs NoSQL

A comparative analysis

ยท

2 min read

In the year of 1974, IBM researchers Raymond Boyce and Donald Chamberlin initially developed the SQL inspired by American computer scientist Edgar F. Codd's A Relational Model of Data for Large Shared Data Banks research paper in order to focus on reducing data duplication. This version was initially called SEQUEL (Structured English Query Language). Despite ESS-CUE-ELL being the standard way of calling it, till today most of the developers/database administrators tend to call it SEQUEL. It was initially designed to manipulate and retrieve data stored in IBM's SystemR. SQL is the primary interface used to communicate with Relational Databases. SQL became a standard of the American National Standards Institute (ANSI) in 1986.

Introduction-to-SQL.png

Codd's model is now accepted as the definitive model for relational database management systems (RDBMS). According to AWS, A relational database management system (RDBMS), is a collection of data items with pre-defined relationships between them where SQL is being used as a domain-specific language to manipulate the database. These items are organized as a set of tables with fixed rows and columns. Tables are used to hold information about the objects to be represented in the database. Each column in a table holds a certain kind of data and a field stores the actual value of an attribute. The rows in the table represent a collection of related values of one object or entity. Each row in a table could be marked with a unique identifier called a primary key, and rows among multiple tables can be made related using foreign keys. This data can be accessed in many different ways without reorganizing the database tables themselves.

MySQL is a widely used relational DBMS( Database Management System) and currently PostgreSQL is becoming the trendiest database tool for many e-commerce sites and dynamic business sites. In the past, PostgreSQL performance was more balanced and reads were generally slower than MySQL, but it was capable of writing large amounts of data more efficiently, and it handled concurrency better. PostgreSQL is ideally good for executing complex queries. (and it's my personal favourite too). There's another DBMS called MariaDB

ย