The Case Against SQL


Long-time Slashdot reader RoccamOccam shares "an interesting take on SQL and its issues from Jamie Brandon (who describes himself as an independent researcher who’s built database engines, query planners, compilers, developer tools and interfaces).

It’s title? "Against SQL."The relational model is great… But SQL is the only widely-used implementation of the relational model, and it is: Inexpressive, Incompressible, Non-porous. This isn’t just a matter of some constant programmer overhead, like SQL queries taking 20% longer to write. The fact that these issues exist in our dominant model for accessing data has dramatic downstream effects for the entire industry:

  • Complexity is a massive drag on quality and innovation in runtime and tooling
  • The need for an application layer with hand-written coordination between database and client renders useless most of the best features of relational databases

The core message that I want people to take away is that there is potentially a huge amount of value to be unlocked by replacing SQL, and more generally in rethinking where and how we draw the lines between databases, query languages and programming languages…

I’d like to finish with this quote from Michael Stonebraker, one of the most prominent figures in the history of relational databases:

“My biggest complaint about System R is that the team never stopped to clean up SQL… All the annoying features of the language have endured to this day. SQL will be the COBOL of 2020…”
It’s been interesting to follow the discussion on Twitter, where the post’s author tweeted screenshots of actual SQL code to illustrate various shortcomings. But he also notes that “The SQL spec (part 2 = 1732) pages is more than twice the length of the Javascript 2021 spec (879 pages), almost matches the C++ 2020 spec (1853) pages and contains 411 occurrences of ‘implementation-defined’, occurrences which include type inference and error propagation.”

His Twitter feed also includes a supportive retweet from Rust creator Graydon Hoare, and from a Tetrane developer who says “The Rust of SQL remains to be invented. I would like to see it come.”


I don’t really know what the problem. SQL isn’t perfect but it is sufficient for many tasks, that’s why it is so widely used. For more advanced or specific requirements there is PL/SQL, MongoDB etc.
I think this guy was just bored and had nothing else to write about. :laughing:

1 Like

I saw what he did there. CLSQL, SchemeQL could in the future replace SQL for good.