sql >> Database >  >> NoSQL >> MongoDB

Wat betekent documentgericht versus sleutelwaarde als we het hebben over MongoDB versus Cassandra?

Een sleutelwaardewinkel biedt het eenvoudigst mogelijke gegevensmodel en is precies wat de naam doet vermoeden:het is een opslagsysteem dat waarden opslaat die zijn geïndexeerd door een sleutel. U bent beperkt tot zoekopdrachten op sleutel en de waarden zijn ondoorzichtig , de winkel weet niets over hen. Dit maakt zeer snelle lees- en schrijfbewerkingen mogelijk (een eenvoudige schijftoegang) en ik zie dit model als een soort niet-vluchtige cache (d.w.z. zeer geschikt als u snelle toegang per sleutel tot langlevende gegevens nodig hebt).

Een document-georiënteerde database breidt het vorige model uit en waarden worden opgeslagen in een gestructureerde formaat (een document, vandaar de naam) dat de database kan begrijpen. Een document kan bijvoorbeeld een blogpost zijn en de opmerkingen en de tags zijn op een gedenormaliseerde manier opgeslagen. Omdat de gegevens transparant zijn , kan de winkel meer werk doen (zoals het indexeren van velden van het document) en bent u niet beperkt tot zoekopdrachten op sleutel. Zoals ik al liet doorschemeren, maken dergelijke databases het mogelijk om de gegevens van een hele pagina op te halen met een enkele zoekopdracht en zijn ze zeer geschikt voor inhoudgerichte toepassingen (daarom vinden grote sites zoals Facebook of Amazon ze leuk).

Andere soorten NoSQL-databases zijn onder meer kolomgeoriënteerde winkels , grafiekdatabases en zelfs objectdatabases . Maar dit gaat verder dan de vraag.

Zie ook



  1. Equivalent van ERD voor MongoDB?

  2. Mongodb-aggregatie:$reduce werkt niet zoals verwacht

  3. Hoe hervat ik een MongoDB ChangeStream bij het eerste document en niet alleen wijzigingen nadat ik ben begonnen met luisteren?

  4. Werkpaardproces werd onverwachts beëindigd RQ en Scrapy