Abordagem para Qualidade de Serviço em Banco de Dados Multi-Inquilinos em Nuvem - Moreira, Leonardo Oliveira (2014)
A computação em nuvens é um paradigma bem consolidado de utilização de recursos computacionais, segundo o qual infraestrutura de hardware, software e plataformas para o desenvolvimento de novas aplicações são oferecidos como serviços disponíveis remotamente e em escala global. Os usuários de nuvens computacionais abrem mão de uma infraestrutura computacional própria para dispô-la mediante serviços oferecidos por provedores de nuvem, delegando aspectos de Qualidade de Serviço (QoS) e assumindo custos proporcionais à quantidade de recursos que utilizam modelo de pagamento baseado no uso. Essas garantias de QoS são definidas entre o provedor do serviço e o usuário, e expressas por meio de Acordo de Nível de Serviço (SLA), o qual consiste de contratos que especificam um nível de qualidade a ser atendido, e penalidades em caso de falha. A maioria das aplicações em nuvem é orientada a dados e, por conta disso, Sistemas Gerenciadores de Banco de Dados (SGBDs) são candidatos potenciais para a implantação em nuvem. SGBDs em nuvem devem tratar uma grande quantidade de aplicações ou inquilinos. Os modelos de multi-inquilinatos são utilizados para consolidar vários inquilinos dentro de um só 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. Para muitas aplicações, o maior tempo gasto no processamento das requisições está relacionado ao tempo de execução do SGBD. Portanto, torna-se importante que um modelo de qualidade seja aplicado ao SGBD para seu desempenho. Técnicas de provisionamento dinâmico são voltadas para o tratamento de cargas de trabalho irregulares, para que violações de SLA sejam evitadas. Sendo assim, uma estratégia para ajustar a nuvem no momento em que se prevê um comportamento que pode violar o SLA de um dado inquilino (banco de dados) deve ser considerada. As técnicas de alocação são usadas no intuito de aproveitar os recursos do ambiente em detrimento ao provisionamento. Com base nos sistemas de monitoramento e de modelos de otimização, as técnicas de alocação decidem onde será o melhor local para receber um dado inquilino. Para realizar a transferência do inquilino de forma eficiente, técnicas de Live Migration são adotadas para ter o mínimo de interrupção do serviço. Acredita-se que a combinação destas três técnicas podem contribuir para o desenvolvimento de um solução robusta de QoS para bancos de dados em nuvem, minimizando violações de SLA. Ante tais desafios, esta tese apresenta uma abordagem, denominada PMDB, para melhorar QoS em SGBDs multi-inquilinos em nuvem. A abordagem tem como objetivo reduzir o número de violações de SLA e aproveitar os recursos à disposição por meio de técnicas que realizam predição de carga de trabalho, alocação e migração de inquilinos quando necessitam de recursos com maior capacidade. Para isso, uma arquitetura foi proposta e um protótipo implementado com tais técnicas, além de estratégias de monitoramento e QoS voltada para aplicações de banco de dados em nuvem. Ademais, alguns experimentos orientados a desempenho foram especificados para mostrar a eficiência da abordagem a fim de alcançar o objetivo em foco.