Let’s Learn About Graph Databases
From Punchcards to Relational Databases

In preliminary days, data was stored on punchcards and was really hard to read or interpret. It was impossible to index data to cross-reference and eliminate inconsistencies.

Punched card from Fortran program — Wikipedia

But soon, the industry evolved and RDBMS came into picture where data was stored in relational databases.

This format is somewhat human-readable but to store a considerable amount of data, relational databases require normalization to remove duplications and inconsistencies.

It also requires foreign key relationships to related data which makes it hard to understand and maintain without complicated JOIN queries.

ER diagram of a Car Rental System

ACID: atomicity, consistency, isolation, and durability

Relational databases support ACID out of the box and that is a big advantage.

It means that if the data is committed once, it will be available for subsequent queries to use but it is expensive to find data and the cost keeps creeping up as the size of data keeps growing.

To fix this issue, we add indexes to data which make lookup faster.

Adding indexes solves the issue to a certain extent but if we have to do a number of JOINs then we have to perform query time index lookups for each and every JOIN — this approach starts falling apart and starts becoming expensive as the number of tables grows.
['Navdeep Singh']
['Development', 'Technology', 'GraphQL', 'Database', 'Programming']