parallel-processing couchdb

parallel processing - Paralelamente CouchDB View Group Indexers



parallel-processing (2)

Me pregunto si es posible paralelizar realmente la indexación del grupo de vistas de CouchDB con la ayuda de varias máquinas.

Supongo que los diferentes indexadores podrían actualizar diferentes vistas, pero ¿también es posible que muchas máquinas trabajen en un único índice?

¿Cómo podría uno hacer eso? No encontré ninguna declaración en las guías de replicación o el manual.


Esto suena como una tarea para BigCouch de Cloudant .

Tomado de la descripción de BigCouch.

Si bien el usuario final lo ve como una instancia de Apache CouchDB , en realidad es uno o más nodos de BigCouch en un clúster elástico, actuando de forma concertada para almacenar y recuperar documentos, indexar y servir vistas, y para servir CouchApps.


Esto fue investigado en el pasado. El problema es que eventualmente, algo tiene que operar en serie para construir el árbol B ~ de tal manera que las consultas de rango en la vista indexada sean eficientes. Esta es una gran actividad de disco adicional y al final procesar los documentos secuencialmente (en un solo nodo) es el enfoque más efectivo, en lugar de copiar y combinar archivos grandes en un único árbol B ~ al final.

Parece totalmente extraño la primera vez que te das cuenta de que el algoritmo de reducción de mapas altamente paralelizable se está operando secuencialmente, ¡wat!

Como Octavian señaló que BigCouch hace esto mediante la fusión de nodos, este código se fusionará en CouchDB este año para que pueda tener lo mejor de ambos mundos.