TL; DR
RDBMS'de normalleşme, ilişkisel paradigmanın güçlü yönlerinden yararlanmanıza izin verir.
NoSQL'deki denormalizasyon, NoSQL paradigmasının güçlü yönlerinden yararlanmanıza izin verir.
Uzun cevap
RDBMS harikadır çünkü benzersiz yapılandırılmış varlıkları (değiştirilebilir veya değil) ve birbirleriyle ilişkilerini modellemenizi sağlar. Bu, varlık düzeyinde çalışmak, özelliklerini güncellemek, başka bir tane eklemek, bir tane silmek, vb. İçin çok kolay olduğu anlamına gelir. Ancak, aynı zamanda sahiplerini içeren bir köpek, içinde yaşadıkları evlerin bulunduğu bir köpek vb. RDBMS size tüm bunları kolaylaştırmak için araçlar sunar. Sizin için katılacak, sizin için varlıklardaki atomik değişiklikleri ele alacak.
NoSQL veritabanları mükemmeldir çünkü yarı / yapılandırılmamış kümeleri ve dinamik varlıkları modellemenizi sağlar. Bu, sürekli değişen varlıkları, aynı öznitelikleri paylaşmayan varlıkları ve hiyerarşik kümeleri modellemek için çok kolaydır.
NoSql modellemesi için, varlıklar ve ilişkiler yerine hiyerarşi ve kümeler açısından düşünmeniz gerekir. Yani, kişi, kiralık adres ve aralarında bir ilişki yok. Her bir kişi için hangi kiralama adreslerini topladıklarını bildiren kiralık kayıtlarınız var.
Sormanız gerekir, birlikte hangi verileri değiştirmem gerekecek. Hangi veriler mantıksal olarak diğer verileri gruplandırıyor? Senin durumunda bir kişi iyi bir toplu gibi geliyor. Verinin geri kalanına yönelik mantıksal giriş noktası nedir.
NoSQL, diyelim ki, kendine ait başka şeyleri olan bir şeyi saklayın. Bana tüm şeylerin hiyerarşisini geri ver. İstediğim gibi değiştirmeme izin ver, şimdi tüm şey hiyerarşisini değiştirilenle değiştir. Sana verdiği tek şey bu. Neden faydalıdır? Sahip olduğunuz şey, her zaman bir bütün olarak etkileşime girdiğiniz şeylerin hiyerarşisi ise. Ya da kitlesel ölçeklemeniz gerekiyorsa.
RDBMS'in size sunduğu her şey, kodu ve şemanızı manuel olarak uygulamanız gerekir. Bir yığın topluluğa ihtiyacınız olursa, koda katılmanız gerekir. Bir topluluğun yalnızca bir kısmına ihtiyacınız varsa ayrıştırmanız gerekir. Yinelenen şeyleri istemiyorsanız benzersizliği kendiniz kontrol etmeniz gerekir. Agregalar vb. Arasında çalışırken kendi işlem mantığınızı uygulamanız gerekir.
İhtiyacınız olan her şeyle birlikte büyük bir masaya sahip olmak NoSql'e gitmenin yoludur. Atomisite sadece bu seviyede garanti edildiğinden ve performans da. İlişkilerinizi erken anlamak çok önemlidir. Bu denormalizasyon nedir.
RDBMS'de, denormalizasyon, DB'nizi etkin bir şekilde NoSQL'e saklar. Yani normalde bunun tam tersini, yani normalleşmeyi istiyorsunuz. Bunu yapmazsanız, bunun yerine NoSQL DB kullanıyor olmalısınız. İkisine de ihtiyacın yoksa.