2010-09-18 21 views
1

Dans CouchDB, vous devez toujours utiliser map reduce pour interroger les résultats.Quand ai-je besoin de réduire la carte pour les requêtes de base de données?

Dans MongoDB, vous pouvez utiliser leurs méthodes de requête pour récupérer des données, mais elles vous permettent également de réduire la carte.

Je me demande, quand ai-je vraiment besoin de réduire la carte?

Ces méthodes de requête sont-elles différentes de map-reduce ou sont-elles simplement des wrappers pour les fonctions de réduction de mappage?

+0

Est-ce encore une question? Map/reduce est une approche de traitement qui prend en charge le parallélisme. Ce n'est pas un type de fonction particulier, mais une approche. –

+0

@Tim: J'avais des points d'interrogation? –

Répondre

2

MapReduce est nécessaire pour les agrégations dans MongoDB. Les requêtes normales suivent un chemin de code très différent (et beaucoup plus rapide) et doivent toujours être utilisées pour les opérations en temps réel. MapReduce n'est définitivement pas prévu pour le temps réel, c'est plus pour les travaux par lots. Techniquement, vous pouvez écrire toutes vos requêtes en utilisant MapReduce, mais ce serait à la fois douloureux et lent.

+0

Merci pour l'explication. Je me posais également la question de savoir si utiliser map-reduce pour le traitement en temps réel, car vous ne le remarquerez pas en cours de développement. –

+0

Vous avez dit que MapReduce serait écrit par PITA pour chaque requête. N'est-ce pas ce que vous faites dans CouchDB? –