Nosql'de Kayıtları Update Etmek
-
selam arkadaşlar
ilişkili databaselerde çok kolay olan şu işlem nosql database kurgusunda nasıl yapılır?
örneğin ürünler ve kategoriler adında 2 tablo(collection) var.
rdbms databaselerde malum ürünler tablosunda "KategoriId" değeri atılır ve "Bilgisayar" kategori adını "bilgisayar bilimleri" olarak değiştirirsin sonra bütün ürünlerin yeni kategori adı güncellenmiş olur.
nosqlde bilgisayar adında bir nesne içine tanımlayarak short model product tablosuna kayıt edilir. 1 milyon tane bilgisayar productı varsa o "bilgisayar" yazısı kendini tekrar eder.
bu modelde "bilgisayar" adını değiştirmek istediğinizde 1 milyon productı tek tek güncellemek mi gerekecek? Siz nasıl yapıyorsunuz bu tip işlemleri?
soruyu acayip uzatarak yazdım kusura bakmayın :)
-
sorunu hiç anlamadım ama mongodan örnek vermek gerekirse, eğer search ettiğin alana index atarsan tüm kayıtları update etmen max 1 saniye sürecek zaten. hatta altyapına güveniyorsan writeconcern i 0 yaparak işine devam edebilirsin. (0 yaptığında updatenin bitmesini beklemezsin, işi mongod ye göndermiş olursun o arkada halleder)
-
nosql data tekrarının dezavantajlarından biri sanırım bu. çözüm olarak 1 milyon kaydı tespit edip hepsine update atmak gerekecek.
-
cemnet bunu yazdı
nosql data tekrarının dezavantajlarından biri sanırım bu. çözüm olarak 1 milyon kaydı tespit edip hepsine update atmak gerekecek.
Bunun bir dezavantaj olup olmadığı tartışmalı asıl soru madem kategorilendirme kullanacaksın neden ilişkilendirmedin?
https://docs.mongodb.com/manual/applications/data-models-relationships/
Yani nosql oldu diye ilişkisel model kullanmayacağım diye bir durum yok.
Eğer sen verini normalizasyonla kaydetmiş olsaydın böyle bir sorun yaşamayacaktın:
products:
Product | CategoryID
Bilgisayar | 1
Notebook | 1
3D Yazıcı | 2
-------
categories:
ID | Name
1 | Bilgisayar
2 | OEM
Bu durumun relational/ilişkisel cart curt veritabanıyla alakası yok hocam. Bu durumun ismi veritabanı normalizasyonu. Sen bu durumu .txt dosyalarını klasörlerken bile kullanabilirsin. Bu bir standarttır
-
cemnet bunu yazdı
nosql data tekrarının dezavantajlarından biri sanırım bu. çözüm olarak 1 milyon kaydı tespit edip hepsine update atmak gerekecek.
şimdi tekrar okuduğumda anladım soruyu. böyle bir senaryoda nosql neden kullanıyosun ki ?