2010-09-22 11 views
8

Si entiendo el ecosistema de Hadoop correctamente, puedo ejecutar mis datos de fuentes de trabajo de MapReduce desde HDFS o HBase. Suponiendo que la suposición anterior es correcta, ¿por qué elegiría una sobre la otra? ¿Existe un beneficio de rendimiento, confiabilidad, costo o facilidad de uso para usar HBase como fuente de MR?Fuente de Hadoop MR: HDFS vs HBase. Beneficios de cada uno?

Lo mejor que he podido encontrar es esta cita, "HBase es la aplicación Hadoop para usar cuando se necesita acceso aleatorio de lectura/escritura en tiempo real a conjuntos de datos muy grandes". - Tom White (2009) Hadoop: La guía definitiva, 1ª Edición

Respuesta

6

Usando recta de Hadoop Mapa/Reducir sobre HDFS, sus entradas y salidas están normalmente almacena archivos de texto como plana o Hadoop SequenceFiles, que son simplemente serializado objetos transmitidos al disco. Estas tiendas de datos son más o menos inmutables. Esto hace que Hadoop sea adecuado para tareas de procesamiento por lotes.

HBase es una base de datos completa (aunque no relacional) que utiliza HDFS como almacenamiento. Esto significa que puede ejecutar consultas interactivas y actualizaciones en su conjunto de datos.

Lo bueno de HBase es que funciona muy bien con el ecosistema Hadoop, por lo que si necesita realizar un procesamiento por lotes, así como operaciones interactivas, granulares y de nivel récord en grandes conjuntos de datos, HBase hará las dos cosas bien.

+0

Gracias, ¿qué es lo que estaba buscando. – Andre

0

Algunas limitaciones relevantes de HDFS (que es un código abierto gemelo del sistema de archivos de Google) se encuentran en the original Google File System paper.

Sobre los casos de uso objetivo, leemos:

En tercer lugar, la mayoría de los archivos están mutados añadiendo nuevos datos en lugar de sobrescribir los datos existentes. Las escrituras aleatorias dentro de un archivo son prácticamente inexistentes. [...]

[...] Dada este patrón de acceso de archivos de gran tamaño, anexar convierte en el foco de optimización del rendimiento y la atomicidad garantías, [...]

Como resultado :

[...] nos han relajado consistencia de datos de GFS a enormemente simplificar el sistema de archivos sin imponer una onerosa carga para las aplicaciones. También hemos introducido una operación de anexión atómica para que varios clientes puedan agregar al mismo tiempo a un archivo sin sincronización extra entre ellos .

anexar un registro hace que los datos (el “registro”) para ser adjunta atómicamente al menos una vez incluso en la presencia de mutaciones concurrentes, [...]

Si leo el periódico correctamente, entonces las varias réplicas de cada archivo (en el sentido HDFS) no serán necesariamente las mismas. Si los clientes solo usan las operaciones atómicas, cada archivo se podría considerar como una concatenación de registros (cada uno desde una de esas operaciones), pero estos pueden aparecer duplicados en algunas de las réplicas, y su orden puede ser diferente de la réplica en la réplica. (Aunque aparentemente también puede haber algo de relleno insertado, por lo que ni siquiera está tan limpio como eso, lea el documento.) Depende del usuario administrar los límites del registro, los identificadores únicos, las sumas de comprobación, etc.

Esto no se parece en nada a los sistemas de archivos a los que estamos acostumbrados en nuestras máquinas de escritorio.

Tenga en cuenta que el HDFS no es bueno para muchos archivos pequeños, debido a que:

  1. Cada asignaría normalmente un trozo de 64 MB (source).

  2. Su arquitectura no es bueno en la gestión de un gran número de archivos nombres (fuente: el mismo que en el punto   1). Hay un maestro único que mantiene todos los nombres de los archivos (que con suerte caben en su RAM).

+0

Tenga en cuenta que hay algunas diferencias entre [GoogleFS y HDFS] (https://www.quora.com/What-is-the-difference-between-the-Hadoop-file-distributed-system-and-the-Google- sistema de archivos/respuesta/Aditya-Kulkarni-2), pero parece que no hay nada fundamentalmente diferente. –

Cuestiones relacionadas