2011-01-03 9 views
1

Ich habe gerade begonnen, MongoDB zu lernen, und ich mag die Idee, Sammlungen einzubetten, statt sie zu referenzieren.MongoDB: Embedding-Leistungsfrage

Die MongoDB-Dokumentation empfiehlt, die Einbettung zu verwenden, wenn Leistung benötigt wird.

Ich dachte nur an ein einfaches Forum-Modell. Nehmen wir an, jede Board-Kategorie hat mehrere Boards, jedes Board hat mehrere Themen und jedes Thema hat mehrere Nachrichten. Alle diese Sammlungen sind eingebettet.

Nach einiger Zeit wird die Größe der Board-Kategorie sehr groß sein. Viel mehr als die 2MB Grenze. Bedeutet das, dass es einen Fehler in diesem Design gibt?

Antwort

1

Ja, es ist ein schlechtes Design. Die Verwendung eines eingebetteten Dokuments für etwas, das jedes Mal wächst, ist ein schlechtes Design. Die Begrenzung des Dokuments wird von mongoDB mainteneur gemacht, um dieses Dokument zu vermeiden.

+0

In diesem Fall sollte stattdessen die Referenzierung der Sammlung verwendet werden, richtig? – Alex

+2

Sie haben Recht, aber Sie können nicht mit MongoDB verbinden – shingara