fbpx

Investigadores da EEUM pretendem melhorar o desempenho de bases de dados

No quotidiano, dificilmente nos apercebemos das estruturas que sustentam setores como o comércio, a banca, ou outros, e que suportam elevadas cargas transacionais de dados. Regra geral, só nos damos conta da sua existência em situações de disrupção, que acabam por perturbar o normal funcionamento destes serviços.

Com o objetivo de melhorar o desempenho das bases de dados transacionais, Nuno Faria, investigador do Laboratório de Software Confiável (HASLab), desenvolveu uma solução flexível e transparente para o utilizador, os Multi-Record Values (MRVs), que prometem melhorar significativamente o desempenho dos sistemas. As bases de dados transacionais são frequentemente perturbadas pelos desafios dos hotspots de atualização, situações que originam conflitos e resultam em esperas, tempo perdido e degradação do desempenho.

A solução, descrita no artigo MRVs: Enforcing Numeric Invariants in Parallel Updates to Hotspots with Randomizes Splitting, e que tem a coautoria de José Pereira, investigador e docente da Escola de Engenharia, foi apresentada na 2023 ACM SIGMOD/PODS, uma conferência de nível A*, que se realizou em junho, em Seattle, EUA, e é considerada uma das mais relevantes na área da gestão de dados. O evento reuniu mais de mil participantes pertencentes à academia à indústria — com sessões dedicadas às duas vertentes.

A solução proposta por Nuno Faria consiste em dividir os dados em vários registos — linhas de uma base de dados —, utilizando para esse fim a randomização, de forma a reduzir a probabilidade de conflitos para níveis arbitrariamente baixos. Neste contexto, a única coordenação necessária é com o sistema transacional, responsável pelas garantias de isolamento, através das quais duas ou mais transações simultâneas não originam conflitos. Perante uma situação deste tipo, o isolamento fará com que, por exemplo, uma das transações seja cancelada, para garantir a consistência do sistema.

Até agora, a solução foi testada em cinco sistemas diferentes, desde DBx1000 a MySQL GR, mas também num sistema NewSQL nativo de nuvem, tendo demonstrado um desempenho positivo e taxas de conflito reduzidas em comparação com as alternativas disponíveis.

Tal como explica o investigador do Laboratório de Software Confiável (HASLab), Nuno Faria, os sistemas transacionais de alto rendimento dependem do paralelismo nos núcleos de processador e nos nós distribuídos para realizar múltiplas operações em simultâneo. No entanto, o isolamento transacional introduz a necessidade de evitar resultados inválidos, o que se traduz numa redução da taxa de execução transacional. Este problema é especialmente latente em setores com elevadas cargas de dados transacionais, como é o caso do comércio ou da banca, devido ao grande número de acessos concorrentes, por exemplo, quando duas transações tentam modificar o stock de um produto em simultâneo.

A técnica MRVs aborda estes pontos, permitindo que as transações concorrentes tenham acesso a partes divididas de um valor contestado (um valor com muitos acessos concorrentes). A randomização é utilizada para gerir cada operação do cliente, começando numa posição aleatória e percorrendo um índice para um ou mais registos, de acordo com o necessário. A ferramenta de isolamento transacional fornece a coordenação necessária entre clientes simultâneos — por exemplo, quando dois indivíduos compram o mesmo produto do mesmo stock ao mesmo tempo — e tarefas de manutenção, evitando a necessidade de interação distribuída explícita adicional.

Os resultados das experiências feitas com recurso à solução MRVs foram promissores, tendo esta sido implementada em diferentes sistemas de gestão de bases de dados transacionais, como PostgreSQL, DBx1000, MongoDB, MySQL GR.

Nuno Faria destaca ainda que uma das maiores vantagens da técnica MRVs é que esta pode ser implementada sistemas existentes, sem que tal obrigue a alterações no mecanismo das bases de dados. Desta forma, fica facilitada a sua adoção em clouds de código fechado, o que permite a sua combinação com outros métodos de sincronização de alto desempenho.

“Melhora bastante o desempenho relativamente à versão mais comum, para além de ser mais fácil de implementar/gerir e eficiente do que as alternativas atualmente disponíveis”, destaca. Outra vantagem parece ser a adaptação automática “à carga para reduzir o overhead de tempo e espaço”, conclui.

 

O investigador do Laboratório de Software Confiável (HASLab) mencionado na notícia tem vínculo ao INESC TEC e à UMinho.

FONTE: BIP-INESC TEC