Calendário Concursos

a - Abertura
f - Fecho

O tema “migração de sistemas de informação” desperta-lhe interesse?

31.07.2012
  • Ciência e Conhecimento

Então conheça o projeto ReD - Resilient Database Clusters que trata da migração para uma infraestrutura-como-um-serviço na nuvem.

O projeto ReD - Resilient Database Clusters teve como objetivo aumentar a eficiência e a robustez de sistemas de gestão de bases de dados relacionais compostos por grupos de servidores numerosos. O cenário de aplicação previsto é a migração de sistemas de informação empresariais para infraestrutura-como-um-serviço na nuvem (IaaS/cloud computing).

Ao contrário das abordagens concorrentes, que optaram por reinventar por completo o sistema de gestão de bases de dados de forma incompatível com as aplicações existentes e dificultando a migração para a nuvem (i.e., NoSQL), a abordagem ReD distinguiu-se por utilizar software de bases dados SQL standard em conjunto com vários componentes de middleware no hypervisor numa arquitetura inovadora, bem como pela ênfase na segurança e robustez.

O projeto concretizou esta visão com contribuições ao nível da replicação de bases de dados, coordenação de sistemas distribuídos tolerante a faltas e gestão de armazenamento na nuvem, tendo produzido um sistema integrado que foi avaliado experimentalmente. Estas contribuições materializam-se em publicações científicas e desenvolvimento de software "open source".

Apoio

Trata-se de um projeto com o apoio do COMPETE, com um investimento elegível de 86 mil euros, correspondendo a um incentivo FEDER de 60 mil euros.

O projeto enquadra-se no SAESCTN - Sistema de Apoio a Entidades do Sistema Científico e Tecnológico | Projetos em Co Promoção.

Enquadramento

O estado da arte em sistemas de gestão de bases de dados em grande escala continua dividido, apesar de um longo debate, entre a partilha ou não do disco entre grupos de servidores. Por um lado, um sistema com partilha permite uma grande eficiência na alocação de recursos: O número de servidores necessários é determinado apenas pela carga e disponibilidade desejada, enquanto os discos depem estritamente da redundância desejada e da largura de banda necessária. Infelizmente, esta arquitetura traduz-se num conjunto de problemas que encarecem o seu desenvolvimento pois o software servidor precisa de ser profundamente reestruturado para lidar com os mecanismos distribuídos e as falhas parciais. Como consequência, nenhum dos servidores de bases da dados “open source” suporta esta opção, bem como quase nenhum dos produtos comerciais. Além disso, a partilha de disco abre a possibilidade de corrupção dos dados em caso faltas de software ou hardware e é uma vulnerabilidade adicional em caso de intrusões.

Por outro lado, existe um conjunto de propostas para servidores sem qualquer partilha de disco baseadas em replicação coerente, que são abundantemente usadas pelos grandes serviços Web. Todas elas partem do mesmo princípio básico: As atualizações são ordenadas e propagadas para todas as réplicas antes da resposta ser enviada ao cliente, garantindo que não surgem conflitos depois de confirmadas as transações. O desempenho resultante desta técnica revela-se muito bom, especialmente com as cargas atualmente mais comuns que contêm essencialmente operações de leitura. Ao mesmo tempo, a independência lógica das réplicas aumenta a robustez e reduz a possibilidade de corrupção, seja ela maliciosa ou não. Além disso, esta técnica está disponível para todos os sistemas, pois não são necessárias alterações ao próprio servidor. Infelizmente, mesmo que sejam necessárias apenas algumas cópias para assegurar a confiabilidade desejada, um sistema com centenas de servidores precisa também de centenas de cópias dos dados, o que se traduz num custo adicional relevante, esbatendo assim a sua vantagem.

Âmbito

Seria pois interessante tentar combinar as vantagens de ambas, ou seja, a eficiência dos servidores com disco partilhado com a robustez e escala dos servidores replicados.

Curiosamente, à primeira vista parece simples combinar ambas as abordagens: Se todas as réplicas efetuam exatamente as mesmas operações de escrita, então os seus dados serão idênticos e poderão ser partilhados. Porém, a falta de determinismo interno ao SGBD faz com que a dados logicamente idênticos correspondam dados fisicamente distintos, resultando a sua partilha em corrupção. Esta abordagem simples, mesmo que funcionasse, não preservaria a independência das réplicas e portanto seria de pouca utilidade para tolerar faltas arbitrárias.

Objetivos

O objetivo deste projeto é ultrapassar este desafio e obter um sistema que combine as vantagens destas duas abordagens, num sistema genérico, robusto e barato que permita a partilha de disco entre servidores de SGBDR (Sistemas de Gestão de Bases de Dados Relacionais). A técnica a explorar consiste na combinação do protocolo de replicação com uma camada de gestão de volumes especializada, que efetue implicitamente a cópia de blocos quando estes são modificados, escondendo assim o não-determinismo das réplicas.

Resultados

Em pormenor, o projeto produzirá os seguintes resultados:

  • Uma arquitetura genérica e uma especificação da técnica proposta;
  • Uma exploração dos compromissos entre desempenho, escala e confiabilidade permitidos por esta abordagem, identificando os mais interessantes;
  • Uma avaliação experimental detalhada usando um protótipo e testes normalizados de processamento de transações.

O projeto ReD deu também ênfase à divulgação ampla e valorização dos resultados científicos. Para o efeito procurou divulgar os resultados obtidos junto da indústria a nível internacional, para o que contribuiu também a utilização e desenvolvimento de software "open source".

A continuação desta linha de investigação e a valorização dos resultados estão a ser feitas através do lançamento de um projeto de I&D em colaboração com a indústria no âmbito também do QREN, de um novo projeto de investigação já financiado através de um prémio Google Research Award (http://www.minha.pt), da integração numa proposta de uma linha de excelência já apresentada a concurso à FCT, e na preparação de uma candidatura ao 7.º Programa Quadro da União Europeia, também em colaboração com a indústria.

Dificuldades

Uma das maiores dificuldades enfrentadas pelo projeto foi a escala a que foi necessário realizar experiências de forma a obter resultados convincentes a nível internacional, em face do enorme crescimento dos sistemas em uso corrente que entretanto elevaram a fasquia. A título de comparação, desde 2008 quando o projeto foi concebido até aos dias de hoje o Facebook cresceu de 100 milhões para perto de 1 bilião de utilizadores. Esta dificuldade foi ultrapassada em parte por algumas alterações ao projeto mas também pelo desenvolvimento de técnicas de avaliação que se revelaram elas próprias inovadoras (sistema "Minha").

Conclusão

Os sistemas de gestão de bases de dados relacionais (SGBDR) são desde há muito um componente fundamental para a indústria das tecnologias da informação (TI). Apesar das mudanças significativas que ocorreram na arquitetura das aplicações desde que as bases de dados relacionais foram criadas na década de 1970 e de um recente apelo a que sejam "completamente reinventadas", os SGBDR (Sistemas de Gestão de Bases de Dados Relacionais) mantêm-se como a pedra basilar dos sistemas de informação. De facto a inovação nesta área mantém-se na ordem do dia, tanto na investigação como na indústria, pois sendo responsáveis pela manipulação e persistência de todo o estado, são também a chave para a disponibilidade e desempenho.