Almacenamiento de Datos y Sistemas Distribuidos, Ministerio de Educación

Documento del Ministerio de Educación y Formación Profesional sobre Almacenamiento de Datos. El Pdf explora la archivación de datos, con foco en sistemas distribuidos y bases de datos NoSQL, incluyendo un caso práctico del CERN y el LHC, óptimo para estudiantes universitarios de Informática.

Ver más

58 páginas

Almacenamiento de Datos.
Caso práctico
OpenStreetMap contributors (CC BY-SA)
Es el año 1996. Los científicos
del CERN están de
enhorabuena. El proyecto
del LHC por fin ha sido
aprobado.
Los responsables de cada área
sienten una mezcla de alegría y
nerviosismo. El reto de
ingeniería y ciencia no ha hecho
más que comenzar, y no será
sencillo estar a la altura de las
expectativas. Uno de los más
preocupados es el máximo
responsable del LHC Computing
Grid, la infraestructura
computacional que habrá que
diseñar y crear para poder tratar
con los datos producidos por los
experimentos del colisionador.
- - - - -
Es el año 2022. A día de hoy los experimentos del LHC generan 90 PB de
datos al año. Eso son 90 millones de gigabytes.
¿Cómo consiguen no sólo almacenar sino también tratar con tal cantidad de
datos?
En esta unidad de trabajo vamos a descubrir la importancia de ser capaces de almacenar
datos de forma distribuida como ingrediente fundamental para nuestros sistemas Big Data.
Comenzamos viendo qué es un sistema de ficheros, para después descubrir la existencia de
sistemas de almacenamiento que funcionan de modo distribuido entre nodos de un clúster y
de sistemas que de forma específica realizan esa tarea no con unidades de almacenamiento
sino en memoria.
Más adelante conoceremos HDFS, el sistema de almacenamiento distribuido de Hadoop.
A continuación haremos un repaso por el mundo de las bases de datos NoSQL,
descubriendo tanto algunos conceptos básicos en relación a las mismas como qué tipos
existen.
Por último seguiremos el tutorial oficial de MongoDB, la cual es una de las bases de datos
NoSQL más conocidas y utilizadas.
Ministerio de Educación y Formación Profesional (Dominio público)
Materiales formativos de FP Online propiedad del Ministerio de
Educación y Formación Profesional.
Aviso Legal

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Almacenamiento de Datos

Caso práctico Es el año 1996. Los científicos del CERN están de enhorabuena. El proyecto del LHC por fin ha sido aprobado. Los responsables de cada área sienten una mezcla de alegría y nerviosismo. El reto de ingeniería y ciencia no ha hecho más que comenzar, y no será sencillo estar a la altura de las expectativas. Uno de los más preocupados es el máximo responsable del LHC Computing Grid, la infraestructura computacional que habrá que diseñar y crear para poder tratar con los datos producidos por los experimentos del colisionador. Ttanavnx AL OrTea A1 D884 Le Grand Saconres DE84 OpenStreetMap contributors (CC BY-SA)

  • Es el año 2022. A día de hoy los experimentos del LHC generan 90 PB de datos al año. Eso son 90 millones de gigabytes.
  • ¿Cómo consiguen no sólo almacenar sino también tratar con tal cantidad de datos?

En esta unidad de trabajo vamos a descubrir la importancia de ser capaces de almacenar datos de forma distribuida como ingrediente fundamental para nuestros sistemas Big Data. Comenzamos viendo qué es un sistema de ficheros, para después descubrir la existencia de sistemas de almacenamiento que funcionan de modo distribuido entre nodos de un clúster y de sistemas que de forma específica realizan esa tarea no con unidades de almacenamiento sino en memoria. Más adelante conoceremos HDFS, el sistema de almacenamiento distribuido de Hadoop. A continuación haremos un repaso por el mundo de las bases de datos NoSQL, descubriendo tanto algunos conceptos básicos en relación a las mismas como qué tipos existen. Por último seguiremos el tutorial oficial de MongoDB, la cual es una de las bases de datos NoSQL más conocidas y utilizadas.GOBIERNO DE ESPANA MINISTERIO DE EDUCACIÓN Y FORMACIÓN PROFESIONAL Ministerio de Educación y Formación Profesional (Dominio público) Materiales formativos de FP Online propiedad del Ministerio de Educación y Formación Profesional.

Aviso Legal

Sistemas de Ficheros

