¿Cuáles son ejemplos en los que MapReduce no funciona? ¿Cuáles son ejemplos en los que funciona bien? ¿Cuáles son los problemas de seguridad relacionados con la nube?

Si bien son tres preguntas separadas, trataré de cubrir las dos primeras y dar algunas reflexiones para la tercera.

MapReduce [1] generalmente se usa en tareas de Big Data para procesar una enorme cantidad de datos que no solo no pueden caber en la RAM, sino que deben almacenarse en múltiples unidades. Entonces, los ejemplos en los que MapReduce funciona bien son aquellos en los que todos los datos están disponibles para usted y ya están almacenados en algún lugar, preferiblemente usando HDFS.

Ejemplos concretos de tales tareas pueden ir desde el clásico contador de palabras para una gran cantidad de documentos, hasta tareas más empresariales como procesar toneladas de archivos csv, transformarlos e insertar el resultado en alguna base de datos.

Ahora, los ejemplos que no funcionan. MapReduce en realidad es una opción subóptima cuando sus datos no son grandes y pueden procesarse sin ellos, debido a la sobrecarga que introduce. Otro caso importante es cuando necesita procesar flujos de datos. En este caso, es mucho mejor usar algo como Apache Spark [2] o Apache Flink [3]. Ese es el caso, porque para que los datos sean procesos en MapReduce, primero debe almacenarse y completarse, por lo que ahora debe procesarlos allí.

Los problemas de seguridad. Bueno, no soy un experto en este dominio, pero algunas ideas sobre el tema:

  • Almacenamiento de datos. Los datos deben almacenarse de forma segura, por lo que no hay acceso autenticado o no autorizado a ellos. También debe proporcionar integridad, para que no haya corrupción de datos, incluso cuando haya fallado la unidad, por lo que la replicación en varias máquinas, idealmente en múltiples centros de datos;
  • Transmisión de datos. Cifrado de extremo a extremo con resumen para proporcionar privacidad e integridad;
  • Procesamiento de datos. Es posible que un nodo falle, mientras se procesan los datos, por lo que debe manejarse para proporcionar integridad de datos y no perderlos en primer lugar;
  • En general, el desafío es que en la nube aún almacena los datos en algún nodo físico, por lo que aún debe realizar todos los procedimientos de seguridad, pero ahora debe prestar atención a cosas como la replicación y el manejo de fallas, al procesar datos .

Notas al pie

[1] MapReduce – Wikipedia

[2] Apache Spark ™: computación en clúster ultrarrápida

[3] Flujo escalable y procesamiento de datos por lotes