In January 2020, right before COVID hit, a question has popped up at the HackerNews front page:
"Which technology is worth learning in 2020?"
And the most "upvoted" answer was:
Learn how to really use a relational database, relational data modeling, and SQL
Well, finally, someone said it. Thank you.
Hold on, I get it. There's so much "fancy" stuff out there: K8S, Redis clusters, "web scale" NoSQL engines and other rock-star agile next-gen hotness. But relational databases (first mentioned way back in the 1970 scientific paper by Edgar Codd) are here to stay. Moreover, I think SQL will even see some sort of comeback in the near years.
I have to confess, I love boring "unsexy" technology in general. You can make it do magical things. For example, at the time of this writing our SaaS app sends almost 30,000 (30 thousand) emails every hour. This is 8-10 emails per second. And we don't use cloud platforms like Mailgun or SES or - what else there is, Sendgrid? - nope. We use a boring Postfix service running on a Ubuntu server that costs us a penny, I blogged about this here.
Back to SQL: a couple of years ago we've exceeded a thousand customers just for the SaaS version of our help desk product. This means that a thousand companies are flocking into our software - all at the same time. Every company has dozens, sometimes hundreds of "help desk agents" and thousands of end users. This translates into hundreds of thousands of "DAU" - daily active users.
There are 50 million tickets in the database and each ticket has a thread of 10-20 messages attached to it, resulting in half a billion entries just in the "messages" table alone. This scale makes me lose my sleep, but all this data (including the full-text search) lives in a single SQL database, which is spinning on an average quad-core machine, that is way less powerful than my gaming laptop.
Thank you SQL. With index tuning, proper partitioning, some "execution plan" analysis and caching - you help us build wonderful things reliably.
"SQL seems to be the most long-lasting skill in the IT industry"