Optimización de una BBDD y estudio de BI

Ortega Méndez, Rafael (2020). Optimización de una BBDD y estudio de BI. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Description

Title: Optimización de una BBDD y estudio de BI
Author/s:
  • Ortega Méndez, Rafael
Contributor/s:
  • Talavera Muñoz, Edgar
Item Type: Final Project
Degree: Grado en Ingeniería del Software
Date: 2020
Subjects:
Freetext Keywords: Bases de datos; Business Intelligence
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img] PDF - Users in campus UPM only - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (2MB)
[img] Archive (ZIP) - Users in campus UPM only
Download (11kB)

Abstract

El presente trabajo fin de grado (TFG) busca disminuir los largos tiempos de ejecución en una base de datos con un gran volumen de información debido a que la base de datos en cuestión no está optimizada y no tiene claves primarias o foráneas. La base de datos es utilizada por una empresa hotelera para estudios de marketing y campañas con el objetivo de atraer clientes. Para la realización de tal cometido, se han desarrollado tres fases diferentes. La primera fase trata sobre un rediseño de la base de datos a través del algoritmo de análisis, que desemboca en un diseño robusto que permite crear relaciones entre tablas y claves primarias, aumentando así el control de los datos. Además, en esta parte se cambia el enfoque de varias tablas, reduciendo también el tiempo de ejecución. La segunda fase consiste en optimizar la base de datos a través de índices y cambios en varias consultas y en la última fase, se realiza un rediseño menos robusto de la base de datos, pero que permite reducir tiempos de consultas al introducir datos redundantes o calculados en tablas. Una vez terminado todo el proceso de rediseño y optimización se exponen los resultados obtenidos tras hacer todas las pruebas a través de un contenedor de Docker. Antes de realizar las pruebas, se explica cómo se ha preparado el entorno de pruebas y el de producción con Oracle 12c. Durante el proceso de optimización, realizado a través de un contenedor con Docker, se muestran diferentes formas de realizar consultas indicando su coste de ejecución y tiempo, habiendo establecido antes índices por tablas. Entre estas distintas formas, se lleva a cabo una comparación entre sentencias (como MERGE o INSERT) donde se verá cuál es la mejor en tiempo de ejecución. Para terminar esta parte, se exponen los tiempos de ejecución de diferentes programas al activar la ejecución paralela. Por último, se presenta un estudio de business intelligence donde el objetivo es determinar en qué meses se reciben más clientes en los hoteles y qué tipo de estancias realizarán, terminando por un pequeño estudio en un hotel de Madrid. Abstract: The objective of this Final Degree Project is to reduce long running queries in a database with a large volume of information because this database is not optimized and does not have primary or foreign keys. The database is used by a hotel company in order to attract customers through marketing studies and campaigns. To carry out this task, three different phases has been developed. The �rst phase deals with a redesign of the database through the analysis algorithm, which results in a robust design that let us create relationships between tables and primary keys, so data control is increased. In addition, the approach of several tables is changed, also reducing the execution time. The second phase consists of optimizing the database through indexes and changes in the queries. The last phase, a less robust redesign of the database is done in order to reduce query times by entering redundant or calculated data in tables. Once the entire redesign and optimization process is completed, the results achieved after doing all tests through a Docker container are exposed. Before testing, how the test and production environment have been prepared with Oracle 12c is explained. During the optimization process, which is executed in a Docker container, different ways of making queries with all indexes established for each tables are shown with their cost calculated by Oracle and time of execution. Between these different ways, a comparison is made between statements (such as MERGE or INSERT) in order to see which is the best at runtime. To finish this part, the execution times of different programs are exposed when parallel execution is activated. Finally, a business intelligence study is presented where the objective is to establish the months where more clients are received in hotels and what type of stays they will do. This section end with a small study of a hotel in Madrid.

More information

Item ID: 63448
DC Identifier: http://oa.upm.es/63448/
OAI Identifier: oai:oa.upm.es:63448
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 10 Aug 2020 12:23
Last Modified: 10 Aug 2020 12:23
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM