MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Początkujący MongoDB - normalizować czy nie normalizować?

Wypróbuj to podejście:

Sprawdź, który podmiot (lub podmioty) są bohaterami

Z „bohaterem” mam na myśli podmiot (y), wokół którego koncentruje się baza danych. Weźmy twój przykład. Bohaterem przykładu nieruchomości jest dom*.

Opracuj prawa własności

Przejrzyj inne podmioty, takie jak właściciel, agencja, zdjęcia i recenzje i zadaj sobie pytanie, czy jest sensowne umieszczanie ich informacji razem z domem. Czy miałbyś kaskadowe usuwanie któregoś z kluczy obcych w Twojej relacyjnej bazie danych? Jeśli tak, oznacza to własność.

Sprawdź, czy denormalizacja danych ma rzeczywiście znaczenie

Będziesz mieć dane agencji (i prawdopodobnie właściciela) rozmieszczone w wielu domach. Czy to ma znaczenie?

Twoja kolekcja domów prawdopodobnie będzie wyglądać tak:

house: {
owner,
agency,
images[], // recommend references to GridFS here
reviews[] // you probably won't get too many of these for a single house
}

*Właściwie jest to prawdopodobnie reklama domu (ponieważ domy są zazwyczaj reklamowane w witrynach z nieruchomościami i prawdopodobnie tym jesteś naprawdę zainteresowany), więc rozważ to



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongorestore do innej bazy danych

  2. Wyodrębnij dziesiętny z dziesiętnego128 za pomocą Mongoose - MongoDB

  3. Django - MongoDB:(nie można połączyć się z hostem lokalnym:27017) Połączenie odrzucone

  4. Maksymalna liczba baz danych obsługiwanych przez MongoDB

  5. Jak wyświetlić listę wszystkich kolekcji w powłoce MongoDB?