sql >> Databasteknik >  >> NoSQL >> MongoDB

Vad betyder Document-oriented vs Key-Value när man talar om MongoDB vs Cassandra?

Ett nyckelvärdelager ger den enklaste möjliga datamodellen och är precis vad namnet antyder:det är ett lagringssystem som lagrar värden indexerade med en nyckel. Du är begränsad till nyckelfråga och värdena är ogenomskinliga , butiken vet inte något om dem. Detta tillåter mycket snabba läs- och skrivoperationer (enkel diskåtkomst) och jag ser den här modellen som en sorts icke-flyktig cache (dvs väl lämpad om du behöver snabba åtkomster med nyckel till långlivade data).

En dokumentorienterad databas utökar den tidigare modellen och värden lagras i en strukturerad format (ett dokument, därav namnet) som databasen kan förstå. Ett dokument kan till exempel vara ett blogginlägg och kommentarerna och taggarna lagras på ett denormaliserat sätt. Eftersom uppgifterna är transparenta , kan butiken göra mer arbete (som att indexera dokumentets fält) och du är inte begränsad till att söka efter nyckel. Som jag antydde tillåter sådana databaser att hämta en hel sidas data med en enda fråga och är väl lämpade för innehållsorienterade applikationer (vilket är anledningen till att stora sajter som Facebook eller Amazon gillar dem).

Andra typer av NoSQL-databaser inkluderar kolumnorienterade butiker , grafdatabaser och till och med objektdatabaser . Men detta går utöver frågan.

Se även



  1. mongodb:kommer limit() att öka frågehastigheten?

  2. mongodb:bästa sättet att få specifika dokument och sedan resten

  3. Model.find är inte en funktion i mongoose

  4. Hur kör man fulltextsökkommando i MongoDB med Java Driver?