Caso práctico blickpixel (Dominio público) El agua de la cafetera ha empezado a hervir. En unos segundos el café estará listo. Los dos se recuestan en sus respectivas sillas. Ella se lleva las manos a la cara entusiasmada mientras él tira de la cadena de su reloj de bolsillo para sacarlo y consultar la hora. Aún no son ni las 6 de la tarde. Les quedan unas cuantas horas antes de irse a casa. El sistema en el que han estado trabajando parece funcionar sin problema. El cabezal magnético ya es capaz tanto de representar ceros y unos en el disco giratorio como de leerlos. Cuando IBM comience a producir estas unidades de almacenamiento e incorporarlas en sus equipos el éxito va a ser rotundo. Ella se incorpora con cara de preocupación. -¿ Y ahora con todos esos ceros y unos que hacemos? - dice ella. -Pues guardar la información que necesitemos, ¿no? - responde el sorprendido por la pregunta. -Sí, eso está muy bien, pero de momento son datos binarios esparcidos por el disco. Así no valen para nada. Habrá que organizarlos de algún modo, ¿no? Quien utilice estas computadoras un día querrá guardar una factura y otro día querrá guardar el texto de una carta, ¿no te parece? No lo va a tener todo junto. Necesitamos que haya algún tipo de estructura para que se sepa qué es cada cosa. Él pestañea y se queda pensativo unos segundos. -Tienes razón. Un sistema de ficheros es la infraestructuresaria para poder almacenar y organizar datos en unidades de almacenamiento, ya sean discos duros, memorias de estado sólido, cintas o DVDs. Para ello, se utiliza el concepto de fichero como la unidad atómica de almacenamiento empleada para almacenar los datos.Gracias al sistema de ficheros podemos tanto guardar como leer ficheros de forma independiente, considerandose uno de los primeros pasos a la hora de organizar los datos de modo que comiencen a considerarse como información. Además, el sistema de ficheros mantiene una estructura en forma de árbol (el árbol de directorio) que nos permite dar un paso más en la organización de la información, almacenando cada fichero en una carpeta según su significado o el uso que queramos darle. El sistema operativo es capaz de interactuar con el sistema de ficheros, gracias a lo cual puede ofrecer servicio de almacenamiento y recuperación de datos a las aplicaciones que en él se ejecutan. Hay que tener en cuenta que aunque hablemos en singular, realmente existen diversos tipos de sistema de fichero, como ejemplo FAT32, NTFS o EXT4. Los sistemas operativos suelen emplear sólo uno de ellos para almacenar su propia información pero a la vez suelen ofrecer compatibilidad con otros para poder acceder a datos auxiliares o externos.

Debes conocer un sistema de ficheros

Es importante que sepas que es un sistema de ficheros (también llamado sistema de archivos).

Más información sobre el sistema de archivos

Puedes encontrar más información en el siguiente enlace: Sistema de archivos

Para saber más sobre el sistema operativo

Puedes ver más información sobre lo que es un sistema operativo en el siguiente enlaces: Sistema operativo

Más información sobre los sistemas de ficheros

En los siguientes enlaces puedes ver más información sobre los sistemas de ficheros que hemos mencionado: Tabla de asignación de archivos (FAT12, FAT16, FAT32).NTFS EXT4

RAID

RAID es un sistema de almacenamiento de datos que es capaz de distribuirlos por múltiples unidades según diversas estrategias para así conseguir o bien unidades mayores que el mayor de los discos que tengamos, o bien replicación automática de nuestros datos o bien ambas cosas. Tengamos aquí en cuenta que RAID realmente no es de por sí un sistema de ficheros sino una capa que trabaja por debajo de ellos. Por ejemplo podemos tener dos discos duros de 2TB conectados mediante RAID de modo que el sistema de ficheros no ve esas dos unidades sino una única unidad de 4TB. RAID puede trabajar:

  • Por hardware, mediante controladoras RAID específicas.
  • Por software, haciendo que el procesador ejecute un software que realiza el trabajo equivalente al que haría la controladora hardware (lo cual es más lento pero más barato).

Como ya hemos dicho, RAID permite configurar los discos según distintas estrategias, llamadas niveles. Los niveles más empleados son los llamados RAID 0, RAID 1 y RAID 5.

RAID 0: Conjunto dividido

Podemos ver dos discos de 1TB como uno de 2TB sin replicación. Permite ver unidades virtuales más grandes que las unidades físicas. Sin redundancia. Aproximadamente el doble de velocidad en lectura y escritura. Diagrama de una configuración RAID 0 RAID 0 A1 A2 A3 A4 A5 A6 disco 0 A7 disco 1 A8 JaviMZN (CC BY)

