Técnicas de códigos de borrado aplicadas a almacenamiento distribuido

  1. Marcillo Vera, Fabricio Rolando
Dirigida por:
  1. Antonio Francisco Díaz García Director

Universidad de defensa: Universidad de Granada

Fecha de defensa: 31 de mayo de 2023

Tribunal:
  1. Gracia Esther Martín Garzón Presidente/a
  2. Manuel Rodríguez Álvarez Secretario
  3. Pilar Martínez Ortigosa Vocal

Tipo: Tesis

Resumen

os sistemas de almacenamiento distribuido tienen sus orígenes en los sistemas de almacenamiento centralizado, que eran utilizados para almacenar grandes cantidades de datos en un solo lugar. Sin embargo, estos sistemas presentaban problemas de escalabilidad y de disponibilidad de datos en caso de fallos, ya que una sola maquina centralizada era responsable de todo el almacenamiento y procesamiento de datos. Con la llegada de internet y el aumento de la cantidad de datos generados por los usuarios, se hizo evidente la necesidad de sistemas de almacenamiento distribuido que pudieran escalar fácilmente y manejar grandes volúmenes de datos de manera con table y eficiente. Uno de los primeros sistemas de almacenamiento distribuido fue el sistema de archivos distribuido Distributed File System (DFS) desarrollado por Sun Microsystems en la década de 1980. Este sistema admitiera que los datos se almacenaran en varios servidores y se distribuyeran automáticamente entre ellos, lo que mejoraba la disponibilidad de datos y la escalabilidad del sistema. Otro sistema de almacenamiento distribuido notable es el sistema de almacenamiento de objetos Object Storage System (OSS), que fue desarrollado en la década de 1990 por empresas como EMC e Hitachi. En este sistema, los datos se dividen en objetos y se almacenan en múltiples servidores, lo que mejora la escalabilidad y la disponibilidad de los datos. Con la popularidad de la nube y la computación en la nube, los sistemas de almacenamiento distribuido se han vuelto aún más importantes y se han desarrollado nuevas tecnologías como el sistema de archivos distribuidos de Google (GFS) Google File System, y el sistema de archivos distribuidos de Hadoop (HDFS) Hadoop Distributed File System. Es decir, los sistemas de almacenamiento distribuido surgieron como respuesta a la necesidad de manejar grandes cantidades de datos de manera eficiente y confiable. Desde entonces, han evolucionado y se han vuelto cada vez más importantes en la era de la nube y el Big Data. El objetivo principal de esta tesis es estudiar, analizar e implementar algoritmos de código de borrado para permitir resiliencia en los sistemas de almacenamiento distribuido. Para conseguir este objetivo inicialmente se ha realizado la revisión del estado de la bibliografía actual de la implementación de códigos de borrado, posterior la puesta en marcha de diferentes técnicas como: el algoritmo Reed-Solomon de la biblioteca Backblaze, el algoritmo Reed-Solomon de la biblioteca zfec y, finalmente, los algoritmos liberasure code rs vand, jerasure code rs vand, jerasure code rs cauchy, at xor hd 3, at xor hd 4, isa l rs vand, isa l rs cauchy de la biblioteca PyECLib. El resultado de esta puesta en marcha nos ha permitido realizar diferentes desarrollos. Primeramente, un plugin nativo de almacenamiento distribuido para Dicoogle PACS, Dicoogle es un sistema de almacenamiento y recuperación de imágenes medicas basado en estándares abiertos. Posteriormente una batería de pruebas para la recuperación de cheros de imágenes medicas dermatológicas con compresión con perdida (JPG) y cheros con compresión sin perdida (PNG), esta batería es de gran importancia ya que permite documentar los cheros del estado de la piel del paciente y su evolución a lo largo del tiempo, lo que resulta fundamental para la toma de decisiones clínicas. Por último, una capa de almacenamiento distribuida genérica, es decir soporta cualquier tipo de cheros, esta implementada en un sistema operativo Open Source, con características de compresión sin perdida, resiliencia, integridad y perpetuidad de los cheros.