Thursday, October 12, 2023

SQL: time for changes?

interesting, very opinionated, article

 Against SQL

"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."

solution?
  • Everything is an expression.
  • Variables and functions have compact syntax.
  • Few keywords - most things are stdlib functions rather than builtin syntax.
  • Have an explicit type system rather than totally disjoint syntax for scalar expressions vs table expressions.
  • ...

No comments: