RepliC: replicação elástica de banco de dados multi-inquilino em nuvem com qualidade de serviço - Sousa, Flávio Rubens de Carvalho (2013)
Fatores econômicos estão levando ao aumento das infraestruturas e instalações de fornecimento de computação como um serviço, conhecido como Cloud Computing ou Computação em Nuvem, onde empresas e indivíduos podem alugar capacidade de computação e armazenamento, em vez de fazerem grandes investimentos de capital necessários para a construção e instalação de equipamentos de computação em larga escala. Na nuvem, o usuário do serviço tem algumas garantias, tais como desempenho e disponibilidade. Essas garantias de qualidade de serviço (QoS) são definidas entre o provedor do serviço e o usuário e expressas por meio de um acordo de nível de serviço (SLA). Este acordo consiste de contratos que especificam um nível de qualidade que deve ser atendido e penalidades em caso de falha. Muitas empresas dependem de um SLA e estas esperam que os provedores de nuvem forneçam SLAs baseados em características de desempenho. Contudo, em geral, os provedores baseiam seus SLAs apenas na disponibilidade dos serviços oferecidos. Sistemas de gerenciamento de banco de dados (SGBDs) para computação em nuvem devem tratar uma grande quantidade de aplicações, tenants ou inquilinos. Abordagens multi-inquilino têm sido utilizadas para hospedar vários inquilinos dentro de um único SGBD, favorecendo o compartilhamento eficaz de recursos, além de gerenciar uma grande quantidade de inquilinos com padrões de carga de trabalho irregulares. Por outro lado, os provedores em nuvem devem reduzir os custos operacionais garantindo a qualidade. Neste contexto, uma característica chave é a replicação de banco de dados, que melhora a disponibilidade, desempenho e, consequentemente, a qualidade do serviço. Técnicas de replicação de dados têm sido usadas para melhorar a disponibilidade, o desempenho e a escalabilidade em diversos ambientes. Contudo, a maior parte das estratégias de replicação de banco de dados têm se concentrado em aspectos de escalabilidade e consistência do sistema com um número estático de réplicas. Aspectos relacionados à elasticidade para banco de dados multi-inquilino têm recebido pouca atenção. Estas questões são importantes em ambientes em nuvem, pois os provedores precisam adicionar réplicas de acordo com a carga de trabalho para evitar violação do SLA e eles precisam remover réplicas quando a carga de trabalho diminui, além de consolidar os inquilinos. Visando solucionar este problema, este trabalho apresenta RepliC, uma abordagem para a replicação de banco de dados em nuvem com foco na qualidade do serviço, elasticidade e utilização eficiente dos recursos por meio de técnicas multi-inquilino. RepliC utiliza informações dos SGBDs e do provedor para provisionar recursos de forma dinâmica. Com o objetivo de avaliar RepliC, experimentos que medem a qualidade de serviço e elasticidade são apresentados. Os resultados destes experimentos confirmam que RepliC garante a qualidade com uma pequena quantidade de violação do SLA enquanto utiliza os recursos de forma eficiente.