MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

NoSql-Referenzdaten

Ihre Daten sind eindeutig relational:Ein Artikel hat einen Autor. Sie können Ihre Daten in einem NOSQL-Speicher wie MongoDB genauso modellieren wie in einem relationalen Speicher, ABER da es keine Joins in der Datenbank gibt, müssen Sie die Datenbank zweimal aufrufen, damit Sie nichts gewonnen haben.

ABER ... was Sie mit einem NOSQL-Speicher tun KÖNNEN, ist, die Daten etwas zu denormalisieren, um eine verbesserte Leistung zu erzielen (ein einziger Roundtrip, um alles zu erhalten, was Sie zum Anzeigen des Artikels benötigen), ABER auf Kosten der sofortigen Konsistenz:Abwägen immer des genauen Autors Namen für eventuell genaue Autorennamen.

Sie könnten zum Beispiel Folgendes in Ihrem Artikel verwenden:

author: {firstName: "Smarty", lastName: "Pants", _id:DE342624EF }

Jetzt können Sie den Artikel wirklich schnell anzeigen und wenn jemand seinen Namen ändert, können Sie entweder eine Hintergrundaufgabe starten, um alle vorhandenen Artikel zu aktualisieren, oder Sie können warten, bis ein regelmäßiger Konsistenz-Sweep das Problem behoben hat.

Viele große Websites geben Ihnen nicht mehr sofort Konsistenz. Es gibt Änderungen, die Sie vornehmen, die letztendlich nur von den anderen Benutzern der Website gesehen werden.