Her birinin kendine özgü güçlü ve zayıf yönleri olan birçok NoSQL çözümü vardır, bu nedenle aşağıdakilerin bir tuz tuzu ile alınması gerekir.
Ancak, esasen, birçok NoSQL veritabanının yaptığı, denormalizasyona dayanmak ve denormalize edilmiş durum için optimize etmeye çalışmaktır. Örneğin, bir blog gönderisini, yorumlarıyla birlikte belge odaklı bir veritabanında okuduğunuzu varsayalım. Çoğu zaman, yorumlar gönderinin kendisi ile birlikte kaydedilir. Bu, aynı yerde depolandıkları için hepsini bir araya getirmenin daha hızlı olacağı ve bir birleşme gerçekleştirmeniz gerekmediği anlamına gelir.
Elbette, SQL'de de aynı şeyi yapabilirsiniz ve performansa ihtiyaç duyulduğunda normalleştirme normal bir uygulamadır. Sadece birçok NoSQL çözümü her zaman bu şekilde kullanılacak şekilde tasarlandı. Daha sonra olağan takaslar elde edersiniz: örneğin yukarıdaki örnekte bir yorum eklemek daha yavaş olacaktır çünkü tüm belgeyi onunla birlikte kaydetmeniz gerekir. Ve bir kez normalize edildikten sonra, uygulamanızdaki veri bütünlüğünü korumaya özen göstermelisiniz.
Ayrıca, birçok NoSQL çözümünde, isteğe bağlı katılımlar, dolayısıyla isteğe bağlı sorgular yapmak mümkün değildir. CouchDB gibi bazı veritabanları, ihtiyaç duyacağınız sorguları önceden düşünmenizi ve bunları DB içinde hazırlamanızı gerektirir.
Sonuç olarak, bu denormalize bir şema beklemek ve bu durum için okumaları optimize etmekle kaynaşıyor ve bu durum yüksek derecede ilişkisel olmayan ve yazı yazmaktan daha fazla okuma gerektiren veriler için iyi çalışıyor.