Gestión de datos masivoscarga y elasticidad

  1. Azqueta Alzúaz, Ainhoa
Dirigida por:
  1. Marta Patiño Martínez Director/a

Universidad de defensa: Universidad Politécnica de Madrid

Fecha de defensa: 09 de febrero de 2021

Tribunal:
  1. Ernesto Jimenez Merino Presidente/a
  2. Luis Mengual Galán Secretario/a
  3. Mikel Larrea Álava Vocal
  4. Joan Navarro Martín Vocal
  5. José Enrique Armendáriz Iñigo Vocal

Tipo: Tesis

Teseo: 642067 DIALNET

Resumen

Con el auge de Internet la cantidad de datos generados ha crecido exponencialmente, la necesidad de analizar esta información y la aparición de nuevas aplicaciones que explotan estos datos dio lugar al desarrollo de distintos sistemas para la gestión de grandes cantidades de datos. El modelo tradicional de gestión de datos (bases de datos relacionales) no resultaba adecuado para todas las aplicaciones, además de no escalar a grandes cantidades de datos. Por esta razón se diseñaron distintos tipos de gestores de datos siendo las bases de datos NoSQL el paradigma más conocido, aunque no el único. Dentro de este tipo de bases de datos se encuentran las bases de datos para grafos, orientadas a documentos, almacenes clave-valor y las orientadas a columnas. Otro modelo completamente diferente son los sistemas de streaming de datos; los cuales procesan los datos al vuelo, sin almacenarlos. Ambos tipos de gestores de datos ejecutan en sistemas distribuidos con el fin de procesar grandes cantidades de datos. El objetivo de la tesis es el diseño de protocolos para la mejora del rendimiento de dos tipos de sistemas para la gestión de grandes cantidades de datos: una base de datos NoSQL (HBase) y un sistema de streaming de datos (UPM-CEP). Concretamente, en el caso de HBase se proponen protocolos para la carga de datos y equilibrado de carga. La optimización del proceso de carga de datos es fundamental para mejorar la disponibilidad del sistema (tiempo que el sistema está operativo). La carga de datos se paraleliza y tiene en cuenta la distribución de los mismos con el fin de ubicarlos en distintas máquinas y mejorar el rendimiento de las consultas. El equilibrado de carga distribuye los datos de manera uniforme entre los distintos nodos con el fin de paralelizar las consultas y mejorar el rendimiento (tiempo de respuesta y productividad). Los protocolos tienen en cuenta la arquitectura NUMA del sistema subyacente. También se han propuesto protocolos para dotar de elasticidad a un sistema de streaming de datos. La elasticidad permite al sistema realizar scale-in, paralelizando consultas en una misma máquina, scale-out, distribuyendo consultas o paralelizándolas en distintas máquinas, sin parar el sistema. En ambos casos los resultados se han validado en dos clústers con distinta arquitectura con una decena de nodos, así como en un superordenador, empleando benchmarks industriales, TPC-C e Intel HiBench.