2010-04-04 11 views
12

Zaczynam myśleć, że mój następny projekt, który chcę zrobić, będzie działał lepiej z rozwiązaniem NoSQL. Projekt obejmowałby tonę tabel 2-kolumnowych lub mnóstwo dynamicznych zapytań z dynamicznie generowanymi kolumnami w tradycyjnej bazie danych SQL. Więc czuję, że baza danych NoSQL byłaby znacznie czystsza.Zrozumienie MongoDB (i ogólnie NoSQL) i jak najlepiej z niego korzystać

Patrzę na MongoDB i wygląda całkiem obiecująco. W każdym razie próbuję zrozumieć to wszystko. Ponadto będę używać MongoMapper w Ruby.

W każdym razie, jestem zdezorientowany, jak układać rzeczy w tak swobodnej bazie danych. Przeczytałem NoSQL best practices i odpowiedź tam mówi, że normalizacja jest zwykle zła w DB NoSQL. Jak więc najlepiej przygotować się do napisania prostego bloga z użytkownikami, postami i komentarzami?

Moja naturalna myśl polegała na posiadaniu trzech kolekcji dla każdej z nich, a następnie łączenia ich za pomocą unikalnego identyfikatora. Ale to najwyraźniej jest złe? A więc, jakie są sposoby na takie ułożenie? Moja troska o odpowiedź udzieloną w drugim pytaniu brzmi: co jeśli zmieniłoby się nazwisko autora? Trzeba będzie przejść przez aktualizację tonę postów i komentarzy. Ale czy jest to w porządku z NoSQL?

Odpowiedz