Eu tenho lido / assistido muito conteúdo de Robert C. Martin. Eu o encontrei dizendo que o SQL é desnecessário por causa de unidades de estado sólido. Quando pesquiso outras fontes para fazer backup disso, recebo vários artigos aleatórios que descrevem a diferença de desempenho do SQL entre discos rígidos e unidades de estado sólido (que está relacionada, mas não é o que estou tentando pesquisar).
Por fim, não entendo o que ele está tentando entender. Ele está dizendo substituir SQL por tecnologias No-SQL? Ele está dizendo armazenar dados em arquivos em um sistema de arquivos? Ou ele só quer que as pessoas parem de usar bancos de dados SQL / relacionais devido a ataques SQLi? Receio estar perdendo o argumento que ele está tentando fazer.
Vou fornecer alguns links aqui para que você possa ler diretamente de sua mente:
Primeiro, ele afirma que o SQL deve ser removido completamente do sistema.
A solução. A única solução. É eliminar completamente o SQL do sistema. Se não houver mecanismo SQL, não haverá ataques SQLi.
E embora ele fale sobre substituir o SQL por uma API, NÃO acho que ele queira colocar o SQL por trás de uma API por causa da citação anterior e do que ele disse anteriormente neste artigo.
As estruturas não lidam com o problema; ...
Nota lateral: Ao dizer SQL, tenho certeza que Robert significa a maioria dos bancos de dados relacionais. Talvez não todos, mas a maioria. De qualquer forma, a maioria das pessoas está usando o SQL de qualquer maneira. tão...
Se o SQL não está sendo usado para persistir dados, o que devemos usar?
Antes de responder a isso, devo observar também. Robert enfatiza que as unidades de estado sólido devem alterar as ferramentas que usamos para manter os dados. A resposta de Søren D. Ptæus aponta isso.
Também devo responder ao grupo "mas a integridade dos dados". Após algumas pesquisas, Robert diz que devemos usar bancos de dados transacionais como o datômico . Em seguida, o CRUD se transforma em CR (criar e ler) e as transações SQL desaparecem completamente. A integridade dos dados é obviamente importante.
Não consigo encontrar uma pergunta que englobe tudo isso. Acho que estou procurando alternativas que correspondam às diretrizes de Robert. Datomic é um, mas é isso? Que outras opções correspondem a essas diretrizes? E eles realmente funcionam melhor com unidades de estado sólido?
eval(request.GET["table_name"] + ".get(pk=" + request.GET["pk"] + ")"))
. Não é realmente o SQL que falha, mas os programadores pobres e ignorantes.