Publicado el 12 de Abril del 2021
590 visualizaciones desde el 12 de Abril del 2021
2,7 MB
114 paginas
Creado hace 7a (04/07/2016)
Análisis de bases de
datos y tendencias
tecnológicas
Un caso de uso en Twitter para aplicaciones de análisis de
sentimientos y opiniones
Grado en Ingeniería Informática
Trabajo Fin de Grado
Autor:
Ricardo García Cebreiros
Tutor/es:
Armando Suárez Cueto
Patricio Martínez Barco
Julio 2016
1
Justificación y Objetivos
El trabajo de fin de grado que aquí presento trata sobre bases de datos y el problema de
rendimiento que se da en ciertas aplicaciones cuando el volumen de datos es muy grande y
volátil.
La motivación del presente trabajo es la gestión y consulta de los datos necesarios en una
base de datos. Es fácil imaginar que ante una cantidad de información de un volumen enorme,
la respuesta inmediata que se espera en, por ejemplo, aplicaciones web, es difícil de
conseguir. Los procesos se han diseñado para minimizar esta ralentización producida por el
gran volumen de datos a tratar pero, no obstante, el primer cuello de botella es la propia base
de datos.
El objetivo de este proyecto es estudiar diversas opciones de optimización un sistema de
gestión de base de datos relacional (SGBDR) —MySQL— buscando mejorar el rendimiento,
principalmente, de las consultas. La última meta, comprobar si la migración a un sistema
NoSQL realmente redundaría significativamente en esa mejora.
Ha de decirse que se parte de un escenario ya establecido puesto que las dos aplicaciones
están en producción y disponibles como aplicaciones web. Es decir, no se contempla probar
SGBDR diferentes ni modificar el diseño del esquema de la base de datos.
2
Agradecimientos
A mis padres, por encargarse de mis estudios hasta ahora y soportarme en época de
exámenes.
A mis compañeros y profesores que me han ayudado aún en horas intempestivas.
A mi tutor, Armando, por su tremenda ayuda y paciencia conmigo hasta el último momento.
3
Índice
Justificación y Objetivos .......................................................................................................... 2
Agradecimientos ...................................................................................................................... 3
Introducción ............................................................................................................................. 7
Marco teórico ........................................................................................................................... 8
1. Taxonomía ........................................................................................................................ 9
Propiedades ACID ........................................................................................................... 9
Propiedades BASE ......................................................................................................... 11
Teorema CAP ................................................................................................................. 11
Tipos de almacenamiento no relacional ......................................................................... 12
2. Ranking de los Sistemas de BBDD ................................................................................ 16
3. Puntos de vista de las diferentes tecnologías ................................................................. 17
Ventajas (Punto de vista NoSQL) .................................................................................. 17
Críticas (punto de vista SQL) ......................................................................................... 19
4. Características y usos ..................................................................................................... 21
MongoDB ....................................................................................................................... 21
Cassandra ....................................................................................................................... 22
Redis ............................................................................................................................... 23
HBase ............................................................................................................................. 24
Las aplicaciones GPLSI y el esquema de base de datos ........................................................ 25
Social Observer .................................................................................................................. 25
Election Map ...................................................................................................................... 27
El esquema de base de datos .............................................................................................. 28
Funcionamiento de las aplicaciones ................................................................................... 33
Objetivos y Metodología ........................................................................................................ 34
Preparación del entorno .......................................................................................................... 35
4
Importación de la BD ......................................................................................................... 35
Consultas y primeras observaciones .................................................................................. 36
Optimización de la BD ........................................................................................................... 36
Monitorización de rendimiento (Benchmarking) ................................................................... 38
MySQLslap ........................................................................................................................ 38
Comando time .................................................................................................................... 39
Primeras pruebas ................................................................................................................ 39
Filtrado de las consultas ..................................................................................................... 40
Desnormalización de la BD en MySQL ................................................................................. 45
Benchmarking en la tabla desnormalizada ............................................................................. 46
Filtrado de las consultas ..................................................................................................... 47
Traslado a MongoDB ............................................................................................................. 50
Exportación de los datos .................................................................................................... 50
Importación a MongoDB (mongoimport) .......................................................................... 50
Benchmarking en MongoDB ................................................................................................. 52
Filtrado de consultas .......................................................................................................... 54
Benchmarking de consultas de Administración ..................................................................... 57
MySQL ............................................................................................................................... 57
MongoDB ........................................................................................................................... 57
Índices de datos ...................................................................................................................... 60
Consultas de administración .............................................................................................. 63
Conclusiones .......................................................................................................................... 66
Conocimientos adquiridos .................................................................................................. 68
Anexos.................................................................................................................................... 70
Anexo 0: Instalación En Linux Mint .................................................................................. 70
Anexo 1: Importación en Linux Mint ................................................................................ 71
Anexo 2: Consultas de aplicación ...................................................................................... 75
De usuario ...................................................................................................................... 75
5
De gestión....................................................................................................................... 75
Anexo 3: Consultas de MySQL ......................................................................................... 80
Anexo 4: Optimización de la BD ....................................................................................... 86
Anexo 5: Tablas de Tiempos .............................................................................................. 90
Anexo 6: Desnormalización de la BD en MySQL ............................................................. 95
Anexo 7: Importación a MongoDB.................................................................................... 97
Anexo 8: Consultas en MongoDB ..................................................................................... 99
Anexo 9: Consulta
Comentarios de: Análisis de bases de datos y tendencias tecnológicas (0)
No hay comentarios