sql >> Database >  >> NoSQL >> MongoDB

MongoDB:Wat heeft het voor zin om MapReduce te gebruiken zonder parallellisme?

De belangrijkste reden om MapReduce te gebruiken in plaats van eenvoudigere of meer traditionele zoekopdrachten, is dat het gewoon dingen kan doen (d.w.z. aggregatie) die eenvoudige zoekopdrachten niet kunnen.

Zodra u aggregatie nodig heeft, zijn er twee opties met MongoDB:MapReduce en de groepsopdracht. Het group-commando is analoog aan SQL's "group by" en is beperkt in die zin dat het al zijn resultaten moet retourneren in een enkele databaserespons. Dat betekent dat groep alleen kan worden gebruikt als u minder dan 4 MB aan resultaten heeft. MapReduce daarentegen kan alles wat een "groeperen op" kan, maar voert resultaten uit naar een nieuwe verzameling, zodat de resultaten zo groot kunnen zijn als nodig is.

Er komt ook parallellisme, dus het is goed om wat te oefenen :)



  1. MongoDB geschatteDocumentCount()

  2. Meteor custom mongodb tijdens ontwikkeling

  3. Hoe alle ingesloten documentwaarde op te halen met behulp van het officiële C#-stuurprogramma voor MongoDB?

  4. findOneAndUpdate is geen functie