HDFS es uno de los principales componentes de Hadoop que proporciona una forma eficiente de almacenamiento de datos en un clúster de Hadoop. Pero antes de comprender las características de HDFS, sepamos qué es un sistema de archivos y un sistema de archivos distribuido. Podemos decir que un sistema de archivos es una arquitectura de almacenamiento de datos que utiliza un sistema operativo para administrar y mantener los archivos en su espacio de almacenamiento. Un ejemplo del sistema de archivos de Windows es NTFS (Sistema de archivos de nueva tecnología) y FAT32 (Tabla de asignación de archivos 32). FAT32 se usa en algunas versiones anteriores de Windows, pero se puede usar en todas las versiones de Windows XP. De manera similar, como Windows, tenemos el tipo de sistema de archivos ext3, ext4 para el sistema operativo Linux.
Similar, HDFS es un sistema de archivos distribuido. Un DFS (Sistema de archivos distribuidos) es una aplicación basada en cliente-servidor. Permite a los clientes acceder y procesar los datos que se almacenan en los servidores. Cada vez que el cliente solicita un archivo del servidor, el servidor envía una copia del archivo al cliente, que luego se almacena en caché en la computadora del cliente mientras se procesan los datos y luego los datos procesados se devuelven al servidor.
Conozcamos HDFS en Hadoop. HDFS es un sistema de archivos predeterminado para Hadoop, donde HDFS significa Sistema de archivos distribuido de Hadoop. Está diseñado para almacenar un volumen masivo de datos y brindar acceso a estos datos a tantos clientes. Por lo tanto, la aplicación Hadoop utiliza HDFS como sistema de almacenamiento principal. HDFS es similar al sistema de archivos de Google que organiza bien el archivo y almacena los datos de manera distribuida en varios Nodes o máquinas. Ahora, analicemos las características de primer nivel de HDFS que lo hacen más favorable.
1. Sistema continuo de bajo costo, es decir, hardware básico
El sistema de archivos distribuidos de Hadoop es muy similar al sistema de archivos distribuidos existente, pero difiere en varios aspectos, como el hardware básico. Hadoop HDFS no requiere hardware especializado para almacenar y procesar datos de gran tamaño, sino que está diseñado para funcionar en clústeres de bajo costo de hardware básico. Donde los clústeres significan un grupo de computadoras que están conectadas que son baratas y asequibles.
2. Proporcione una alta tolerancia a fallas
HDFS proporciona una alta tolerancia a fallas. La tolerancia a fallas se logra cuando el sistema funciona correctamente sin pérdida de datos, incluso si fallan algunos componentes de hardware del sistema. En un clúster, cuando falla un solo Node, colapsa todo el sistema. El deber principal de la tolerancia a fallas es eliminar dichos Nodes fallidos que perturban todo el funcionamiento normal del sistema. De forma predeterminada, en HDFS, cada bloque de datos se replica en 3 Nodes de datos. Si un Node de datos deja de funcionar, el cliente puede obtener fácilmente los datos de los otros 2 Nodes de datos donde se replican los datos, por lo tanto, evita que todo el sistema se caiga y se logra la tolerancia a fallas en un clúster de Hadoop. El HDFS es lo suficientemente flexible como para agregar y eliminar los Nodes de datos con menos esfuerzo. Hay 3 formas con las que HDFS puede lograr la tolerancia a fallas, es decir, la replicación de datos, los mensajes de latido y los puntos de control.
3. Gran conjunto de datos
En el caso de HDFS, un gran conjunto de datos significa los datos que tienen un tamaño de cientos de megabytes, gigabytes, terabytes o, a veces, incluso petabytes. Es preferible usar HDFS para archivos de tamaño muy grande en lugar de usar tantos archivos pequeños porque los metadatos de una gran cantidad de archivos pequeños consumen un espacio muy grande en la memoria que el de la menor cantidad de entradas para archivos grandes en el Node de nombre .
4. Alto rendimiento
HDFS está diseñado para ser un sistema de procesamiento por lotes de alto rendimiento en lugar de proporcionar usos interactivos de baja latencia. HDFS siempre implementa el patrón WORM, es decir, escribir una vez, leer muchas. Los datos son inmutables, lo que significa que una vez que se escriben, no se pueden cambiar. Debido a que los datos son los mismos en toda la red. Por lo tanto, puede procesar grandes cantidades de datos en un período de tiempo determinado y, por lo tanto, proporciona un alto rendimiento.
5. Localidad de datos
HDFS nos permite almacenar y procesar datos de tamaño masivo en el clúster formado por hardware básico. Dado que los datos son significativamente grandes, el HDFS mueve el proceso de cálculo, es decir, el programa Map-Reduce hacia los datos en lugar de extraer los datos para el cálculo. Estos minimizan la congestión de la red y aumentan el rendimiento general del sistema.
6. Escalabilidad
Como HDFS almacena los datos de gran tamaño en varios Nodes, cuando el requisito de almacenamiento de datos aumenta o disminuye, la cantidad de Nodes se puede ampliar o reducir en un clúster. La escalabilidad vertical y horizontal son los 2 mecanismos diferentes disponibles para proporcionar escalabilidad en el clúster. La escalabilidad vertical significa agregar el recurso como espacio en disco, RAM en el Node existente del clúster. Por otro lado, en el escalado Horizontal, aumentamos la cantidad de Nodes en el clúster y es más preferible ya que podemos tener cientos de Nodes en un clúster.
Publicación traducida automáticamente
Artículo escrito por dikshantmalidev y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA