OK, spróbuję zrobić to tak prosto, jak tylko mogę.
comming z MySQL i myślenia w tabelach, użyjmy następujący przykład:
Załóżmy, że mamy stronę internetową na rynku nieruchomości i jesteśmy wyświetlania listy domów
normalnie, chciałbym skorzystać z następujących tabel:
* domy - nieruchomości pod ręką
* właściciele - właściciel domu - jeden do wielu relacji z domami
* agencje - agencja pośrednictwa w obrocie nieruchomościami - wiele do wielu relacji z domami
* obrazy - relacja wiele do jednego z domami
* opinie - wiele relacji jeden do jednego z domami
Początkujący MongoDB - czy znormalizować, czy nie?
Rozumiem, że MongoDB zapewnia elastyczność w projektowaniu aplikacji internetowej w różnych kolekcjach z unikalnym identyfikatorem bardzo podobnym do relacyjnej bazy danych (znormalizowanej), a do szybkiego wybierania można zagnieździć się w kolekcji, powiązanych obiektach i danych (un-znormalizowany).
Powrót do naszej listy domów nieruchomości, zapytanie użyte do zapełnienia jest dość kosztowne w normalnym relacyjnym DB, dla każdego domu trzeba zapytać o jego obrazy, recenzje, agencje właściciela &, każda jednostka znajduje się w innej tabeli z jego pola, prawdopodobnie użyjesz złączeń i będziesz mieć wiele zapytań w jednym - Drogie!
Wprowadź MongoDB - tam, gdzie nie potrzebujesz złączeń, i możesz przechowywać wszystkie powiązane dane z domu w domu w kolekcji domów, wybór nigdy nie był szybszy, to db niebo!
Och - ale co się stanie, gdy trzeba będzie dodać/zaktualizować/usunąć powiązane recenzje/agencje/właściciela/obrazy?
jest to dla mnie tajemnicą, a jeśli muszę zgadywać, każda powiązana kolekcja istnieje na swojej własnej kolekcji na podstawie danych w tabeli domów, a gdy jeden z tych fragmentów powiązanych danych zostanie dodany/zaktualizowany/usunięty będziesz musiał zaktualizować go na swojej własnej kolekcji, a także na kolekcji domów.
Po tej aktualizacji - czy muszę również wysyłać zapytania do innych kolekcji, aby upewnić się, że aktualizuję rekord domu ze wszystkimi zaktualizowanymi powiązanymi danymi?
Jestem naprawdę zgadywania tutaj ... i docenić swoją opinię
dziękczynienie
uchylone