SQL

Eu entendo você querer uma forma de coletar que seja mais relacional e e simplificada, mas o SQL só trouxe mais problemas do que ajuda.

Servers

O primeiro problema não é nem relacionado ao SQL em si, mas aos servers que servem a linguagem e o banco de dados. Existem milhares e milhares de servers, e cada uma delas é uma merda por si só, sendo o PostegreSQL o menos fedorento. A configuração desses servidores é puro chorume, se você já configurou um server SQL você sabe o trabalho que essa porra dá. Porra, por que não fizeram um programa que executa a query em forma de comandos shell? Assim, você não teria que fazer um outro sistema de usuários por cima do seu sistema operacional e ainda eliminaria, pelo menos, metade de todo o trabalho da configuração do servidor.

Linguagem

Mas calma, a linguagem por si só é ruim. A linguagem é desenhada de forma a ser mais próxima do inglês, mas só que em muitos casos precisamos de uma coisa bem mais complexa que só uma query com alguns joins e então essa proximidade com o inglês ferra bastante com o trabalho, e não só isso, ele cria muitos termos e regras que escondem o seu real significado. Por exemplo, a primary key é um identificador que ajuda a coletar os dados. Isso faz parecer que a coluna que é primary key é uma coluna especial, sendo que na verdade não é (tirando o fato dela ser única, claro).

A pílula vermelha.

Quanto mais a fundo você vai nesse negócio de banco de dados, mais você percebe que SQL e outras ferramentas são apenas complicações retardadas em cima de operações de sistema de arquivos, e que você apenas está limitando o seu trabalho, pois operar sistemas de arquivos traz muito mais flexibilidade que server SQL.

Esses são alguns dos milhares de exemplos que você pode fazer com sistema de arquivos.