我一直在阅读/观看Robert C. Martin的很多内容。我碰到他说,由于固态硬盘,SQL是不必要的。当我搜索其他资源以进行备份时,我会收到大量随机文章,描述硬盘驱动器和固态驱动器之间的SQL性能差异(相关但与我要研究的内容无关)。
最终,我不明白他在试图达到什么目的。他是说用No-SQL技术取代SQL吗?他是说在文件系统中的文件中存储数据吗?还是他只是希望人们因为SQLi攻击而停止使用SQL /关系数据库?我担心我错过了他想表达的观点。
我将在此处提供一些链接,以便您可以直接从他的心中读懂:
首先,他指出应该从系统中完全删除SQL。
解决方案。唯一的解决方案。是从系统中完全消除SQL。如果没有SQL引擎,那么就不会有SQLi攻击。
并且尽管他谈论使用API替换SQL,但我不认为他的意思是将SQL放在API后面,因为前面的引用以及他在本文前面所说的。
框架无法解决问题; ...
旁注:在说SQL时,我很确定Robert意味着大多数关系数据库。也许不是全部,而是大多数。无论如何,大多数人还是使用SQL。所以...
如果不使用SQL来持久化数据,那么我们应该使用什么呢?
在回答之前,我还应该注意。罗伯特(Robert)强调,固态驱动器应该改变我们用来持久化数据的工具。SørenD.Ptæus的回答指出了这一点。
我还必须回应“但是数据完整性”组。经过进一步研究,罗伯特说我们应该使用像datomic这样的事务数据库。然后,CRUD变成CR(创建和读取),并且SQL事务完全消失。数据完整性当然很重要。
我找不到涵盖所有这些的问题。我想我正在寻找符合罗伯特指南的替代方案。Datomic是一个,但是是吗?还有哪些其他选项与这些准则匹配?它们在固态驱动器上是否更好地工作?
eval(request.GET["table_name"] + ".get(pk=" + request.GET["pk"] + ")"))
。真正的错误不是SQL而是错误的,无知的程序员。