Ingeniería Informática
Permanent URI for this collectionhttp://54.81.141.168/handle/123456789/9139
Browse
3 results
Search Results
Item Metadata only Algoritmo bioinspirado Lobo Gris (Grey Wolf) para la optimización de índices en bases de datos relacionales(Pontificia Universidad Católica del Perú, 2024-05-29) Verástegui Sánchez, Fernando Guillermo; Cueva Moscoso, RonyDentro del mundo empresarial actual, los datos cobran una importancia crucial para el desarrollo de una compañía, ya sea para análisis, seguimiento comercial, estrategias de negocios, entre otros. Por lo que, su almacenamiento y extracción son una parte importante para su uso. Las bases de datos sirven para almacenar esta información, para que luego puedan ser consultadas. Estas pueden ser tanto relacionales como no relacionales, siendo la primera en donde los datos que se almacenan están relacionados entre ellos. La información se organiza mediante tablas, que incluyen columnas y filas, pudiendo obtener acceso a estos datos de diferentes maneras (AWS, n.d.). Para los administradores de base de datos (DBA) e investigadores la mejora del rendimiento de las bases de datos ha sido un reto persistente a lo largo de los años. Este desafío está fuertemente relacionado con la forma de organización lógica de los registros y, especialmente, a la rapidez con la que se accede y procesa esos registros. En ese sentido, los índices ejercen como un modo de acceso más rápido a la información. Siendo un caso de ejemplo, cuando los datos son solicitados, el sistema de gestión de base de datos primero verifica si existe un índice y su estructura, la cual está ordenada y contiene la dirección física del dato, permitiendo así recuperar la información directamente en el disco duro, simplificando el trabajo de búsqueda (Pedrozo & Vaz, 2014). Si bien los índices sirven para acelerar la recuperación de los datos, uno mal diseñado deteriora el rendimiento general. Esto se debe a los diferentes factores que influyen en su creación, como lo son: El tipo de dato, la estructura de la tabla, el número de veces que se buscó un campo específico, la frecuencia de ciertas consultas, la frecuencia de valores distintos en una columna, la carga de trabajo, el número de operaciones de lectura y escritura, entre otros (Naik, 2018). En consecuencia, el propósito de este proyecto consiste en mejorar la eficiencia del tiempo de respuesta en las consultas mediante el uso de índices, brindando la mejor opción para la creación de estos, sobre las tablas dentro un sistema de gestión de bases de datos relacionales (RDBMS). Para este proyecto se plantea utilizar un algoritmo metaheurístico aplicado al problema de selección de índices (ISP), el cual consiste en, dado una base de datos y un conjunto de consultas, seleccionar automáticamente un conjunto apropiado de índices (Chaudhuri, Datar, and Narasayya 2004). Este problema es considerado un “NP-Hard Problem”, la elección de utilizar un algoritmo metaheurístico, en combinación con la amplia gama de variables que pueden influir, se revela como una opción óptima en comparación con otros tipos de algoritmos.Item Metadata only Algoritmo metaheurístico para la optimización de consultas SQL en bases de datos distribuidas relacionales(Pontificia Universidad Católica del Perú, 2024-04-09) Sangama Ramirez, Jesus Angel Eduardo; Cueva Moscoso, RonyEn el contexto empresarial, los datos tienen una importancia significativa tanto para la operación del día a día en una organización como para la toma de decisiones dentro de esta. Por ello, resulta vital que consultar dichos datos sea un proceso lo más eficiente posible. Para las bases de datos relacionales, una forma de lograr esto es la optimización de consultas SQL, y entre los diferentes métodos de optimización se encuentran los algoritmos metaheurísticos. El presente trabajo realiza una investigación de la literatura académica centrada en estos algoritmos aplicados a la optimización de consultas en bases de datos distribuidas relacionales y decide realizar una comparación entre el algoritmo genético (el cual cuenta con gran popularidad en este ámbito) y el memético, con el fin de evaluar si la aplicación de este último resulta viable para este tipo de optimización. Para lograr lo planteado anteriormente, el trabajo busca definir variables, parámetros y restricciones del problema de optimización de consultas; las cuales posteriormente son utilizadas para implementar adaptaciones propias de los algoritmos genético y memético orientadas a dicho problema. Finalmente, se realiza una comparación de eficacia y eficiencia entre ambas implementaciones a través de experimentación numérica. Tras finalizar todas las tareas anteriores, se concluye que se logró implementar un algoritmo memético para optimizar consultas SQL en bases de datos distribuidas relacionales cuyo rendimiento puede superar al algoritmo genético para escenarios de complejidad creciente (es decir, bases de datos con numerosas tablas y sitios).Item Metadata only Implementación de un algoritmo memético para optimizar la asignación de tablas a unidades de almacenamiento de bases de datos relacionales(Pontificia Universidad Católica del Perú, 2022-06-06) Lucas Ramos, Jhamir Arturo; Cueva Moscoso, RonyEn la actualidad, los sistemas de bases de datos son considerados como un componente fundamental para casi cualquier organización, ya que estos sistemas permiten acceder a información puntual de forma segura y rápida, lo cual es clave para una correcta toma de decisiones y una adecuada atención a los usuarios. Sin embargo, debido al rápido desarrollo de las tecnologías de información, cada vez más sistemas de información generan enormes cantidades de datos y necesitan lidiar con estos de forma eficiente y, dado que las bases de datos relacionales juegan un rol vital en muchos sistemas de información, el rendimiento de estos mismos sistemas depende directamente del rendimiento del sistema de base de datos. En ese sentido, se considera crítico aplicar diversos métodos para optimizar el rendimiento del sistema de base de datos. Uno de estos métodos es la asignación de tablas, el cual consiste en distribuir de manera adecuada a las tablas de una base de datos en los dispositivos de almacenamiento disponibles. Dicho método es útil porque permite mejorar el rendimiento del sistema de base de datos y aprovechar de mejor manera los recursos de hardware disponibles. Sin embargo, muchas veces esta tarea se realiza considerando sólo algunas variables o factores al momento de tomar una decisión. Asimismo, existe una ausencia en el empleo de esta técnica por parte de muchos sistemas modernos. Esto, sumado al hecho de que la asignación suele realizarse de manera manual y también a que los estudios presentes en el estado del arte utilizan, en su gran mayoría, soluciones basadas en heurísticas o cálculos simples, las cuales pueden no brindar buenos resultados, conducen a que se realice una deficiente asignación de tablas a unidades de almacenamiento. Esta situación provoca un bajo rendimiento del sistema de base de datos, un deficiente funcionamiento de la entrada y salida de disco y que las tareas de administración sean más propensas a errores. Ante esta situación, se torna necesario el uso de métodos que automaticen y optimicen esta tarea, en ese sentido, el presente trabajo de tesis propone el diseño y la implementación de un algoritmo memético que permita optimizar la asignación de tablas a unidades de almacenamiento de bases de datos relacionales.