SQL To NOSQL İşlemi
-
Selam arkadaşlar, uzun yıllardır ilişkili database üzerinde çalışan biri olarak nosql denemeleri yapmak istiyorum. Bu konuda klasik bir ilişkili tablo dizaynını nosql sistemine uygun olarak convert nasıl edebiliriz? Yani mimari nasıl olmalıdır?
NoSQL tecrübeli arkadaşlar şunun şemasını nasıl çıkartırlar?
-
bende kullandıgın yazılımı merak ettım paylasabılırmısın sakıncası yoksa
-
online tool hocam https://dbdiagram.io/
-
Yanlış biiyorsam düzeltin ama RDBMS de oluşturuduğun tablo yapısını NOSQL çözümlerine zaten aktaramazsın. Biri ilişkisel tablolardan oluşuyor, diğeri şemasız insertlerden oluşuyor.
Var olan ilişkili tablolarını birleştirip tek bir tablo gibi tek bir insert ile nosql de insert edersen benzer bir yapıda veri saklayabilirsin.
Ama nosql de veri tekrarı olacaktır bundan emin olabilirsin.
Bide nosql için hangi db? Mongo felan mı?
-
DrKill bunu yazdı
Yanlış biiyorsam düzeltin ama RDBMS de oluşturuduğun tablo yapısını NOSQL çözümlerine zaten aktaramazsın. Biri ilişkisel tablolardan oluşuyor, diğeri şemasız insertlerden oluşuyor.
Var olan ilişkili tablolarını birleştirip tek bir tablo gibi tek bir insert ile nosql de insert edersen benzer bir yapıda veri saklayabilirsin.
Ama nosql de veri tekrarı olacaktır bundan emin olabilirsin.
Bide nosql için hangi db? Mongo felan mı?
Tek bir collectionda mı tüm işlemi bitireceğiz yani hocam? 5 ayrı table var şuan. Hadi ilan ve ilanresim aynı collection tamamda.
mongodb yada cosmosdb olacak.
-
cemnet bunu yazdıDrKill bunu yazdı
Yanlış biiyorsam düzeltin ama RDBMS de oluşturuduğun tablo yapısını NOSQL çözümlerine zaten aktaramazsın. Biri ilişkisel tablolardan oluşuyor, diğeri şemasız insertlerden oluşuyor.
Var olan ilişkili tablolarını birleştirip tek bir tablo gibi tek bir insert ile nosql de insert edersen benzer bir yapıda veri saklayabilirsin.
Ama nosql de veri tekrarı olacaktır bundan emin olabilirsin.
Bide nosql için hangi db? Mongo felan mı?
Tek bir collectionda mı tüm işlemi bitireceğiz yani hocam? 5 ayrı table var şuan. Hadi ilan ve ilanresim aynı collection tamamda.
mongodb yada cosmosdb olacak.
çok bir deneyimim olmadı nosql de ama gene söyleyeyim.
Normalde bu tür durumlarda tek collection içinde kullanman gerekir.
Ancak RDBMS deki gibi tablo sayısı kadar collection da oluşturabilirsin. Ama o zaman nosql kullanmanın faydası kalmaz zira performans faydası olmaz.
Daha deneyimli olanlar varsa beni düzeltir eğer yanlışsam.
-
sağol hocam cevabın için. bu işte tecrübeli arkadaş şart anlaşılan :)
-
doğru kurguda ikisini aynı anda kullanmalısın. amaçları birbirinden farklı. haliyle convert diye bi yaklaşım tam olarak doğru değil.
mesela facebook gibi bir sistem kurguladığını varsay;
ilişkisel olan veriler kullanıcılar, tanımlamalar vs. rdmbs de tutulur.
akış ise mongo üzerinde tutulabilir.
tabii nosql geniş bi terim. redis de bir nosql db, elastic search de bir nosql db. sundukları çözümler ise çok farklı.
-
Hybris bunu yazdı
doğru kurguda ikisini aynı anda kullanmalısın. amaçları birbirinden farklı. haliyle convert diye bi yaklaşım tam olarak doğru değil.
mesela facebook gibi bir sistem kurguladığını varsay;
ilişkisel olan veriler kullanıcılar, tanımlamalar vs. rdmbs de tutulur.
akış ise mongo üzerinde tutulabilir.
tabii nosql geniş bi terim. redis de bir nosql db, elastic search de bir nosql db. sundukları çözümler ise çok farklı.
Facebook o dataları nasıl tutuyo çok merak ediyorum, postlar like lar vs vs
-
yolbulucu bunu yazdıHybris bunu yazdı
doğru kurguda ikisini aynı anda kullanmalısın. amaçları birbirinden farklı. haliyle convert diye bi yaklaşım tam olarak doğru değil.
mesela facebook gibi bir sistem kurguladığını varsay;
ilişkisel olan veriler kullanıcılar, tanımlamalar vs. rdmbs de tutulur.
akış ise mongo üzerinde tutulabilir.
tabii nosql geniş bi terim. redis de bir nosql db, elastic search de bir nosql db. sundukları çözümler ise çok farklı.
Facebook o dataları nasıl tutuyo çok merak ediyorum, postlar like lar vs vs
-
NoSql kullanımında SQL tablolarının normalizasyon yapılmamış hallerini collection olarak oluşturabilirsin. Birden fazla veri tekrarı olacaktır, ancak tek bir sorgu ile o collectiona ait en sık kullanılan bilgileri (veya tamamını) almak işini kolaylaştırır.
Direkt olarak convert işlemi değil, öncelikle anlayışın değişmesi gerekiyor. Sonrasında mimarinin değişmesi gerekli, ilk olarak deneme amaçlı birşeyler yap, deneme yaparken zaten anlayışın değişmesi gerektiğini fark edeceksin.