Title: | Adaptador: uma abordagem para particionamento de dados híbrida e autônoma em bancos de dados NewSQL |
Author: | Schreiner, Geomar André |
Abstract: |
Diversas aplicações produzem e manipulam grandes volumes de dados. Muitas dessas aplicações necessitam suportar um grande número de transações OLTP (Online Transaction Processing), como aplicações da área financeira e de jogos onlines. Os tradicionais bancos de dados relacionais (BDRs) não são plenamente adequados a este tipo de demanda e os BDs NoSQL, apesar do melhor gerenciamento de Big Data, não garantem as propriedades ACID, inviabilizando seu uso em operações do tipo OLTP. Por outro lado, o movimento NewSQL introduz BDs distribuídos que garantem, simultaneamente, a escalabilidade e disponibilidade dos BDs NoSQL, assim como as propriedades ACID de BDRs. Apesar de ser uma solução promissora para ambas as problemáticas, o controle do particionamento dos dados em um ambiente distribuído no contexto de BDs NewSQL é um tema em aberto na literatura. BDs NewSQL apenas suportam o particionamento horizontal, o que não permite um particionamento mais seletivo e otimizado para alguns tipos de consultas, como aquelas que envolvem mais de uma tabela. Além disso, há também uma carência de abordagens que permitam a evolução do esquema de particionamento conforme a carga de trabalho. Desta forma, esta Tese propõe um controle da evolução do particionamento dos dados de um BD NewSQL a fim de melhorar o desempenho de transações OLTP. A principal contribuição desta Tese é uma abordagem autônoma e evolutiva de particionamento híbrido (horizontal e vertical) de dados em BDs NewSQL que considera a carga de trabalho do sistema. O desenvolvimento da Tese foi realizado em três etapas, e para cada etapa foi realizado um conjunto de experimentos. Na primeira etapa foi desenvolvida uma extensão em um BD NewSQL VoltDB, permitindo o particionamento híbrido. Os experimentos demonstram que o particionamento híbrido diminui o número de transações distribuídas. A segunda etapa propôs uma abordagem de particionamento automatizada que reorganiza os dados baseado na carga de trabalho do sistema. Os experimentos realizados mostram que a abordagem gera um número de transações distribuídas próxima a de um particionamento perfeito e com desempenho (número de transações distribuídas) superior ao de um \textit{baseline} considerado (Sistema de Gerência de BD NewSQL \textit{Clay}). Por fim, na terceira etapa, foi desenvolvida uma arquitetura que monitora constantemente o sistema NewSQL, aprimorando, sempre que necessário, seu particionamento. Os experimentos executados para a terceira etapa comprovam que esta proposta de particionamento evolutivo melhora o desempenho do sistema. Abstract: Many applications produce and manipulate large volumes of data. Besides, many of them must handle many OLTP transactions, such as financial and online gaming applications. Traditional relational databases (RDBs) are not fully adequate for this type of requirement, and NoSQL databases, regardless of better Big Data management, do not guarantee ACID properties, making their use in OLTP-type operations unfeasible. On the other hand, the NewSQL movement introduces distributed databases in the cloud that simultaneously guarantee the scalability and availability of the NoSQL databases and the ACID properties of the RDBs. Despite being a promising solution for both problems, the control of data partitioning in a distributed environment in the context of NewSQL DBs is an open issue in the literature. NewSQL databases only support horizontal partitioning, which does not allow more selective and optimized partitioning for some types of queries (those involving more than one table). Furthermore, just a few approaches allow the partitioning scheme's evolution according to the workload. Thus, this thesis proposes an approach for data partition for NewSQL DB to improve the performance of OLTP transactions. The main contribution of this Thesis is an autonomous and evolutionary hybrid (horizontal and vertical) data partitioning approach for NewSQL DBs that considers the system workload. The Thesis development was accomplished in three stages, and for each stage, a set of experiments was executed. In the first stage, an extension is developed for the NewSQL VoltDB DB to support hybrid partitioning. The results of the experiments demonstrate that hybrid partitioning decreases the number of distributed transactions. The second step aims at developing an automated partitioning approach that reorganizes data based on system workload. The experiments show that the proposed approach generates a number of distributed transactions close to a perfect partitioning and provides a performance (reduced number of distributed transactions) better than a considered baseline (DB Management System Clay). Finally, in the third stage, an architecture that constantly monitors the NewSQL system is proposed to improve its partitioning whenever necessary. The experiments for this stage prove that the system performance is improved. |
Description: | Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2021. |
URI: | https://repositorio.ufsc.br/handle/123456789/229225 |
Date: | 2021 |
Files | Size | Format | View |
---|---|---|---|
PGCC1201-T.pdf | 19.25Mb |
View/ |