Şifremi/Kullanıcı Adımı Unuttum
Bağlan Google+ ile Bağlan Facebook ile Bağlan
Şimdi Ara

Mongodb hakkında

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir Kullanıcı, 1 Masaüstü Kullanıcı
3
Cevap
0
Favori
126
Tıklama
Cevapla
Sayfaya Git:
Sayfa:
1
Giriş
Mesaj
  • Çavuş
    42 Mesaj
    Merhaba arkadaşlar, yeni yeni mongodb öğreniyorum fakat kafama takılan çok temel bir problem var; gordugum kadarıyla normal relational db'de foreing key olarak belirttigimiz bir veriyi mongoda butun bir sekilde embeded document olarak ekliyoruz ve bu da aynı verinin sürekli tekrar etmesine neden oluyor.

    duzgun anlatamamış olabilirim daha iyi anlaşılması için bir örnek vereyim;
    Mesela elimizde bir 'Product' ve 'Category' modelleri olsun.(Category, Product icerisinde instance)

    10 adet faklı category var ve db'de tutmamız gereken 1000 adet product oldugunu farz edelim.

    -- Relational db'de categoryi prodcut a foreing key olarak verdigimiz için toplam hafıza kapladığı yer : (1000 product + 10 category)

    -- Mongodb de ise category sub document olarak ekleneceğinden her bir product için bir de ayrı category yer kaplıyacak yani toplam alan : (1000 product + 1000 category + 10 category) olucak

    boyle bu sekilde fazla yer kaplaması kafamı karıştırdı. Benim yanlış algıladığım birşeyler mi var acaba? Bilen arkadaşlar aydınlatırsa sevinirim.



    |
    |
    _____________________________




  • Yüzbaşı
    382 Mesaj
    Merhaba,

    rdbms kullanilirken veritabani yapisi verilerin nasil saklanacagina gore yapilir ( normalizasyon ), nosql sistemlerinde ise nasil kullanacaginiza gore.
    eskiden veri tutacak alan ( sabit disk ) kisitli oldugu icin rdbms'ler buna uygun sekilde tasarlanmistir, pk-fk mantiginin sebeplerinden bir tanesi de bu.

    veri yapisini soylediginiz bicimde de tutabilirsiniz fakat nasil kullanacaginizi dusunun oncelikle. Atiyorum
    [
    {
    category : cat1,
    products: [ {p1}, {p2}]
    },
    {
    category : cat2,
    products: [ {p3}, {p4}, {p5}]
    }
    ]

    olarak da tutabilirsiniz ya da

    [
    {product:p1, category:cat1},
    {product:p2 category:cat1},
    ......
    {product:p3, category:cat2}
    ]

    ayni urun birden fazla kategori altinda olabilir mi vs. gibi senaryolar da var.

    Ozet gecersek eger, nosql sistemlerde veri tekrarindan, verinin cok yer kaplamasindan korkmayin. rdbms'ten nosql'e geciste en buyuk degisiklik veri yapisinin kullanima gore tutulmasi.



    < Bu mesaj bu kişi tarafından değiştirildi bestanealtcizgi -- 7 Şubat 2018; 14:21:47 >
    _____________________________




  • Çavuş
    42 Mesaj

    Şimdi anladım sanırım buradaki konsept diskten feragat edip hızdan kazanmak, teşekkürler.
    |
    |
    bestanealtcizgi kullanıcısının, bahsedilen mesajını gör
    _____________________________
  • Yarbay
    4462 Mesaj
    nosql esneklik demek. mongodb kullanmadım fakat json gibi program içinden kolay şekilde veri depolama imkanı sağlayan bir sistem. sorduğun soruya gelecek olursak, mongodb'de 'Product' ve 'Category' modelleri belirlemek gibi, bir şema belirlemek disk alanı harcamaz, disk yönetimini mongodb tasarımcıları en iyi sekilde tasarlamış olmalılar cunku en ufak sistemde dahi kullanılabiliyor mongodb.



    < Bu ileti mini sürüm kullanılarak atıldı >
    |
    |
    _____________________________
    Life is about having fun.
HızlıCevap
Sayfaya Git:
Sayfa:
1
Reklamlar
SEO
Mobilya Takımları
üniversite
google reklamları
haberler
Bu sayfanın
Mobil sürümü
Mini Sürümü

DHBR1
0,167
1.2.165

Reklamlar
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.