Ho letto / guardato molti contenuti di Robert C. Martin. Mi sono imbattuto in lui dicendo che SQL non è necessario a causa delle unità a stato solido. Quando cerco altre fonti per eseguire il backup, ricevo un mucchio di articoli casuali che descrivono la differenza delle prestazioni SQL tra dischi rigidi e unità a stato solido (che è correlata ma non è ciò che sto cercando di ricercare).
Alla fine, non capisco a cosa stia cercando di arrivare. Sta dicendo sostituire SQL con le tecnologie No-SQL? Sta dicendo archiviare i dati in file in un file system? Oppure vuole semplicemente smettere di usare i database SQL / Relational a causa degli attacchi SQLi? Temo di perdere il punto che sta cercando di chiarire.
Fornirò alcuni link qui in modo che tu possa leggere direttamente dalla sua mente:
Innanzitutto, afferma che SQL dovrebbe essere rimosso completamente dal sistema.
La soluzione. L'unica soluzione È eliminare completamente SQL dal sistema. Se non esiste un motore SQL, non possono esserci attacchi SQLi.
E anche se parla della sostituzione di SQL con un'API, NON penso che significhi mettere SQL dietro un'API a causa di quella citazione precedente e di ciò che dice prima nell'articolo.
I frame non gestiscono il problema; ...
Nota a margine: nel dire SQL, sono abbastanza sicuro che Robert significhi la maggior parte dei database relazionali. Forse non tutti ma soprattutto. In ogni caso, la maggior parte delle persone utilizza comunque SQL. così...
Se SQL non viene utilizzato per persistere nei dati, cosa dovremmo usare?
Prima di rispondere, dovrei anche notare. Robert sottolinea che le unità a stato solido dovrebbero cambiare gli strumenti che utilizziamo per mantenere i dati. La risposta di Søren D. Ptæus lo sottolinea.
Devo anche rispondere al gruppo "ma integrità dei dati". Su alcune ulteriori ricerche, Robert afferma che dovremmo usare database transazionali come Datomic . Quindi CRUD si trasforma in CR (crea e leggi) e le transazioni SQL scompaiono del tutto. L'integrità dei dati è ovviamente importante.
Non riesco a trovare una domanda che racchiuda tutto questo. Immagino che sto cercando alternative che corrispondano alle linee guida di Robert. Datomic è uno ma è quello? Quali altre opzioni corrispondono a queste linee guida? E funzionano davvero meglio con le unità a stato solido?
eval(request.GET["table_name"] + ".get(pk=" + request.GET["pk"] + ")"))
. Non è SQL che è davvero in colpa, ma programmatori poveri e ignoranti.