Propostas sem aluno atribuído

DEI - FCTUC
Gerado a 2024-05-02 12:46:28 (Europe/Lisbon).
Voltar

Titulo Estágio

Avaliação da Durabilidade: Plataformas NoSQL vs Bases de Dados Relacionais

Áreas de especialidade

Engenharia de Software

Local do Estágio

DEI-FCTUC

Enquadramento

A durabilidade é uma propriedade assegurada pelos sistemas de gestão de dados, com a qual se pretende garantir que as transações que tenham terminado se mantenham de forma permanente no sistema. É sabido que os motores transacionais (por exemplo, MySQL, Postgres, Oracle) abordam este problema de formas diferentes das bases de dados não-relacionais (por exemplo, Cassandra, HBase, OrientDB).

Neste estágio pretende-se examinar as diferenças entre as diversas plataformas NoSQL no que toca à durabilidade. Pretende-se igualmente comparar essa durabilidade com um motor tradicional, escolhendo para o efeito um dos existentes. A avaliação da durabilidade será feita com recurso a uma ferramenta desenvolvida anteriormente no DEI, e a benchmarks do domínio público tais como o YCSB.

Objetivo

O objetivo fundamental deste estágio é comparar as garantias de durabilidade dos diversos motores NoSQL, avaliando igualmente um motor transacional clássico para estabelecer um ponto de partida.

Uma benchmark tal como o YCSB será usada para exercitar o sistema, e uma ferramenta existente será aplicada ao sistema para simular cenários de falha. As bases de dados NoSQL tendem a relaxar algumas propriedades, entre as quais poderá estar a durabilidade, sendo portanto de esperar que sejam mais vulneráveis. No entanto, a durabilidade é desejada em qualquer aplicação, seja esta baseada num motor transacional ou num motor NoSQL.

Assim, pretende-se com este estágio executar diversas benchmarks sobre diversos motores de bases de dados, simular falhas com recurso a uma ferramenta existente, e classificar os resultados no que toca à durabilidade da informação armazenada no sistema.

Plano de Trabalhos - Semestre 1

- Estudo do estado da arte e das soluções atualmente existentes (mês 1).

A primeira fase consistirá em tomar contacto com as tecnologias e com as soluções atualmente existentes, incluindo motores de bases de dados e técnicas para garantia de durabilidade.

- Criação de ambiente cloud para testes e avaliações (meses 2 a 4).

Esta tarefa consiste na construção de um ambiente de testes de bases de dados, em tudo semelhante ao que se encontra na cloud. Dado que os motores NoSQL vêm a sua grande aplicabilidade à cloud, dever-se-á ter especial cuidado em correr os motores de bases de dados num ambiente o mais realista possível. Esta tarefa inclui a integração da ferramenta existente para simulação de falhas.

- Escrita do relatório intermédio (mês 5).

Dever-se-á apresentar as tarefas efectuadas durante o primeiro semestre e descrever o trabalho a realizar no segundo semestre, escrevendo para esse efeito um relatório intermédio e preparando uma apresentação pública para discussão.

Plano de Trabalhos - Semestre 2

- Desenho e preparação das experiências (meses 6 e 7).

Nesta tarefa ir-se-á instalar e configurar os motores NoSQL selecionados, bem como as benchmarks escolhidas, com vista a executar experiências que permitam medir a durabilidade garantida por cada motor.

- Medição experimental da durabilidade (meses 8 e 9).

Esta tarefa consiste em executar as experiências desenhadas na tarefa anterior, bem como na análise dos resultados obtidos.

- Escrita do relatório final (mês 10).

O estagiário deve apresentar todo o trabalho levado a cabo no decorrer
do estágio. Para tal, deverá escrever uma tese descrevendo o problema
e a sua solução, bem como preparar a sua apresentação e discussão
pública.

Condições

O trabalho irá ser realizado no Departamento de Engenharia Informática da Universidade de Coimbra e será facultado o acesso a equipamento informático bem como aos laboratórios do DEI.

Observações

Dar-se-á preferência a alunos que tenham tido um bom desempenho às disciplinas no âmbito do trabalho proposto (nomeadamente Bases de Dados, Sistemas Operativos, e disciplinas do Mestrado tais como Sistemas de Gestão de Dados).

Orientador

Raul Barbosa e Jorge Bernardino
rbarbosa@dei.uc.pt 📩