¿Qué se entiende por "acceso a datos de transmisión" en HDFS?

¿Qué se entiende por "acceso a datos de transmisión" en HDFS?

Según la página de Arquitectura HDFS, HDFS fue diseñado para "acceso a datos de transmisión". No estoy seguro de qué significa eso exactamente, pero supongo que significa que una operación como la búsqueda está deshabilitada o tiene un rendimiento subóptimo. ¿Sería esto correcto?

Estoy interesado en usar HDFS para almacenar archivos de audio/video que deben transmitirse a los clientes del navegador. La mayoría de las transmisiones serán de principio a fin, pero algunas podrían tener una gran cantidad de búsquedas.

¿Quizás exista otro sistema de archivos que pueda hacer esto mejor?

Respuesta1

La transmisión simplemente implica que puede ofrecerle una tasa de bits constante por encima de un cierto umbral al transferir los datos, en lugar de que los datos lleguen en ráfagas u ondas.

Si HDFS está diseñado para transmisión, probablemente seguirá admitiendo la búsqueda, con un poco de sobrecarga que requiere almacenar en caché los datos para una transmisión constante.

Por supuesto, dependiendo del sistema y la carga de la red, sus búsquedas pueden tardar un poco más.

Respuesta2

HDFS almacena datos en bloques grandes, como 64 MB. La idea es que desee que sus datos se distribuyan secuencialmente en su disco duro, reduciendo la cantidad de búsquedas que debe realizar su disco duro para leer datos.

Además, HDFS es un sistema de archivos de espacio de usuario, por lo que hay un único nodo de nombre central que contiene un directorio en memoria donde se almacenan todos los bloques (y sus réplicas) en todo el clúster. Se espera que los archivos sean grandes (digamos 1 GB o más) y estén divididos en varios bloques. Para leer un archivo, el código solicita al nodo de nombre una lista de bloques y luego lee los bloques secuencialmente.

Los datos se "transmiten" desde el disco duro manteniendo la velocidad máxima de E/S que el disco puede soportar para estos grandes bloques de datos.

Respuesta3

Para transmitir datos desde elHadoop: la guía definitiva, tercera edición:

HDFS se basa en la idea de que el patrón de procesamiento de datos más eficiente es un patrón de escritura una vez y lectura muchas veces. Por lo general, un conjunto de datos se genera o copia desde la fuente y luego se realizan varios análisis en ese conjunto de datos a lo largo del tiempo. Cada análisis involucrará una gran proporción, si no la totalidad, del conjunto de datos, por lo que el tiempo para leer todo el conjunto de datos es más importante que la latencia en la lectura del primer registro.

información relacionada