Um novo operador de ordenação para dados parcialmente ordenados

Detalhes bibliográficos
Autor(a) principal: Fonseca Filho, Marcelo Vieitas da
Data de Publicação: 2023
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da Universidade Federal Fluminense (RIUFF)
Texto Completo: http://app.uff.br/riuff/handle/1/30822
Resumo: Quando se trata de consultas SQL com grande volume de dados, o custo de processamento é muitas vezes muito grande. Em consultas complexas, às vezes é necessária a ordenação em disco, devido à quantidade de dados envolvida na consulta que não cabem em memória principal. Um problema adicional é que a ordenação de um grande volume de dados em disco, além de muito custosa, é bloqueante. Isso significa que o próximo operador da consulta fica esperando o término da ordenação para poder começar a trabalhar. Com relação a esses problemas o algoritmo proposto por esse trabalho, o Semisort, é capaz de ordenar tuplas em memória principal sem necessidade de uso de ordenação em disco, e de forma não bloqueante. Supondo uma relação com atributos A e B, que está ordenada por A, o Semisort aproveita essa ordenação parcial para ordenar a relação por A e B em memória principal, sem bloquear o pipeline da consulta. Para o desenvolvimento do algoritmo foi utilizada a ferramenta Secondo (GÜTING, 1992), que é um sistema de banco de dados extensível. Ela permite a implementação de operadores algébricos e sua utilização no processamento de consultas. Para avaliar o desempenho do operador proposto, foram realizados experimentos comparando o desempenho de uma consulta de cálculo de triângulos com e sem o uso do operador proposto. Além disso, o desempenho da consulta com o operador proposto foi comparado com o desempenho obtido pelos SGBDs SQLite e PostgreSQL. Os resultados mostram que o operador proposto traz benefícios, mas que os SGBDs comerciais são mais eficientes, muito provavelmente devido a mecanismos de otimização que o Secondo não possui. No entanto, os ganhos obtidos no Secondo mostram que há espaço para melhorias nos SGBDs convencionais, caso um operador desse tipo seja implementado neles
id UFF-2_5cf8006ef07f59c20d844f7e0d9752dd
oai_identifier_str oai:app.uff.br:1/30822
network_acronym_str UFF-2
network_name_str Repositório Institucional da Universidade Federal Fluminense (RIUFF)
repository_id_str 2120
spelling Um novo operador de ordenação para dados parcialmente ordenadosSecondoSemisortOrdenaçãoSQL (Linguagem de programação de computador)Algoritmo computacionalOperador algébricoSortingSecondoOperatorQuando se trata de consultas SQL com grande volume de dados, o custo de processamento é muitas vezes muito grande. Em consultas complexas, às vezes é necessária a ordenação em disco, devido à quantidade de dados envolvida na consulta que não cabem em memória principal. Um problema adicional é que a ordenação de um grande volume de dados em disco, além de muito custosa, é bloqueante. Isso significa que o próximo operador da consulta fica esperando o término da ordenação para poder começar a trabalhar. Com relação a esses problemas o algoritmo proposto por esse trabalho, o Semisort, é capaz de ordenar tuplas em memória principal sem necessidade de uso de ordenação em disco, e de forma não bloqueante. Supondo uma relação com atributos A e B, que está ordenada por A, o Semisort aproveita essa ordenação parcial para ordenar a relação por A e B em memória principal, sem bloquear o pipeline da consulta. Para o desenvolvimento do algoritmo foi utilizada a ferramenta Secondo (GÜTING, 1992), que é um sistema de banco de dados extensível. Ela permite a implementação de operadores algébricos e sua utilização no processamento de consultas. Para avaliar o desempenho do operador proposto, foram realizados experimentos comparando o desempenho de uma consulta de cálculo de triângulos com e sem o uso do operador proposto. Além disso, o desempenho da consulta com o operador proposto foi comparado com o desempenho obtido pelos SGBDs SQLite e PostgreSQL. Os resultados mostram que o operador proposto traz benefícios, mas que os SGBDs comerciais são mais eficientes, muito provavelmente devido a mecanismos de otimização que o Secondo não possui. No entanto, os ganhos obtidos no Secondo mostram que há espaço para melhorias nos SGBDs convencionais, caso um operador desse tipo seja implementado nelesSQL queries with large amounts of data usually have a large processing cost. Sometimes in complex queries when there are a lot of data involved that does not fit in memory, the sort operation needs to be executed on disk. Sorting large amounts of data in disk is costly, and, added to that, the sort operation blocks the query processing pipeline. This means that the next query operator needs to wait for the sort to finish before it can start to operate. With respect to these problems, the algorithm proposed by this work, Semisort, is able to sort tuples in main memory without the need to use the disk, and in a non-blocking form. Supposing a relation with attributes A and B that is sorted by A, Semisort takes advantage of this partial to sort the relation by A and B in main memory, without blocking the query pipeline. For the development of the algorithm, the tool Secondo was used, which is an extensible database system. It allows the implementation of algebraic operators and use them to process queries. To evaluate the performance of the proposed operator, experiments were performed comparing the performance of a query to calculate triangles with and without the use of the proposed operator. In addition, the performance of the query with the proposed operator was compared to the performance obtained by the SQLite and PostgreSQL DBMSs. The results show that the proposed operator has benefits, but that commercial DBMSs are more efficient, most probably because of optimization mechanisms that Secondo does not have. However, the gains obtained in Secondo show that there is room for improvement in the conventional DBMDs if such an operator is implemented in them37 p.Murta, Vanessa BraganholoAlmeida, Victor Teixeira deOliveira, Daniel dePlastino, AlexandreFonseca Filho, Marcelo Vieitas da2023-10-17T14:34:16Z2023-10-17T14:34:16Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfFONSECA FILHO, Marcelo Vieitas da. Um novo operador de ordenação para dados parcialmente ordenados. 2019. 37 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2019.http://app.uff.br/riuff/handle/1/30822CC-BY-SAinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF)instname:Universidade Federal Fluminense (UFF)instacron:UFF2023-10-17T14:34:20Zoai:app.uff.br:1/30822Repositório InstitucionalPUBhttps://app.uff.br/oai/requestriuff@id.uff.bropendoar:21202024-08-19T11:07:00.888352Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF)false
dc.title.none.fl_str_mv Um novo operador de ordenação para dados parcialmente ordenados
title Um novo operador de ordenação para dados parcialmente ordenados
spellingShingle Um novo operador de ordenação para dados parcialmente ordenados
Fonseca Filho, Marcelo Vieitas da
Secondo
Semisort
Ordenação
SQL (Linguagem de programação de computador)
Algoritmo computacional
Operador algébrico
Sorting
Secondo
Operator
title_short Um novo operador de ordenação para dados parcialmente ordenados
title_full Um novo operador de ordenação para dados parcialmente ordenados
title_fullStr Um novo operador de ordenação para dados parcialmente ordenados
title_full_unstemmed Um novo operador de ordenação para dados parcialmente ordenados
title_sort Um novo operador de ordenação para dados parcialmente ordenados
author Fonseca Filho, Marcelo Vieitas da
author_facet Fonseca Filho, Marcelo Vieitas da
author_role author
dc.contributor.none.fl_str_mv Murta, Vanessa Braganholo
Almeida, Victor Teixeira de
Oliveira, Daniel de
Plastino, Alexandre
dc.contributor.author.fl_str_mv Fonseca Filho, Marcelo Vieitas da
dc.subject.por.fl_str_mv Secondo
Semisort
Ordenação
SQL (Linguagem de programação de computador)
Algoritmo computacional
Operador algébrico
Sorting
Secondo
Operator
topic Secondo
Semisort
Ordenação
SQL (Linguagem de programação de computador)
Algoritmo computacional
Operador algébrico
Sorting
Secondo
Operator
description Quando se trata de consultas SQL com grande volume de dados, o custo de processamento é muitas vezes muito grande. Em consultas complexas, às vezes é necessária a ordenação em disco, devido à quantidade de dados envolvida na consulta que não cabem em memória principal. Um problema adicional é que a ordenação de um grande volume de dados em disco, além de muito custosa, é bloqueante. Isso significa que o próximo operador da consulta fica esperando o término da ordenação para poder começar a trabalhar. Com relação a esses problemas o algoritmo proposto por esse trabalho, o Semisort, é capaz de ordenar tuplas em memória principal sem necessidade de uso de ordenação em disco, e de forma não bloqueante. Supondo uma relação com atributos A e B, que está ordenada por A, o Semisort aproveita essa ordenação parcial para ordenar a relação por A e B em memória principal, sem bloquear o pipeline da consulta. Para o desenvolvimento do algoritmo foi utilizada a ferramenta Secondo (GÜTING, 1992), que é um sistema de banco de dados extensível. Ela permite a implementação de operadores algébricos e sua utilização no processamento de consultas. Para avaliar o desempenho do operador proposto, foram realizados experimentos comparando o desempenho de uma consulta de cálculo de triângulos com e sem o uso do operador proposto. Além disso, o desempenho da consulta com o operador proposto foi comparado com o desempenho obtido pelos SGBDs SQLite e PostgreSQL. Os resultados mostram que o operador proposto traz benefícios, mas que os SGBDs comerciais são mais eficientes, muito provavelmente devido a mecanismos de otimização que o Secondo não possui. No entanto, os ganhos obtidos no Secondo mostram que há espaço para melhorias nos SGBDs convencionais, caso um operador desse tipo seja implementado neles
publishDate 2023
dc.date.none.fl_str_mv 2023-10-17T14:34:16Z
2023-10-17T14:34:16Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv FONSECA FILHO, Marcelo Vieitas da. Um novo operador de ordenação para dados parcialmente ordenados. 2019. 37 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2019.
http://app.uff.br/riuff/handle/1/30822
identifier_str_mv FONSECA FILHO, Marcelo Vieitas da. Um novo operador de ordenação para dados parcialmente ordenados. 2019. 37 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2019.
url http://app.uff.br/riuff/handle/1/30822
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv CC-BY-SA
info:eu-repo/semantics/openAccess
rights_invalid_str_mv CC-BY-SA
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF)
instname:Universidade Federal Fluminense (UFF)
instacron:UFF
instname_str Universidade Federal Fluminense (UFF)
instacron_str UFF
institution UFF
reponame_str Repositório Institucional da Universidade Federal Fluminense (RIUFF)
collection Repositório Institucional da Universidade Federal Fluminense (RIUFF)
repository.name.fl_str_mv Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF)
repository.mail.fl_str_mv riuff@id.uff.br
_version_ 1811823664346169344