Dokumentendatenbank - Viele zu viele
-
27-10-2019 - |
Frage
Nehmen wir an, wir ahmen das Verhalten einer Viele-zu-Viele-Beziehung zwischen Users
und UserGroups
nach und speichern die IDs, in denen sich Benutzergruppen eines Benutzers befinden, im Benutzerdokument in einem Array.Wenn ich jetzt eine Benutzergruppe lösche, befindet sich die ID dieser Benutzergruppe weiterhin im Array im Benutzerdokument. Beeinträchtigt dies die Leistung zu jedem Zeitpunkt, an dem einige alte und nutzlose Werte im Array enthalten sind?
Lösung 2
Ich bin zu dem Schluss gekommen, dass ein generischer Codetagcode nicht für Beziehungen erstellt wurde.Ich habe mich stattdessen für eine objektorientierte Datenbank entschieden (db4o).
Andere Tipps
Es würde die Leistung in keiner Weise beeinträchtigen, da es sich nur um Daten handelt, die dort liegen.
Wenn es in einem Map / Reduce-Index enthalten wäre, der davon abhängt, ob die Beziehung erfüllt ist, könnte dies möglicherweise einen Effekt verursachen.Wenn dies jedoch der Fall wäre, würden Sie sofort eine Rückmeldung dazu erhalten, da der Index als fehlerhaft markiert wäre.
Wie speichern Sie aus Neugier die zugehörigen IDs?Speichern Sie sie als vollständigen Schlüssel oder nur als Schlüssel, wenn Sie wissen, was ich meine?Ich habe gesehen, dass Ayende den vollständigen Schlüsselansatz verwendet, aber ich weiß nicht, welcher Ansatz der beste ist.