The Abyss at the start of every software project

#hope
2 min readNov 26, 2023

SQL and relational databases were developed at a different time and age. It was a time when 1.5GB of HDD was “very large”. So, like ancient manuscripts, we wanted to store precious data, with data integrity in the most efficient way possible. When we succeeded at that, we needed a way to read this data, and businesses naturally wanted complex reports which ended up as complex SQL.

So far so good…

But, the problem was when we started using SQL everywhere for everything because admittedly we did a pretty good job with SQL as a language; although the databases could not keep up with it at scale. Even when technology progressed, data volumes increased exponentially and user load went up with time, we went the usual route because that is what we were all familiar with.

Unfortunately, it is relatively easy to get started with SQL and relational databases. Once you know you are trapped, it is too late already.

NoSQL databases are great for metadata; but not so great for storing important data where data consistency and referential integrity matter.

Some companies even start removing everything relational about a relational database in production, so things can keep working, leading to massive fights between the production DBAs and SQL Developers/ Architects

--

--

#hope

“If you see something that’s not right, not fair, not just, do something about it. Say something. Do something.” — Rep. John Lewis