sql >> Databasteknik >  >> NoSQL >> MongoDB

NoSql referensdata

Dina uppgifter är tydligt relationella:en artikel har en författare. Du kan modellera din data i en NOSQL-butik som MongoDB på precis samma sätt som du skulle göra i en relationsbutik MEN eftersom det inte finns några joins i databasen måste du göra två anrop till databasen så att du inte har fått någonting.

MEN ... det du KAN göra med en NOSQL-butik är att denormalisera data något för att få förbättrad prestanda (en enda rundresa för att få allt du behöver för att visa artikeln) MEN på bekostnad av omedelbar konsistens:byt ut alltid korrekt författare namn för så småningom korrekta författarnamn.

Du kan till exempel använda detta i din artikel:

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

Nu kan du visa artikeln riktigt snabbt och när någon ändrar sitt namn kan du antingen starta en bakgrundsuppgift för att uppdatera alla befintliga artiklar eller så kan du vänta på ett regelbundet konsistenssvep för att fixa det.

Många stora webbplatser ger dig inte längre omedelbar konsekvens. Det finns ändringar som du gör som bara så småningom kan ses av de andra användarna på webbplatsen.



  1. mongo db (mongodb.service) misslyckades, status 14

  2. redis cluster reshard [ERR] Anropar MIGRATE:ERR Syntaxfel

  3. mongoDB:C#-drivrutin V2 Hur man uppdaterar objekt i en kapslad samling

  4. Mappa en "array av objekt" till en enkel uppsättning nyckelvärden