Çok fazla Robert C. Martin içeriği okuyordum / izliyorum. Ona katı hal sürücülerinden dolayı SQL'nin gereksiz olduğunu söyleyerek rastladım. Bunu desteklemek için başka kaynaklar ararken, sabit diskler ve yarıiletken sürücüler arasındaki SQL performansının farkını anlatan bir grup rastgele makale alıyorum (ki bunlar ilişkili ama araştırmaya çalıştığım değil).
Sonunda, neye ulaşmak istediğini anlamıyorum. SQL'in yerini No-SQL teknolojisiyle mi değiştiriyor? Bir dosya sistemindeki dosyalarda veri depolamak mı diyor? Yoksa sadece insanların SQLi saldırıları nedeniyle SQL / İlişkisel Veritabanlarını kullanmayı bırakmasını mı istiyor? Korkarım yapmaya çalıştığı noktayı özlüyorum.
Burada bazı linkler vereceğim, böylece onun aklından direkt olarak okuyabilirsiniz:
İlk olarak, SQL'in sistemden tamamen kaldırılması gerektiğini belirtir.
Çözüm. Tek çözüm. SQL sistemden tamamen ortadan kaldırmaktır. SQL motoru yoksa, SQLi saldırısı olamaz.
SQL'i bir API ile değiştirmek hakkında konuşsa da, önceki alıntı ve makalede daha önce söylediklerinden dolayı SQL'i bir API'nin arkasına koymak demek DEĞİLDİR.
Altyapılar konuyla ilgilenmez;
Not: SQL derken, Robert'ın en ilişkisel veritabanları anlamına geldiğinden eminim. Belki hepsi değil, çoğu. Her durumda, çoğu kişi yine de SQL kullanıyor. yani...
Eğer veriyi sürdürmek için SQL kullanılmıyorsa, ne kullanmamız gerekiyor?
Bunu cevaplamadan önce, ayrıca not etmeliyim. Robert, katı hal sürücülerinin, verileri sürdürmek için kullandığımız araçları değiştirmesi gerektiğini vurgulamaktadır. Søren D. Ptæus'un cevabı bunu gösteriyor.
Ayrıca "ama veri bütünlüğü" grubuna da cevap vermeliyim. Bazı araştırmalar sonrasında , Robert datomic gibi işlemsel veritabanlarını kullanmamız gerektiğini söylüyor . Daha sonra CRUD, CR'ye dönüşür (yarat ve oku) ve SQL işlemleri tamamen ortadan kalkar. Veri bütünlüğü elbette önemlidir.
Tüm bunları kapsayan bir soru bulamıyorum. Galiba Robert’ın kurallarına uygun alternatifler arıyorum. Datomik bir değil mi? Bu yönergelere uygun başka hangi seçenekler var? Ve aslında katı hal sürücülerle daha iyi çalışıyorlar mı?
eval(request.GET["table_name"] + ".get(pk=" + request.GET["pk"] + ")"))
. Gerçekten hatalı olan ama fakir, cahil programcılar olan SQL değil.