Against SQL
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: 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. Talking about expressiveness is usually difficult, since it's a very subjective measure. But SQL is a particularly inexpressive language. Many simple types and computations can't be expressed at all. Others require far more typing than they need to. And often the structure is fragile - small changes to the computation can require large changes to the code. Let's start with the easiest examples - things that can't be expressed in SQL at all. For example, SQL:2016 added support for json values. In
TLDR The relational model is great: A shared universal data model allows cooperation between programs written in many different languages, running on different machines and with different lifespans. Normalization allows updating data without worrying about forgetting to update derived data. Physical data independence allows changing data-structures and query plans without having to change all of your queries. Declarative constraints clearly communicate application invariants and are automatically enforced. Unlike imperative languages, relational query languages don't have false data dependenci
saved by
related reading
- The Case of a Curious SQL Query • Buttondownbuttondown.email
- It's not you, it's SQLstack.convex.dev
- Building data-centric apps with a reactive relational databaseriffle.systems
- Everything I know about good system designseangoedecke.com
- SQL as APIvalentin.willscher.de
- Python: Just write SQLjoaodlf.com
- Databases are Fucking Stupid | Probably Danceprobablydance.com
- Wesley Aptekar-Cassels | Consider SQLiteblog.wesleyac.com
- The key technologies behind SQL Comprehension | dbt Developer Blogdocs.getdbt.com
- Against Query Based Compilersmatklad.github.io
- SQL vs NoSQL in 8 Examples | Towards Data Sciencetowardsdatascience.com
- What the heck are you actually using NoSQL for? - High Scalability -highscalability.com