fbpx

Investigador da EEUM apresenta solução para otimizar operações analíticas sobre dados

As múltiplas situações em que o sistema transacional não dá garantias de isolamento às bases de dados, comprometendo a sua eficiência, foram o ponto de partida para uma investigação que visa o desenho e a implementação do isolamento no query engine, preparando-o para workloads híbridos.

As bases de dados que suportam estruturas como a banca ou o comércio lidam diariamente com elevadas cargas transacionais, não sendo improvável a ocorrência de perturbações causadas por hotspots de atualização — situações que originam conflitos e podem resultar em tempos de espera e degradação do seu desempenho. Neste contexto, um sistema transacional é responsável por fornecer garantias de isolamento, ou seja, impedir que duas ou mais transações simultâneas não originam os referidos conflitos. Perante uma situação deste tipo, a função do isolamento é, por exemplo, forçar o cancelamento de uma das transações, de forma a garantir a consistência do sistema.

No entanto, este isolamento transacional nem sempre se mostra eficiente, flexível e simples quando estão em causa bases de dados analíticas que oferecem uma performance analítica excecional, mas apresentam garantias transacionais limitadas — suportam apenas transações que modificam uma linha de dados ou um nível de isolamento inferior — ou de baixa performance.

De forma a solucionar este problema, Nuno Faria, investigador do Haslab/INESC TEC, desenvolveu a solução TiQuE, a qual visa o design e a implementação de isolamento transacional ao nível do query engine, componente da base de dados responsável por otimizar e executar os pedidos feitos às referidas bases de dados, preparando-o para workloads híbridos — que juntem uma componente transacional e analítica. Quanto à primeira, remete para um workload composto, regra geral, por muitas transações de leitura de escrita de curta duração. Algo que, a título de exemplo, poderia ser uma compra numa loja online ou um login feito por um dos clientes. Já a segunda, engloba interrogações de leitura que processam um grande número de dados, como um relatório semanal.

A solução, exposta no artigo TiQuE: Improving the Transactional Performance of Analytical Systems for True Hybrid Workloads, foi apresentada na 49th International Conference on Very Large Data Bases (VLDB), uma conferência de ranking A*, que este ano se realizou em Vancouver, no Canadá, e é considerada uma das importantes a nível mundial na área das Ciências de Computação. O processo de desenvolvimento contou com a colaboração da empresa MonetDB Solutions, cuja base de dados MonetDB foi usada como prova de conceito.

Um dos problemas a que a solução vem dar resposta prende-se com a execução de workloads híbridos com baixo overhead (a combinação, em termos computacionais, do tempo e dos recursos necessários para executar uma tarefa) assentes numa única base de dados. Uma alternativa aparente passaria pela criação de múltiplas bases de dados para múltiplos workloads. Contudo, esclarece o investigador, isto representaria um esforço acrescido pela necessidade de replicação das mesmas bases de dados — o que resultaria em dados analíticos com atraso em relação ao referencial — e pelo aumento da complexidade e custos de gestão.

A solução TiQuE, por sua vez, permite a implementação de isolamento transacional sem que isso obrigue a “alterações no código do motor da base de dados, permitindo que seja ligado ou desligado em tabelas específicas e suportando ainda vários tipos de isolamentos. Simultaneamente, também vem possibilitar um isolamento transacional eficiente para workloads analíticos, como data–cleaning.

O desenho do isolamento transacional através do query engine constitui, nas palavras do investigador do Laboratório de Software Confiável (HASLab) do INESC TEC, a grande inovação desta solução. “É importante não só por facilitar a sua implementação, mas também por permitir que o isolamento transacional seja otimizado pelo query engine com base no workload.”

Através da implementação da solução TiQuE, nomeadamente em aplicações de instituições bancárias — que executam workloads híbridos, ou seja, que tratam de quantidades elevadas de pedidos de clientes e necessidade de baixa latência —, simplificam-se processos tendo em vista a execução de complexas e demoradas operações analíticas sobre os dados, com impacto nas tomadas de decisões futuras.

O investigador mencionado na notícia tem vínculo ao INESC TEC e à UMinho.

FONTE: BIP