Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/59907

TítuloTowards an efficient OLAP engine based on linear algebra
Autor(es)Afonso, João Miguel
Orientador(es)Proença, Alberto José
Oliveira, José Nuno Fonseca
Data2018
Resumo(s)Relational database engines associated to the widely used Structured Query Language (SQL) are suffering unsatisfactory performance results in complex business queries, due to ever increasing volumes of stored data. To retrieve and process data in a more efficient way, Online Analytical Processing (OLAP) models have been proposed with an increased focus on attributes (measures and dimensions) over records. OLAP is based on a row-oriented theory, while a columnar-oriented theory could considerably improve the performance of analytical systems. The Typed Linear Algebra (TLA) approach is an example of such theory: it encodes each database attribute in a distinct matrix. These matrices are combined in a single Linear Algebra (LA) expression to obtain the result of a query. This dissertation combines concepts of relational databases, OLAP, TLA and performance engineering to design, implement and validate an efficient TLA-DB engine: SQL queries are converted into its equivalent LA expression, using Type Diagrams (TDs), which represent each matrix as an arrow pointing from the number of columns to the number of rows, TDs are converted to a LA expression encoded in Linear Algebra Query language (LAQ) and the LAQ script of a query is automatically coded in C Plus Plus (C++). An efficient TLA-DB engine required the encoding of the sparse matrices in an adequate format, namely Compressed Sparse Column (CSC), while the operations specified in LAQ expressions had their performance improved by optimised algorithms and an optimised query processor. The functionality of the resulting LAQ engine was validated with several TPC Benchmark H (TPC-H) queries for various dataset sizes. A comparative evaluation of the TLA-DB with two popular Database Management Systems (DBMSs), PostgreSQL and MySQL, showed that the developed framework outperforms both DBMSs in most TPC-H queries.
As melhorias de desempenho dos sistemas de gestão de bases de dados relacionais não têm sido suficientes para acompanhar o crescimento do volume de dados com que são utilizados. Para colmatar a consequente necessidade de soluções mais eficientes, a teoria OLAP foi proposta. Esta introduz as noções de medidas e dimensões, guardando préagregações das medidas baseadas nas últimas, de forma a acelerar o processo de análise de dados. Contudo, ainda que com regras mais restritas, o OLAP está assente em álgebra relacional. A proposição de uma teoria orientada à coluna pode abrir portas a grandes melhorias de desempenho em consultas analíticas. A álgebra linear tipada é um bom exemplo. Segundo esta teoria, cada um dos atributos é convertido numa matriz independente, as quais são posteriormente combinadas através de uma expressão de álgebra linear que define o resultado da consulta. Esta dissertação combina conceitos de bases de dados relacionais, OLAP, álgebra linear, teoria de tipos, e computação eficiente para projetar, implementar e validar um motor OLAP robusto e eficiente. Para tal, consultas em SQL são convertidas para a expressão de álgebra linear equivalente, usando diagramas de tipo que representam cada matriz como uma seta a apontar do número de colunas para o número de linhas da matriz. A expressão que deles resulta é então codificada em LAQ e automaticamente implementada em C++. Para garantir a eficiencia da ferramenta desenvolvida, todas as matrizes foram guardadas num formato adequado, nomeadamente o CSC. Por sua vez, as operações especificadas na LAQ foram implementadas recorrendo a algoritmos optimizados. A correção do sistema implementado foi garantida através da validação dos resultados de um grupo de consultas extraidas do TPC-H, executadas sobre bases de dados de multiplos tamanhos. Finalmente, a comparação com dois sistemas de bases de dados convencionais (o PostgreSQL e o MySQL) nas métricas de tempo de execução e memória utilizada, demonstrou a maior eficiencia da ferramenta desenvolvida na maioria das consultas.
TipoDissertação de mestrado
DescriçãoDissertação de mestrado integrado em Computer Science
URIhttps://hdl.handle.net/1822/59907
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado
DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Joao-Miguel-Afonso.pdfDissertação Mestrado1,61 MBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID