2013-07-13 36 views
7

Tamam, ben denemek ve elimden geldiğince bu kadar düz ileri yapacağım.
en biz bir emlak web sitesi var ve biz ı aşağıdaki tabloları kullanmayı tercih ediyorum, normalde evlerin
listesini görüntüleyen olduğunuzu düşünelim: mySql geliyorsun ve tablolarda düşünme
aşağıdaki örneği kullanalım
* evler - eldeki emlak varisi
* Sahipleri - ev sahibi - evden bire çok ilişki
* acenteler - emlak acentaları ajansı - çoktan çoğa evler ile ilişkiler
* images - evler ile bire bir ilişki
* yorumlar - evler ile bire bir ilişki
MongoDB acemi - normale döndürmek mi normalleştirmek mi?

MongoDB'nin web uygulamanızı farklı koleksiyonlarda benzersiz bir kimlikle ilişkisel bir veritabanı (normalize) gibi tasarlama esnekliği sağladığını ve hızlı seçimlerden yararlanabilmeniz için bir koleksiyona, ilgili nesnelere ve verilere sığabileceğinizi anlıyorum (un-normalize).
bizim emlak evler listesine geri, bu normal bir ilişkisel DB, oldukça pahalı olduğunu, her ev için kendi görüntüleri, değerlendirme, sahibi & ajansları sorgulamak gerekir, her varlık farklı bir tabloda bulunan alanları, büyük olasılıkla birleştirmeler kullanırsınız ve bir araya getirilmiş birden çok sorguya sahip olursunuz - Pahalı!
MongoDB'yi girin - katılmalarına ihtiyacınız yok ve ev koleksiyonundaki bir evin içindeki tüm ilgili bilgileri ev koleksiyonunda saklayabilirsiniz, seçim asla daha hızlı değildi, bu bir db cennetidir!
Oh - ama ne ilişkin yorumlar/ajansları/sahibi/görüntü// güncelleme ekleme, silme gerektiğinde olur?
bu benim için bir gizemdir ve tahmin etmem gerekirse, ilgili her koleksiyon kendi tablosu üzerinde kendi evinin tablosunda yer alır ve bu verilerden biri eklendiğinde/güncellendikten/silindikten sonra ev koleksiyonunun yanı sıra kendi koleksiyonunda da güncellemeniz gerekecek. Bu güncelleme üzerine
- Ben tüm güncel ilgili verilerle ev kaydını güncel ediyorum emin olmak için aynı zamanda diğer koleksiyonları sorgulamak gerekiyor? hangi varlık egzersiz (ya da kişiler) kahraman (lar)

olan

:
Gerçekten bu yaklaşım deneyin

cevap