Dissertação de mestrado integrado em Informatics EngineeringCurrent digital transformations in society heavily rely on safe, easy-to-use, high-performance data storage and
analysis for smart decision taking. This triggered the need for efficient analytical querying solutions and the
columnar database model is increasingly regarded as the most efficient model for data organization in large
data banks. MonetDB is a pioneer in the column-wise database model and is currently at the forefront of high
performance DBMS engine.
A Linear Algebra Querying (LAQ) engine, using a columnar database paradigm and strongly inspired on Typed
Linear Algebra (TLA), was developed in a former MSc. dissertation, with a prototype Web interface. Performance
benchmarking of this engine showed it outperformed conventional referenced DBMS but it failed to beat MonetDB’s
performance.
This dissertation aims to improve the performance of the LAQ engine by following a different path: instead of a
standalone engine, the new approach implements the engine on top of MonetDB extended with RMA (Relational
Matrix Algebra) and inspired by the TLA approach. This enables the use of LAQ scripting to replace the main
stream relational algebra query language approach given by SQL.
Matrix operations commonly used in LAQ/TLA, such as matrix-matrix multiplication, Khatri-Rao product or
Hadamard-Schur product, had to be implemented in RMA to shift from the relational algebra paradigm to TLA.
A thorough analysis of the MonetDB/RMA showed the need to implement key TLA operators that are not
available at the frontend. Such operators were implemented and successfully tested and validated, paving the
way to future benchmarking its performance with TPC-H/OLAP queries and consequent fine tuning of the engine.Atualmente, as transformações digitais na sociedade confiam fortemente no armazenamento e na análise
de dados seguros, fáceis de usar e de alto desempenho para tomadas de decisão inteligentes. Este facto
desencadeou a necessidade de soluções de consultas analíticas eficientes, em que o modelo de bases de dados
colunar é cada vez mais considerado o modelo mais eficiente para organização de dados em grandes bancos de
dados. MonetDB é um sistema pioneiro no modelo de bases de dados colunar e atualmente está na vanguarda
de DBMS’s de alto desempenho.
Um motor Linear Algebra Querying (LAQ), que usa o paradigma de bases de dados colunar e fortemente
inspirado em Álgebra Linear Tipada (TLA), foi desenvolvido numa antiga dissertação de mestrado em Engenharia
Informática. O benchmarking do desempenho deste motor mostrou que supera DBMS tradicionais, mas não
conseguiu superar o desempenho do MonetDB.
Esta dissertação visa melhorar o desempenho do motor LAQ seguindo um caminho diferente: em vez de
um motor autónomo, a nova abordagem implementa o motor sobre o motor do MonetDB estendido com RMA
(Álgebra Relacional Matricial) e inspirado na abordagem de TLA. Isto permite o uso de scripts LAQ para substituir
a abordagem da linguagem de consulta de álgebra relacional fornecida pelo SQL.
Operações de matrizes comumente usadas em LAQ / TLA, como multiplicação de matrizes, produto Khatri-Rao
ou produto Hadamard-Schur, tiveram de ser implementadas em RMA para mudar do paradigma da álgebra
relacional para TLA.
Uma análise completa do MonetDB / RMA mostrou a necessidade de implementar os principais operadores
de TLA que não estão disponíveis no front-end. Esses operadores foram implementados, testados e validados
com sucesso, abrindo caminho para um futuro benchmarking do seu desempenho com queries TPC-H / OLAP e
consequente, ajuste do motor