RAID 1: Conjunto en espejo

Podemos ver dos discos de 1TB como uno de 1TB con replicación. Permite tener los datos replicados de forma automática. Mayor seguridad desaprovechando capacidad. Hasta el doble de velocidad de lectura. Sin ganancia para escritura. Tolerante al fallo de uno de los discos. Diagrama de una configuración RAID 1 RAID 1 A1 A1 A2 A2 A3 A3 disco 0 A4 disco 1 A4 JaviMZN (CC BY)

RAID 5: Conjunto dividido con paridad distribuida

Podemos ver tres discos de 1TB como uno de 2TB con replicación. Es necesario un mínimo de 3 discos. Permite ver unidades virtuales más grandes que las unidades físicas añadiendo además replicación. Permite mayores rendimientos de lectura al poder leer de varias unidades a la vez. Tolerante al fallo de uno de los discos. Diagrama de una configuración RAID 5 RAID 5 A1 A2 A3 Ap B1 B2 Bp B4 C1 Cp C3 C4 disco 0 disco 1 Dp D2 disco 2 D3 disco 3 D4 JaviMZN (CC BY)

Más información sobre RAID

Puedes ver más información sobre RAID en el siguiente enlace: RAID

Autoevaluación RAID

¿Qué nivel de RAID emplearemos si tenemos 3 discos de 4TB cada uno y queremos poder ver una única unidad de 8TB de modo que no se pierdan datos si uno de los discos se rompe? RAID 0. RAID 1. O RAID 3. C RAID 5. Incorrecto. Con RAID 0 vemos un disco más grande sin replicación. Incorrecto. Con RAID 1 vemos un disco igual grande pero con replicación. Incorrecto. RAID 3 existe, pero no lo tratamos en esta unidad. Correcto.

Solución Autoevaluación RAID

  1. Incorrecto
  2. Incorrecto
  3. Incorrecto
  4. Opción correcta

Sistemas de ficheros distribuidos

Un sistema de ficheros distribuido es aquel que es capaz de almacenar ficheros distribuyendo el contenido de los mismos en las distintas máquinas que conforman un clúster. Permite interactuar con ellos de un modo unificado, como si realmente residiesen en la máquina en la que se ejecuta la aplicación que va a utilizarlos. Los sistemas de ficheros distribuidos que se emplean para sistemas Big Data permiten almacenar ficheros mas grandes que el espacio de almacenamiento disponible en cualquiera de los nodos del clúster. Ello se heladodementa (Dominio público) consigue gracias a que los ficheros no se almacenan completos sino dividos en fragmentos (llamados bloques), de modo que se puede almacenar ficheros enormes simplemente distribuyendo los bloques que lo conforman por el clúster. Estos sistemas son agnósticos respecto de los datos que van a almacenar, y proporcionan redundancia y alta disponibilidad gracias a la replicación en distintos nodos de los bloques que componen los ficheros. Tienen un indice de replicación configurable, de modo que cada bloque queda al menos en N nodos distintos (donde N debe ser como mínimo es 2 para que haya replicación). Esta capacidad de replicación integrada dentro del propio sistema hace que ya no sea necesario contar con replicación (tipo RAID) dentro del sistema de ficheros local de cada nodo. Debido a que cada fichero se puede encontrar distribuido en distintos nodos, se pueden alcanzar tasas de lectura y escritura superiores a las de las unidades de almacenamiento individuales. Ello se debe a que tales lecturas y escrituras se realizan en paralelo, evitando el cuello de botella que se produce al tener que emplear una única unidad física. Por razones de diseño, los sistemas de ficheros distribuidos para Big Data emplean bloques muy grandes (por ejemplo de 128MB). Por esa razón, no son ideales para trabajar con muchos ficheros pequeños sino que funcionan mejor con pocos ficheros de tamaño grande. Debido a esto, cuando los datos de las fuentes vienen en muchos ficheros pequeños lo que se hace es combinarlos en ficheros grandes durante el proceso de ETL. Uno de los sistemas de ficheros distribuidos más conocidos y empleados en entornos Big Data es HDFS (de Apache Hadoop), el cual tiene como precursor a GFS (de Google). Dentro del mundo cloud, el más conocido es Amazon S3, aunque existen otras alternativas como Google Cloud Storage y Azure Blob Storage.

Debes conocer los sistemas de ficheros distribuidos

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.