In the age of document databases, I find solace in my SQL roots, a language learned more than twenty years ago through sweat and literal tears (not blood, fortunately). Renegade Otter’s MySQL war story, which I strongly recommend to read, resonated with me, highlighting the enduring significance of relational databases. As the boat is rocked by new technologies, the robustness and power of SQL continue to shape my approach to data management.
The insightful discussion on anti-patterns in the above article prompted me to consider two more often overlooked pitfalls. The first is the “Overreliance on Denormalization,” a practice where data is excessively duplicated, compromising the benefits of a structured relational model. While denormalization can enhance query speed, its overuse can lead to maintenance nightmares and data integrity issues. The second is what I call the “Fear of Indexing,” where developers shy away from utilizing indexes, hindering query performance. Indexing is a powerful tool for optimizing database reads, and a judicious approach is vital for striking the right balance.
The proclamation that relational databases are not relics but enduring tools rings true. The humor in “Here we React and GraphQL all the things, old man” captures the modern developer’s fascination with the new. Yet, the article rightly asserts that a modern RDBMS is innocent until proven guilty, emphasizing that the burden of proof lies on us.
Creatively paraphrasing David Heinemeier Hansson, the creator of Ruby on Rails, a monolith and a relational database are what 99% of the companies on this planet really really need. The rest is a mix of unnecessary overhead, overengineering and fear of missing out. Half-joking, but sometimes it really does feel that way.