Relational & Non-Relational Databases

Relational or SQL Databases

  • These are also called SQL databases.
  • These are used to store structured data.
  • Relational Databases stores data in rows and columns.
  • Relational Databases can be accessed using SQL (Structured Query language), as the language for querying and maintaining the database.
  • These support ACID (Atomicity, Consistency, Isolation, Durability) transactions, as the integrity of data is very important.
  • Relational Databases are mainly used for OLTP (Online transaction processing), which includes business transactional processing using real-time data.
    For example, Database to hold transactions from ATM.

Most popular Relational/SQL databases are:

  • MySQL
  • SQL Server
  • PostgreSQL
  • Maria DB
  • Aurora DB

Non-Relational or NoSQL Databases

  • These types of databases are also called NoSQL databases OR “Not only SQL” databases.
  • These databases store a large amount of unstructured data.
  • These don’t use relational models and schema.
  • These databases are designed to run on large clusters.
  • Non-Relational Databases use JSON, XML, or Key-value pairs.
  • These can be column-based, document-based, or graph-based.
  • These also have a flexible schema, so it can be a row-based, column-based, or follow document approach.
  • Most NoSQL databases support data replication, storing multiple copies of data across the cluster or data centers to ensure high availability and disaster recovery.
  • Non-Relational Databases are used for BigData and real-time web applications, where a huge amount of data is being delivered.

Most popular Non-Relational/NoSQL Databases are:

  • MongoDB
  • Redis
  • Cassandra
  • AWS DynamoDB
  • Coachbase