Documente Academic
Documente Profesional
Documente Cultură
FACULDADE DE INFORMTICA
PROGRAMA DE PS-GRADUAO EM CINCIA DA COMPUTAO
Porto Alegre
2013
L274a
DEDICATRIA
O passado histria, o futuro mistrio, o presente uma ddiva e por isso se chama presente.
(Deepak Chopra)
AGRADECIMENTOS
RESUMO
Palavras Chave: Virtualizao de banco de dados, Banco de dados virtual, Avaliao de desempenho.
ABSTRACT
Recent studies have demonstrated advantages in using Data Base Management System
(DBMS) in virtual environments, like the consolidation of several DBMS isolated by virtual machines
on a single physical machine to reduce maintenance costs and energy consumption. Furthermore,
live migration can improve database availability, allowing transparent maintenance operations on
host machines. However, there are issues that still need to be addressed, like overall performance
degradation of the DBMS when running in virtual environments and connections instabilities during a
live migration. In this context, new virtualization techniques are emerging, like the virtual database,
which is considered a less intrusive alternative for the traditional database virtualization over virtual
machines. This research analyzes aspects of this new virtualization approach, like performance
and connection stability during a database migration process and its isolation capabilities. This
evaluation shows very promising results compared to the traditional approach over virtual machines,
including a more efficient and stable live migration, maintaining the required isolation characteristics
for a virtualized DBMS.
LISTA DE FIGURAS
Figura 1.1 Processo de pesquisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 2.1 Estrutura de emulao de hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figura 2.2 Estrutura de virtualizao total. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figura 2.3 Estrutura de paravirtualizao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figura 2.4 Estrutura de virtualizao do sistema operacional. . . . . . . . . . . . . . . . . . . . . 35
Figura 3.1 Estrutura de um BD - adaptado de [Dat04] . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figura 3.2 BD em ambiente virtualizado usando Cluster. . . . . . . . . . . . . . . . . . . . . . . . . 45
Figura 3.3 BD em ambiente virtualizado usando MV. . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figura 4.1 Comparao entre as camadas de BD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figura 4.2 Processo de migrao de um BD sobre MV. . . . . . . . . . . . . . . . . . . . . . . . . . 54
Figura 4.3 Processo de migrao de um BD virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figura 5.1 Arquitetura do ambiente de avaliao (BDV e BDMV). . . . . . . . . . . . . . . . . 60
Figura 5.2 Comparao de desempenho: transaes executadas por minuto BDSO,
BDMV e BDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figura 5.3 Comparao de utilizao de CPU: BDSO, BDMV e BDV . . . . . . . . . . . . . . 64
Figura 5.4 Comparao do consumo de energia: BDSO, BDMV e BDV . . . . . . . . . . . . . 65
Figura 5.5 Comparao de operaes de entrada e sada (rede e disco): BDSO, BDMV
e BDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figura 5.6 Comparao de operaes de memria (Page-In, Page-Out e Page-Fault):
BDSO, BDMV e BDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Figura 5.7 Utilizao de CPU: Alterao de 16 CPUs para 8 CPUs. . . . . . . . . . . . . . . . . 68
Figura 5.8 Desempenho TPM: alterao de 4 CPUs para 16 CPUs. . . . . . . . . . . . . . . . . 69
Figura 5.9 Comparao das transaes executadas por minuto durante a migrao: BDV
e BDMV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Figura 5.10 Comparao da utilizao de CPU durante a migrao: BDV e BDMV. . . . . 71
Figura 5.11 Comparao da utilizao de CPU durante a migrao: BDV e BDMV. . . . . 72
Figura 5.12 Comparao da utilizao de memria durante a migrao: BDV e BDMV. . . 72
Figura 5.13 ER do BD utilizado no estudo de caso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Figura 5.14 Estudo de caso: comparao do desempenho do ambiente atual (BDMV) e
BDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
LISTA DE TABELAS
Tabela 3.1 Comparao entre os principais mtodos de Alta Disponibilidade. . . . . . . . . . 47
Tabela 4.1 Caractersticas das implementao de BD sobre MV e BD virtual. . . . . . . . . 56
Tabela 5.1 Transaes TPC-C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Tabela 5.2 Utilizao de E/S: Valores de Leitura e Escrita com diminuio de CPU . . . . 68
Tabela 5.3 Resultado de TPM com Aumento de Recursos Instncia 04. . . . . . . . . . . . 69
Tabela 5.4 Comparao de Desempenho Durante a Migrao: BDVM e BDV. . . . . . . . . 70
Tabela 5.5 Comparao do processo de migrao: BDMV e BDV. . . . . . . . . . . . . . . . . . 73
Tabela 5.6 Matriz de Comparao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
LISTA DE SIGLAS
ER Entidade Relacionamento
BD Banco de Dados
BDMV Banco de Dados sobre Mquina Virtual
BDSO Banco de dados sobre Sistema Operacional
BDV Banco de Dados Virtual
CPU Central Processing Unit
LANS Local Area Network
MV Mquina Virtual
MC Matriz de Comparao
OLTP On-Line Transaction Processing
SGBD Sistema Gerenciador de Banco de dados
SO Sistema Operacional
TPC Transaction Processing Perfomance Council
TPM Transaction per Minute
TI Tecnologia de Informao
VLAN Virtual Area Network
SUMRIO
INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.1
CONTEXTUALIZAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.2
OBJETIVO DO TRABALHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.1
OBJETIVOS ESPECFICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.2
QUESTES DE PESQUISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.3
LIMITAES DA PESQUISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.2.4
ETAPAS DA PESQUISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.3
ORGANIZAO DO TEXTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
VIRTUALIZAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1
DEFINIO DE VIRTUALIZAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2
2.3
TIPOS DE VIRTUALIZAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.1
EMULAO DE HARDWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.2
VIRTUALIZAO TOTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3
PARA-VIRTUALIZAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.4
2.4
2.5
BANCO DE DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1
3.2
3.3
3.3.1
3.3.2
3.3.3
3.4
4.1
4.2
4.2.1
4.2.2
4.3
4.4
5.1
METODOLOGIA DE AVALIAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1.1
AMBIENTE DE EXECUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.1.2
5.2
RESULTADOS OBTIDOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.1
AVALIAO DE DESEMPENHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.2
5.2.3
5.3
MATRIZ DE COMPARAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.4
ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.5
CONCLUSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1
6.2
TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
25
1.
INTRODUO
26
sos inerentes virtualizao, sem a perda de desempenho ocasionada pela incluso de uma camada
intermediria [LCR+ 12].
Neste sentido, o desafio compreender as caractersticas de cada abordagem e avaliar
a melhor forma para empregar uma infraestrutura de banco de dados em ambiente virtualizado.
Considerando os benefcios trazidos pela virtualizao e procurando alternativas que minimizam a
degradao de desempenho provocado pela insero de uma camada adicional de software, este
trabalho tem como objetivo avaliar e identificar a melhor opo de implementao de uma infraestrutura de banco de dados em um ambiente virtualizado, avaliando a abordagens conhecidas e
analisando a melhor alternativa virtualizao de banco de dados em ambientes virtualizados.
1.1
Contextualizao
27
proposta que permite a gerncia de recursos e isolamento para aplicaes de SGBD baseada em
containers, aplicada para banco de dados [AZR+ 12].
1.2
Objetivo do Trabalho
Objetivos Especficos
Motivado pelo objetivo geral deste trabalho, direciona-se a proposta para um contexto
mais centrado, atravs dos seguintes objetivos especficos:
Como principal contribuio, tem por objetivo especfico explorar o conceito de virtualizao
de banco de dados utilizando a tecnologia de containers.
Testar, avaliar e comparar particularidades de funcionamento tais como valores de desempenho,
consumo de recursos e caractersticas de gerncia das abordagens mais comuns, comparando
com abordagem explorada neste trabalho.
Desenvolver uma matriz de comparao para identificar o modelo adequado a ser aplicado,
variando as necessidades para cada implementao.
Realizar um estudo de caso de um ambiente real, aplicando a matriz de comparao e observando o desempenho de ambiente reais.
1.2.2
Questes de Pesquisa
28
Limitaes da Pesquisa
Etapas da Pesquisa
O processo de pesquisa deste trabalho foi desenvolvido em quatro etapas: Estudo, Planejamento, Construo e Validao. Estas etapas podem ser observadas na Figura 1.1 e visam nortear
os objetivos a serem alcanados durante o processo de desenvolvimento da pesquisa, objetivando os
resultados de cada etapa. As etapas executadas durante o processo de pesquisa deste trabalho so
descritas a seguir:
Estudo: a primeira fase deste trabalho foi identificar e selecionar os sistemas de bancos de
dados que apresentassem as caractersticas necessrias para o desenvolvimento da pesquisa.
Esta atividade foi conduzida atravs de pesquisa do estado da arte, identificando as abordagens
existentes.
Planejamento: alm de um levantamento detalhado sobre os SGBDs, tambm foi necessrio
um entendimento sobre virtualizao e consolidao de sistemas, identificando as melhores
prticas descritas no estado da arte. Foi tambm necessrio um entendimento sobre benchmarks, onde foi definido o sistema de medio de desempenho mais adequado para a realizao
deste trabalho.
Construo: Aps o estudo da arte envolvendo banco de dados e virtualizao, o prximo
passo foi implementar os sistemas de bancos de dados nos modelos abordados anteriormente:
utilizao em ambiente nativo de hardware, utilizao em uma mquina virtual e banco de
dados virtual. nesta etapa que os dados foram gerados e coletados.
Validao: Os dados de desempenho gerados pelo benchmark e os dados de utilizao de
recursos foram analisados pela matriz de comparao, agrupada pelo modelo de implementa-
29
Organizao do Texto
30
31
2.
VIRTUALIZAO
A virtualizao de recursos adiciona uma camada intermediria de software entre as aplicaes e o hardware. Esta camada mapeia os recursos virtuais visveis s aplicaes mediando com
os recursos fsicos disponveis no hardware hospedeiro [SMA+ 08]. A camada de comunicao intermediria entre os recursos fsicos e os recursos virtuais possibilita o compartilhamento dos recursos
e a realocao destes recursos quando necessrio. Assim, em um servidor fsico podem ser executadas mltiplas aplicaes (isoladas uma da outra) compartilhando os mesmos recursos de hardware
[SMA+ 08].
Este captulo est organizado da seguinte forma: primeiramente na Seo 2.1 so apresentados alguns conceitos de virtualizao; Na Seo 2.2 so descritas as principais motivaes que
justificam o processo de virtualizao; a seguir, na Seo 2.3 so abordados os principais tipos de
virtualizao; e por ltimo, na Seo 2.4 so analisados alguns exemplos de recursos que podem ser
virtualizados.
2.1
Definio de virtualizao
A virtualizao amplamente definida como o ato de executar um software em um ambiente virtual [Car08]. Um ambiente virtual existe quando um Sistema Operacional (SO) de alguma
maneira emulado ou no executado diretamente no hardware fsico. No contexto deste trabalho,
vamos adotar essa definio, j que apresenta a virtualizao como a possibilidade de executar um
software ou servio em um ambiente virtual, sem que os mesmo tenham o conhecimento de que
esto sendo executados neste ambiente.
Me outra definio, virtualizao o processo de desassociao do hardware conhecido
pelo SO e a mquina fsica propriamente dita, comumente considerada uma camada hardware criada
em software. Simplificando, a virtualizao semelhante a um computador dentro de um outro
computador, implementado em software, gerando a iluso da existncia de dispositivos fsicos, como
placas de som, CPUs, memria e armazenamento fsico [CJ06].
Um SO sendo executado em um ambiente virtualizado conhecido como uma Mquina
Virtual (MV). A tecnologia de virtualizao permite que vrias MVs, com sistemas operacionais
diferentes, executem lado a lado, isolados e na mesma mquina fsica, emulando um sistema completo
de hardware, desde o microprocessador at placa de rede.
Cada MV pode compartilhar um conjunto comum de recursos de hardware, isoladas de tal
forma que uma MV no influncia nem depende de outra. Este tipo de isolamento oferece a utilizao
do compartilhamento de hardware de maneira que durante a execuo da MV no percebido que
o hardware tambm pode estar sendo usado por outra MV ao mesmo tempo.[BDF+ 03]
32
2.2
33
Tipos de virtualizao
A virtualizao pode ser usada em diferentes modelos e nveis de acesso ao hardware hospedeiro [Jon06]. Neste trabalho so abordados os principais modelos de virtualizao, apresentados
a seguir.
2.3.1
Emulao de hardware
34
Analisando algumas das desvantagens, pode ser verificado que neste modelo cada instruo
executada no SO convidado deve ser mapeada de uma arquitetura virtualizada para a arquitetura
fsica, prejudicando assim o desempenho [Jon06]. Isto ocorre porque uma mquina emulada, recria
uma arquitetura de pilha, registradores, filas, etc, onde ao executar uma instruo, essa dever
repassar a instruo de uma arquitetura emulada para ser executada na arquitetura nativa.
2.3.2
Virtualizao total
Virtualizao total utiliza uma camada de software para abstrair os recursos fsicos, porm
diferentemente da anterior, o objetivo fornecer ao SO visitante uma rplica do hardware subjacente.
Dessa forma o SO visitante executado sem modificaes sobre o MMV. As estrutura desse tipo
de virtualizao pode ser observada na Figura 2.2. Nesse tipo de virtualizao, o hardware do
sistema hospedeiro emulado de forma que os SOs instalados (SO convidado) so executados sobre
a camada de controle (Hypervisor MMV) e devem ser compatveis com a arquitetura nativa [CJ06].
Esse tipo de virtualizao mais rpida que a emulao de hardware, porm o desempenho
ainda inferior do que a utilizao nativa devido mediao da camada intermediria de software
(Hypervisor ). A camada hypervisor responsvel pela segurana dos recursos de hardware e pelo
controle do fluxo de informaes entre MVs e o hardware hospedeiro [PPS+ 07].
Para-virtualizao
35
comparada aos modelos anteriores, considerando que os SOs convidados podem se beneficiar do fato
de conhecerem que esto em um ambiente virtual [CJ06]. A estrutura desse tipo de virtualizao
pode ser observada na Figura 2.3. possvel notar que entre as camadas de SO convidado e
hypervisor h uma camada de alterao do SO, responsvel por possibilitar que as instrues sejam
executadas diretamente no hardware hospedeiro.
36
2.4
A virtualizao pode ser considerada atualmente como uma prtica comum em ambientes
de TI [BDF+ 03] . Atualmente vrios recursos podem ser virtualizados. Dentre os principais recursos
que podem ser virtualizados em um ambiente de TI, este trabalho pode citar:
Virtualizao de servidores: possibilita a criao de mltiplas MV isoladas uma das outras, com seus respectivos SO e em uma nica mquina fsica, ainda que sejam logicamente
distintas, porm com perfis de hardware consistente [AM10].
Esta modalidade muitas vezes pode tomar o lugar da prtica onerosa de consolidao de
servidores manual, atravs da combinao de vrios servidores virtuais em um servidor fsico.
O foco da virtualizao de servidores est em maximizar a eficincia do hardware do servidor,
a fim de aumentar o retorno sobre o investimento do hardware [AM10], [CJ06].
Virtualizao de aplicaes: cria uma instncia do aplicativo de acordo com a necessidade
e distribuda atravs de uma rede conforme a demanda. Esta estratgia de virtualizao vai
de mos dadas com a iniciativa de padronizar os servios de internet [Jon06].
Aplicativos virtualizados podem usar uma camada de abstrao em comum que define um
protocolo permitindo a comunicao de um aplicativo com outro em um formato de mensagem
padro. Assim, as aplicaes podem chamar outro aplicativo, a fim de executar as funes
solicitadas. A aplicao virtualizada no s capaz de invocar remotamente os pedidos e
retornar resultados, mas tambm garantir que o estado do aplicativo e outros dados estejam
disponveis e com recursos consistentes em todos os servidores que executam a aplicao.
Virtualizao de storage: possibilita que dispositivos de armazenamento separados possam
ser combinados e sejam acessados como uma nica unidade. Essa modalidade tenta maximizar
a eficincia do hardware de armazenamento em uma arquitetura virtual [SKM08].
37
Virtualizao de rede: possibilita a criao de mltiplas redes virtuais que podem ser combinadas em uma nica rede fsica (pode ser suportado em um nico equipamento de rede)
ou ainda, podem criar redes separadas logicamente em vrias partes no mesmo ambiente.
Uma prtica comum criar LANs (Local Area Network) virtuais, ou VLANs (Virtual Area
Network), a fim de gerenciar de forma mais eficaz uma rede [SKM08].
Virtualizao de banco de dados: propicia que servidores de banco de dados possam
ser tratados como servios, possibilitando o acesso aos dados localizados em qualquer lugar
geograficamente sem a necessidade de saber ou se importar onde os dados realmente residem.
A virtualizao de banco de dados permite o uso de mltiplas instncias virtuais de banco de
dados simultaneamente, de forma transparente e independentemente da sua localizao fsica.
Estas prticas podem ser empregadas em minerao de dados e sistemas de armazenamento
de dados [AAS08], [CRFD07], [MYAS08], [Tya09].
No contexto deste trabalho, banco de dados uma classe de sistemas que tem caractersticas especficas e que devem ser consideradas antes de virtualizar. No Captulo 3 essas caractersticas
sero abordadas de forma mais detalhada.
2.5
38
39
3.
BANCO DE DADOS
Banco de Dados (BD) foi originalmente projetado com o objetivo de separar o armazenamento fsico dos dados da sua representao conceitual e prover uma fundamentao matemtica
para identificar o esforo necessrio no processo de acesso aos dados. [EN11]. Essa abordagem
de implementao introduziu as linguagens de consulta de alto nvel, que so uma alternativa s
interfaces para as linguagens de programao e conseqentemente, ficou mais rpido e fcil escrever
novas consultas e obter o resultado extrado do BD [Dat04].
Logo, o BD uma classe de recursos que tem caractersticas bem especficas e estas devem
ser consideradas antes de virtualizar um servidor de BD.[MYAS08]. Este Captulo aborda uma viso
geral sobre BD e a sua utilizao em ambientes virtualizados.
O texto est organizado da seguinte forma, primeiramente, Na Seo 3.1 apresentada
a definio e as caractersticas de um BD; Na seqncia, explorado na Seo 3.2 a estrutura de
BD; Na Seo 3.3 abordado a implementao de BD em ambientes virtualizados, fazendo um
estudo das principais dificuldades da utilizao nesses ambientes e e por ltimo, A Seo 3.4 traz
as concluses alcanadas com este Captulo.
3.1
Banco de dados um recurso que pode ser interpretado como um sistema computadorizado
de armazenamento de registros, porm, no se resume apenas ao armazenamento dos registros, mas
oferece tambm a possibilidade de manipulao e gerenciamento destes registros. A manipulao
dos registros poder acontecer sob a forma de alteraes, inseres e excluses de dados [Dat04].
A definio de BD, adotada neste trabalho, descreve como uma coleo de dados relacionados ou fatos que podem ser armazenados e que possuem um significado implcito [EN11].
Algumas das principais caractersticas de um BD so apresentadas a seguir:
Representa fatos do mundo real: BD representa alguns aspectos do mundo real na estrutura dos dados. Alguns autores chamam essa estrutura de dados de mini mundo. Qualquer
mudana no mini mundo pode se refletida em todo o BD [EN11].
Dados organizados: BD uma coleo lgica e coerente de dados com algum significado
inerente. Uma organizao de dados ao acaso (randmica) no pode ser corretamente interpretada como um BD [EN11].
Dados coerentes: O BD projetado, construdo e populado por dados, atendendo a um
assunto em comum. Possui um grupo de usurios definidos que acessam esses dados por
meio de algumas aplicaes previamente geradas, administrando os dados de acordo com o
interesse desse grupo de usurios [EN11].
40
Conforme apresentado na Seo anterior, um BD composto basicamente por dois componentes: um conjunto de programas responsveis pelo gerenciamento do acesso aos arquivos de
dados e os dados, armazenados nesses arquivos. O primeiro, possui interfaces para a criao e manipulao dos dados, alm de outras funcionalidades, como o controle de segurana e integridade.
A segunda parte de um BD so os dados propriamente ditos, que normalmente esto dispostos em
um ou mais arquivos seguindo uma estrutura fsica proprietria do SGDB em questo [AZR+ 12].
Os SGBDs tem como uma de suas caractersticas a independncia entre estruturas lgicas
de dados como tabelas, views e ndices das estruturas de armazenamento fsicas (estrutura de
arquivos). Isto pode ser observado na Figura 3.1. Como as estruturas lgicas e fsicas so separadas,
a camada fsica de dados pode ser armazenada sem influenciar o acesso s estruturas lgicas. Uma
analogia renomear uma estrutura lgica, por exemplo uma tabela, e no renomear o arquivo fsico
que armazena essa tabela. Normalmente, estes arquivos fsicos so criados no momento em que
uma estrutura de dados lgica definida.
Um arquivo de dados existe fisicamente no disco e criado pelo SGBD. Nele so armazenadas as estruturas de dados, tais como as tabelas, ndices e os registros. Estes arquivos que so
41
42
Neste contexto, este trabalho usa a definio de instncia como a combinao dos processos sendo executados na memria e que so utilizados para a gerncia e acesso aos arquivos de
dados [Dat04]. Esta definio muito importante para a correta compreenso e prosseguimento
deste trabalho.
Os valores dos parmetros de uma instncia, como utilizao de memria, tamanho e tipo
de acesso, podem ser definidos no momento de sua criao. Esses parmetros iro alocar recursos do
sistema operacional que foi configurado e iniciar os processos responsveis por manipular os arquivos
de dados [SMA+ 08].
As instncias so armazenadas em um nvel diferente dos dados. As mdias de armazenamento de computador formam uma hierarquia de armazenamento que inclui duas categorias
principais:
Armazenamento primrio: inclui os recursos de armazenamento que podem ser acessados diretamente pela unidade central de processamento (CPU), como a memria principal e a
memrias cache, que so em geral pequenas, se comparadas ao volume de dados armazenado. A
vantagem da utilizao deste tipo de armazenamento a velocidade de acesso as informaes, porm
com uma capacidade reduzida [SKM08].
Armazenamento secundrio: so identificados como os recursos de discos (ou storages). Esses dispositivos geralmente possuem maior capacidade combinado com menor custo, porm
proporcionam o acesso mais lento, se comparado aos dispositivos de armazenamento primrio. Os
dados de um armazenamento secundrio no podem ser processados diretamente pela CPU [SKM08].
Na Figura 3.1 pode ser observada a estrutura de um BD e a hierarquia de armazenamento.
SGBDs podem armazenar e manipular grandes volumes de dados que normalmente devem ser mantidos por longos perodos de tempo. Os dados podem ser acessados e processados repetidamente ao
longo da sua existncia e, em alguns casos, devem permanecer e estar disponveis permanentemente.
Neste caso, os dados devem ser armazenados na memria secundria onde as alteraes dos dados
devem ser persistidas fisicamente.
Em contraste, a instncia armazenada na memria primria e permite o acesso aos
arquivos de dados. Uma instncia s existe durante o perodo de execuo e no momento em que essa
deixar de executar, a instncia libera a memria primria permanecendo somente os dados persistidos.
Quando uma instncia encerrada, os dados acessados por ela no estaro mais disponveis aos
aplicativos clientes.
3.3
43
servidores virtuais em comparao a utilizao de servidores fsicos, que uma preocupao comum,
e a dificuldade de consolidao dos servidores virtuais sobre uma mquina fsica.
3.3.1
No bastasse o alto consumo de recursos, BD tambm so normalmente bastante complexos quanto sua correta instalao, configurao e otimizao. Tambm deve ser levado em
considerao o desempenho, observada como desvantagem da utilizao de virtualizao em servidores de BD. Porm, de acordo com estudos realizados [CRFD07] [LCR+ 12] [MYAS08], a perda de
desempenho em mdia chega a dois dgitos percentuais, e devido em grande parte s falhas de
paginao (Page Fault). Uma falha de paginao ocasionada quando os dados necessrios para
execuo de determinada instruo no se encontram na memria principal, ou se encontrada, no
est presente no espao de endereamento do processo corrente [MYAS08] [SMA+ 08].
Alm do problema de paginao, outro problema que pode afetar o desempenho de um
BD sobre MV so as camadas de software inseridas entre os recursos, tais como o hardware e o SO,
haja visto que esse camada adicional pode comprometer os ciclos do processador, gerando um nus
de desempenho durante a execuo [AMN06].
Em um ambiente de MVs, onde cada uma est executando um BD independente, elas
esto competindo pelos recursos fsicos de um servidor. Uma das dificuldades alocar os recursos
conforme a necessidade de cada BD. Considerando os diferentes tipos de recursos fsicos, tais como
memria, capacidade de CPU ou velocidade de I/O, atribudas s MVs, a dificuldade alocar uma
parte ou frao de cada recurso da mquina fsica para cada MV. Desta forma, devem ser definidos
os parmetros de configurao dos recursos das MV na hora de inicializao e cada MV deve ser
monitorada para identificar possveis falhas ou gargalos [HLAP06].
Ao criar uma MV para uma ou mais aplicaes importante configurar corretamente os
recursos. Uma deciso importante que deve ser feita ao configurar uma MV decidir o quanto dos
recursos fsicos disponveis sero destinados a cada MV. Atualmente, h pesquisas que propem um
sistema automtico para tomar esta deciso nas MV que hospedam os BD [PPS+ 07] [SDG+ 07].
Ao considerar os pontos positivos sobre virtualizao mencionados no Captulo anterior,
possvel destacar alm daqueles, a consolidao de BD em ambiente virtualizados. O aumento da
demanda por recursos ao BD pode ser facilmente resolvida atravs da gerncia de BD em ambientes
virtualizados com ferramentas especficas de virtualizao [AAS08].
Dificilmente servidores de BD so totalmente monitorados durante a execuo, independentemente do SO que est sendo utilizado. Para os administradores de BD, que so os responsveis
por manter cada servidor, esses servidores geram uma demanda particular no gerenciamento de desempenho, podendo ser considerado um desafio.
44
3.3.2
Em contrapartida, uma das vantagens positivas que a virtualizao fornece aos administradores desses ambientes de TI a fcil migrao das MVs entre os servidores fsicos, aumentando
assim o tempo de disponibilidade do servio e consolidando os recursos [CJMB11].
Porm, essa facilidade ao longo da administrao tem gerado um incmodo, pois a simples
atividade de consolidar vrios servios de BD sobre um mesmo equipamento fsico vem ocasionando
alm da perda de desempenho esperada da virtualizada, um tempo de inatividade, provocando uma
queda de desempenho acentuada durante o processo de consolidao.
Esse tempo gasto de indisponibilidade durante o processo de migrao do servidor de
um BD, vem criando uma ateno especial nessa atividade. Como a MV pode ser movida de um
servidor sem recursos para outro servidor com mais recursos, a migrao pode ser considerada a
principal atividade de sobrecarga que os administradores esto enfrentando atualmente no processo
de consolidao [CJMB11].
Neste processo, a fase de migrao de MV pode ser implementada usando vrias tcnicas
diferentes para reduzir o impacto. Dentre as principais, este trabalho aborda:
Migrao Offline/Online: a forma mais simples de migrar um servidor de banco de
dados parar o servio, mover a MV para o novo servidor e iniciar o servio no novo ambiente.
Embora sejam consideravelmente simples e segura, todas as conexes e transaes so perdidas
durante a execuo da migrao [HLAP06].
Migrao sob Demanda: para diminuir o tempo de inatividade do servio, pode-se usar
uma tcnica de migrao onde iniciada uma nova cpia da instncia de banco em outro servidor
que recebe todas as novas conexes mantendo as antigas. Essa abordagem pode ser considerada
mais eficiente que a anterior, porm produz uma sobrecarga alta aps a migrao para manter a
sincronia entre origem e destino [SDG+ 07].
Migrao em Tempo Real: semelhante tcnica anterior, porm para resolver o problema de sobrecarga de sincronia, essa tcnica grava o estado do banco de dados (das transaes)
recuperando o seu estado atual aps a migrao [SDG+ 07].
Desta forma, para consolidar mltiplos BD sobre um servidor fsico, devem ser utilizadas
mltiplas MVs, uma para cada BD, dependendo do grau de abstrao desejado. Nesta abordagem,
durante o processo de consolidao, alm dos dados do BD (SO e SGBD) serem migrados, h uma
sobrecarga do trfego, considerando que a MV tambm deve ser transferida.
Em suma, o desempenho um BD em um ambiente virtualizado comparado com um ambiente no virtualizado menor [LCR+ 12]. Alm da perda de desempenho, h tambm a dificuldade
no processo de consolidao, onerando ainda mais a execuo de um DB em um ambiente virtualizado, que normalmente disponibilizado em uma MV. Vrios fabricantes de SGBDs investigam
esse nicho onde so oferecidas alternativas para contornar essa dificuldade. Na prxima Seo, so
45
3.3.3
46
47
3.4
Este Captulo explorou os conceitos sobre BD. Estes conceitos so importantes para o
entendimento do restante do trabalho. Entre os conceitos mais importantes, possvel destacar a
definio de BD como um conjunto de programas e dados. Os programas (SGBD) so responsveis
por gerenciar e manter os arquivos de dados. Tambm exposto o conceito de instncia de BD
como uma estrutura lgica que possibilita o acesso ao dados, mantido pelo SGBD e armazenado na
memria principal.
Tendo como principais vantagens da utilizao de tecnologias de virtualizao, o fornecimento de forte isolamento, segurana e consolidao de servidores fsicos [Jon06], pode ser inevitvel
a introduo da virtualizao na arquitetura de administrao de servidores de BD.
A virtualizao de BD normalmente implementada atravs da execuo sobre uma MV.
Este Captulo explorou essa prtica, abordando alguns aspectos, quais sejam, o problema de desempenho devido incluso de uma camada adicional de virtualizao, o problema de consolidao de
vrios BD em um nico servidor virtual que se d principalmente atravs do processo de migrao de
uma MV, movendo a MV de servidor fsico para outro e o benefcio de alta disponibilidade inerente
a esse tipo de ambiente, focando em clusterizao e na utilizao de MVs.
No prximo Captulo demonstrada uma alternativa s solues convencionais abordadas,
explorando os benefcios de implementao de uma abordagem alternativa.
48
49
4.
DADOS
Embora a prtica de execuo de BD sobre MVs possa ser explorada, existem vrios desafios
a serem superados, dentre eles, o desafio de melhorar o desempenho e a dificuldade de consolidao.
Conforme apresentado anteriormente, o primeiro motivado pela insero da camada intermediria
entre o SGBD e o hardware, obrigando uma execuo extra: a traduo de endereos virtuais para
endereos fsicos [AAS08]. Neste sentido, surge ento a abordagem alternativa para utilizao de
BD em ambientes virtualizados: o Banco de Dados Virtual.
Este Captulo explora essa abordagem alternativa, apresentando esse paradigma e comparando com as implementaes estudadas. Primeiramente na Seo 4.1 so abordados os desafios
da virtualizao de BD; em seguida, na Seo 4.2 apresentado o modelo de BD virtual com
suas respectivas caractersticas, destacando as vantagens desta utilizao; Nas Sees 4.2.1 e 4.2.1
so apresentados os processos de migrao utilizando a abordagem convencional e a abordagem
utilizando o BD virtual; e por ltimo, na Seo 4.4 apresentado a concluso deste Captulo.
4.1
Fabricantes de hardware e software esto incluindo cada vez mais funcionalidades de virtualizao em seus produtos para dar suporte crescente demanda por ambientes virtualizados
[Jon06].
Assim, tornam-se cada vez mais escassos os argumentos para no utilizar a virtualizao
para BD. Cada vez mais, novos produtos esto sendo lanados visando reduo do impacto da
virtualizao de BD. Em um ambiente virtual de BD, normalmente os servios so executados
em ambientes virtuais isolados. Uma caracterstica desses ambientes virtualizados que mltiplos
SGBDs podem ser executados simultaneamente em um servidor fsico com isolamento total, tornando
a virtualizao ainda mais atraente.
Porm, sabendo que o desempenho de um servidor de BD em um ambiente virtualizado
menor, o desafio agora o minimizar o overhead, embora conforme mencionado anteriormente,
a perda de desempenho pode ser limitado em particular por traduo de endereos virtuais para a
arquitetura fsica [Jon06]. Uma possvel soluo desenvolver uma camada de aplicao utilizando
a abstrao entre o SO e o hardware fsico, comunicando de uma forma mais eficiente. Essa camada
no s capaz de atender aos pedidos do ambiente virtual, mas tambm capaz de confirmar o
estado da aplicao SGBD e disponibilizar os dados restantes sobre todos os recursos fsicos.
Outro desafio, dado o crescimento do ambiente de TI, a consolidao de servidores
virtuais sobre os servidores fsicos [MYAS08]. Essa prtica vem se tornado um alternativa para dar
suporte a ambientes complexos. Uma das caracterstica de um ambiente consolidado a alta taxa
de virtualizao dos recursos. Uma estrutura bem consolidada pode gerar uma economia nos custos,
50
como por exemplo, a economia de consumo de energia, de refrigerao, melhor utilizao dos recursos
computacionais e com os custos de licenciamento sem perda de desempenho. Outros ganhos tambm
podem ser uma melhor administrao dos sistemas com maior flexibilidade para o ambiente, menor
espao ocupado e menos emisso de CO2 para o meio ambiente. Porm, a consolidao no um
processo fcil, haja vista que este processo consiste em adequar os recursos virtuais da melhor forma
possvel, assegurando a correta alocao dos recursos fsicos em um ambiente que normalmente no
pode sofrer paradas para realizar tais atividades. Nesse aspecto, permanece o desafio de consolidar
um ambiente com BD de forma eficiente, executando uma migrao de um SGBD e alocando os
recursos da melhor forma possvel.
Para manter os ambientes de alta demanda sempre disponveis, devem-se ter como premissa a alta disponibilidade, e neste contexto, um BD tambm pode ser considerado como um fator
fundamental em um ambiente de TI [VBVB09]. Dentre as solues normalmente utilizadas e apresentadas anteriormente, temos a clusterizao (replicao) e a utilizao de MV para suportar o BD
em um ambiente de TI, que fornecem um padro de servios ininterruptos baseadas em migrao do
ambiente, porm tambm ocasionam sobrecarga aos administradores desses ambientes. O desafio
neste caso oferecer um padro de servio ininterrupto com o menor tempo de indisponibilidade,
gerando o menor nus possvel na administrao, facilitando assim a atividade do administrador.
Embora a utilizao de virtualizao tenha atrativos, vistos na Seo 2.2, ntido que
ainda h desafios de melhorias que podem ser alcanadas. Pesquisas atuais buscam alternativas
para superar tais desafios, comparando as abordagens de virtualizao de BD [AAS08] [AZR+ 12].
Alguns trabalhos indicam o emprego de BD em ambientes virtuais utilizando tcnicas alternativas
de virtualizao, como por exemplo, o uso de containers que apresentam um melhor desempenho
se comparado com a execuo de MV [XNR+ 13]. Embora cada soluo possua seus benefcios e
limitaes, um problema que compartilhado por todos o desempenho.
A seguir, apresentada a abordagem alternativa virtualizao de BD baseadas em MV,
demonstrando suas caractersticas e benefcios, realizando uma comparao entre as implementaes
da abordagem convencional que utiliza MV e o modelo alternativo.
4.2
51
que fornecem acesso ao banco de dados (SGBD) so instalados em cada servidor que ir prover o
servio de virtualizao da instncia. Em um nico servidor podem ser virtualizadas vrias instncias
de BD, possibilitando o gerenciamento individual de cada instncia que tratada como uma extenso
do SO.
Esta tcnica similar virtualizao baseada em containers, disponveis em alguns sistemas
operacionais modernos (por exemplo, Linux Containers [Lin12], FreeBSD Jails [Fre12] e Solaris
Zones [Sol12]). A virtualizao baseada em containers possibilita a criao de mltiplos ambientes
virtuais que funcionam de forma isolada, em nvel de usurio e compartilhando o mesmo ncleo do
sistema operacional. Este tipo de virtualizao normalmente apresenta um desempenho bastante
prximo ao nativo, j que no replica toda a pilha do SO [XNR+ 13]. De maneira anloga, a
virtualizao em nvel de BD permite a criao de mltiplas instncias de BD, que so isoladas entre
si, sem a necessidade de ter uma MV que replica toda a pilha de SO e o prprio SGDB.
Na Figura 4.1 so apresentadas as camadas de software necessrias implementao de
um BD. A Figura 4.1(a), mostra a estrutura de um BD sobre o ambiente nativo. Esta a forma
tradicional de executar um BD sem os recursos de consolidao. A alta disponibilidade pode ser
alcanada mediante a replicao do ambiente em mquinas fsicas.
A Figura 4.1(b) mostra a implementao de BD sobre uma MV. possvel notar o acrscimo nas camadas de software, causado pela adio da camada de hypervisor. Este tipo de implementao possibilita a consolidao de BD e a implementao da alta disponibilidade sem a
obrigatoriedade de replicar o ambiente.
Finalmente, na Figura 4.1(c) apresentada a estrutura de softwares da abordagem de BD
virtual. Nesta abordagem no h uma camada adicional de hypervisor, permanecendo a funo de
virtualizao no SGBD, que atravs de modificao especficas no SO possibilita o gerenciamento
individual de cada instncia de BD.
Este tipo de virtualizao permite que um tipo de SO conviva com diversas outras instncias
do mesmo sistema, compartilhando os recursos fsicos, definio esta j apresentada neste trabalho
na Seo 2.3.4. O ambiente virtual funciona como um processo do sistema anfitrio, mediante
alteraes no SO. Porm, a necessidade de alteraes no SO anfitrio e a obrigatoriedade de que
todos os ambientes virtualizados sejam do mesmo tipo, podem ser consideradas desvantagens, haja
visto que limita a virtualizao ambientes homogneos.
A semelhana do desempenho ao ambiente nativo se justifica devido a camada intermediria entre o SGBD e o hardware ser menor (Figura 4.1) diminuindo o overhead causado pela incluso
de uma camada intermediria de hypervisor. Considerando que o SO no virtualizado, como em
uma MV, e que somente as instncias do BD virtualizada, no necessrio traduzir cada instruo
do SGDB para o SO hospedeiro. Observado que o recurso de virtualizao est no kernel do SO,
as instrues podem ser executadas diretamente no hardware. Neste modelo, o hypervisor tem
como uma de suas funes controlar os recursos disponveis para que todas as instncias acessem os
recursos conforme a configurao individual [AZR+ 12]. Tal caracterstica permite que as instrues
no necessitem ser traduzidas ou repassadas para o hardware hospedeiro pela camada intermedi-
52
4.2.1
A administrao das instncias virtuais uma atividade muito importante no gerenciamento do BD e pode ser considerada uma vantagem, dada a facilidade de se manusear as instncias
virtuais, porm pode tambm ser considerada um problema, caso no se tenha ferramentas adequadas para o controle das instncias ou at mesmo caso se crie um nmero excessivo destas, observada
a facilidade desta operao.
Em um ambiente de BD virtual, possvel consolidar a instncia de BD de forma muito
mais eficaz a abordagem apresentada anteriormente. Neste tipo de consolidao, possvel monitorar
os recursos disponveis de hardware, adicionando ou removendo recursos ao BD virtualizado. Alm
de alocar os recursos conforme necessrio, possvel suportar vrios servios de BD virtuais em um
nico servidor fsico, realocando os servios em outros servidores conforme necessrio [AZR+ 12]
A atividade de realocao de instncias de BD realizada normalmente atravs do processo
de migrao. Neste aspecto, essa atividade uma das que mais teve ganho de desempenho. O
53
54
do servio, minimizando ainda mais a perda de desempenho durante esse processo. Este processo
pode ser feito atravs das seguintes etapas:
1. Iniciar a instncia no host de destino: nesta fase iniciada uma nova instncia de BD no
host de destino. (Figura 4.3(b));
2. Transportar as sesses ativas: em seguida, todas as sesses ativas so transportadas do
host de origem para o host de destino. O transporte da sesso realizado somente aps
o trmino da execuo da transao, dispensando assim a necessidade de sincronizao do
estado do sistema. No caso em que a sesso no esteja executando uma transao ou que j
tenha concludo, a transferncia executada imediatamente (Figura 4.3(b) e 4.3(c));
3. Finalizar instncia no host de origem: a ltima fase executada quando todas as sesses
so transferidas para o host de destino e este passar a responder s requisies do BD, sendo
finalizada a instncia de origem. (Figura 4.3(d)).
possvel observar que neste tipo de migrao necessria apenas para migrar a instncia
de BD (gerenciado pelo SGBD) e no a pilha completa da software representado na Figura 4.1(b).
Assim como na migrao anterior, importante destacar que a migrao de BD virtual ocorre em
um ambiente da mesma rea de armazenamento e em uma mesma rea de rede.
55
4.2.2
Alta disponibilidade usando BD virtual pode ser alcanada de forma mais simples observado
que no necessrio replicar o ambiente. Um ambiente de alto desempenho no virtualizado
normalmente replica os servios em ambientes semelhantes, para que em caso de parada o outro
assuma. Como alternativa, nesta abordagem realizada a virtualizao da instncia de BD, eliminando a necessidade de replicar o ambiente. Em caso de parada no programada, necessrio
iniciar o servio em outro ambiente disponvel.
Outro fator que pode motivar a utilizao desta abordagem que assim como em uma
MV, a instncia virtualizada suporta todos os mtodos que uma MV oferece, possibilitando
a consolidao de vrios servios sobre um nico servidor fsico, porm com mais eficincia, tal como
a perda mnima de desempenho durante o processo de migrao.
Alm da possibilidade de mover um BD quando uma falha for detectada, ainda possvel realizar o balanceamento de carga de trabalho realocando o servio de BD em um servidor
desocupado.
4.3
Com a grande variedade de opes disponveis de sistemas de SGBDs, algumas consideraes podem ser levadas em conta durante o processo de escolha, como por exemplo: SO,
licenciamento e capacidade de execuo. Para realizar a comparao entre os SGBDs atuais foram
56
57
Embora essa alternativa de BD virtual parea ser mais eficiente em relao abordagem
convencional que utiliza MV, necessrio identificar o quanto mais eficiente essa nova abordagem.
Para isso, o prximo Captulo aborda entre outras, uma avaliao e comparao de desempenho das
abordagens.
4.4
58
59
5.
Metodologia de Avaliao
60
de desempenho no BDSO. Outra anlise realizada a utilizao de recursos, como CPU, memria,
rede e consumo de energia dos cenrios definidos.
5.1.1
Ambiente de execuo
O ambiente de execuo formando por dois servidores Dell PowerEdge 810 com 2 IntelXeon6500 com 64GB de memria RAM cada um, interligados com storage DELL EqualLogic
PS400 dedicado utilizando o protocolo ISCI. A rede est dividida em duas subredes distintas, uma
pblica, para gerenciamento dos servidores e outra privada, dedicada comunicao entre os servidores e o storage, ambas utilizando uma conexo GigaBit Ethernet.
O SO utilizado o OEL 5.6 (Oracle Enterprise Linux 5 update 6) com kernel 2.6.18238.el5. O SGBD utilizado o Oracle11g r2 e o hypervisor o VMware ESXi 5. Os detalhes da
arquitetura do ambiente de teste podem ser observados na Figura 5.1.
A escolha o SGBD justificado pelo fato de este possuir as funcionalidade e caractersticas descritas na Sesso 4.2 e que so necessrias para executar os experimentos desejados. O
estudo do estado da arte demonstra que atualmente este pode ser, o representante da tecnologia
de virtualizao por containers para BD.
O hypervisor utilizado para a MV legitimado devido ao fato do fabricante do SGBD
apresentar que este hypervisor possui o menor overhead de desempenho comparado com outros,
sendo considerado como a melhor alternativa para o ambiente virtualizado em questo [AZR+ 12].
61
5.1.2
Contemplando os mais diversos sistemas computacionais, dentre eles podemos citar OLPT
(On-Line Transaction Processing) [tpc13] e DSS (Decision Suport System), necessrio definir o
tipo de operao que deseja testar. Neste caso, para avaliar o overhead da camada de virtualizao
no desempenho de BD para operaes tpicas de aplicaes que demandam recursos computacionais,
foram utilizadas operaes do tipo On-Line Transaction Processing (OLTP) [tpc13].
Sistemas OLTP so caracterizados por suportar vrios usurios simultneos com execuo
de mltiplas transaes (operaes em banco de dados, como por exemplo, seleo, atualizao e
excluso de dados) simultneas. Estes tipos de transaes permitem avaliar as operaes tpicas
de ambientes que exigem uma elevada disponibilidade de acesso simultneo aos dados com alto
desempenho.
Para analisar o desempenho de sistemas OLTP, foi utilizado o benchmark do tipo TPC-C.
Este benchmark definido pelo Transaction Processing Perfomance Council (TPC) [tpc13]. TPC
um rgo que define os mtodos para avaliar o processamento de transaes para benchmark de BD,
apresentando os resultados de desempenho categorizados para a indstria. O benchmark TPC-C
continua a ser um ponto de referncia popular para comparar o desempenho de OLTP em hardware
e vrias configuraes de software. Como resultado TPC-C fornece informaes sobre a quantidade
de transaes executadas por minuto (TPM). Existem cinco operaes bsicas que representam o
comportamento de um sistema OLTP e podem ser observadas na Tabela 5.1 [tpc13].
Tabela 5.1 Transaes TPC-C
Nome
Caracterstica
Porcentagem
Novo Pedido
leitura-escrita,
45%
complexidade mdia
Pagamento
leitura-escrita,
43%
complexidade baixa
Estado do Pedido
leitura,
4%
complexidade mdia
Entrega
leitura-escrita
4%
Nvel de Estoque
leitura
4%
62
O TCP-C pode ser implementado por qualquer software, desde que obedea aos requisitos de implementao definidos pela TPC. Neste trabalho foi utilizado o software de Benchmark
Hammerora [ham13]. A ferramenta Hammerora pode ser definida como um gerador de transaes
de BD, de cdigo fonte livre. Foi projetada para executar testes de estresse em BD, monitorar e
gerar relatrios de desempenho. O nmero de clientes virtuais a serem utilizados e a quantidade de
transaes so parmetros configurveis na ferramenta.
O ambiente de teste foi configurado de maneira que apenas o SGBD estivesse em execuo
em cada caso de teste e tanto o SO quanto o SGBD sempre estivessem no mesmo estado inicial
para cada teste.
Foram realizadas 10 execues do benchmark para cada caso de teste, variando de 10, 50,
100 e 200 conexes simultneas, com intervalo de confiana chegando a 95%. Em todos os casos de
avaliao de desempenho, foi utilizada apenas uma instncia do BD. Para executar a avaliao de
escalabilidade e isolamento, foram executadas vrias instncias concomitantes e concorrentes, com
o mesmo nmero de execues e variaes de conexes do teste de desempenho.
Com o objetivo de avaliar a utilizao de recursos, como CPU, memria, rede e energia,
foram utilizadas as ferramentas dstat em conjunto com sysstad disponveis verso do SO utilizado.
Os resultados dessa avaliao so mostrados na Seo 5.2.1.
Na avaliao do processo de migrao, utilizado para consolidar BD, foi utilizada apenas
uma instncia de BD ou VM por vez. Durante a migrao, o volume das transaes foi determinada
pela execuo de 10 warehouses de dados, com 10, 50, 100 e 200 conexes simultneas. Em cada
caso de teste, os recursos de arquitetura foram alocados em sua totalidade, ou seja, 100% de todos
os recursos disponveis, como memria e CPU. A avaliao consiste em migrar a instncia de BD
ou MV, com o benchmark em execuo, monitorando os recursos, tais como memria, rede, CPU e
TPM dos servidores durante o processo de migrao. Os resultados so mostrados na Seo 5.2.3.
Para avaliar o isolamento das instncias de BD, foram realizados dois experimentos, quais
sejam: o primeiro experimento avaliou os efeitos sobre o desempenho das instncias ao diminuir o
nmero de CPUs por instncia durante a execuo do benchmark. Inicialmente, a execuo de uma
instncia de banco de dados iniciou com 16 ncleos de CPU e durante a execuo, o nmero de
CPUs foi alterado de 16 para 8, diminuindo os recursos disponveis instncia de banco de dados.
O objetivo deste experimento foi avaliar o tempo necessrio para a consolidao da alterao dos
recursos e, o impacto sobre o banco de dados causados por esta mudana.
O segundo experimento de isolamento para verificar se o isolamento realmente limita
a carga da CPU e memria. Para isso, foram realizadas execues de referncia utilizando quatro
instncias com quatro ncleos de CPU e durante a execuo, o limite de uma instncia de BD
foi alterado para 16 CPUs. O objetivo deste experimento foi comparar o desempenho entre as
execues: antes e depois da mudana de CPU e se uma instncia afeta o desempenho de outra
instncia de BD. Os resultados destes experimentos so mostrados na Seo 5.2.2.
63
5.2
Resultados Obtidos
5.2.1
Avaliao de desempenho
Para avaliar o desempenho foi executado o TPC em ambientes de 10, 50, 100 e 200 usurios
com 100.000 operaes cada. Estes valores representam os diferentes nveis de processamento para
OLTP. Outros trabalhos, como [VBVB09], utlizaram valores dentro dessas faixas para avaliarem
SGBDs.
Na Figura 5.2 mostrada a execuo do benchmak TPC-C para 50 usurios com 100.000
transaes cada. Neste contexto, o desempenho determinado pelo TPM dos cenrios BDSO,
BDMV e BDV. No monitoramento de desempenho foram utilizados os relatrios gerados pela prpria
ferramenta Hammerora.
64
Figura 5.2 Comparao de desempenho: transaes executadas por minuto BDSO, BDMV e BDV
65
66
Da mesma forma, esse comportamento pode ser explicado pelo desempenho inferior do
BDMV devido incluso da camada adicional de hypervisor. A proporo de leitura/escrita e
envio/recebimento de dados a mesma entre a BDVM, BDV e BDSO, sendo que o primeiro 8%
inferior. possvel afirmar que o BDSO e o BDV so equivalentes, considerando o intervalo de
confiana.
Esse resultado pode ser explicado considerando que o BDVM tem um maior esforo em
traduzir instrues da MV para o hardware, impactando em uma sobrecarga na utilizao de CPU,
o que ocasiona a menor taxa de transferncia de dados via rede ou de gravao no disco.
Figura 5.5 Comparao de operaes de entrada e sada (rede e disco): BDSO, BDMV e BDV
67
oferece. O BDVM tem um desempenho inferior entre 8 a 10% devido incluso da camada adicional
de virtualizao.
A Camada adicional de virtualizao proporciona uma administrao flexvel do BD, porm,
o aumento do consumo dos recursos ntido e pode ser observado nas Figuras 5.3 e 5.4. O consumo
por recursos de hardware refletem diretamente no consumo de energia. Alm disso, a perda de
desempenho representada na Figura 5.2.
possvel determinar que a camada de hypervisor ocasiona a perda de desempenho devido
principalmente a dois fatores: incluso de uma camada intermediria na arquitetura [LCR+ 12] e
devido ao alto ndice de operaes de pginas de memria, em especial pelas operaes de pginas
no encontradas (Page-Faults) [MYAS08].
5.2.2
Como mencionado na Seo 5.1.2, para avaliar a gerncia de recursos foi analisada a capacidade de isolamento das instncias do BDV. Foram executadas duas experincias para identificar os
efeitos da alterao de recursos durante a execuo do benchmark quais sejam, a primeira utilizado
para identificar o tempo necessrio para o ajuste nova configurao de recursos, observando o impacto no desempenho causado pela alterao, e a segunda baseada na observao da interferncia
de desempenho de uma instncia de BD sobre outras.
A Figura 5.7 apresenta o resultado do primeiro teste: exibe o comportamento durante o
processo de reconfigurao de recursos do banco de dados para uma determinada instncia, alterando
de 16 CPUs para 8 CPU. Pode ser observado que a utilizao da CPU estvel em 47% o que
caracteriza 50% dos recursos disponveis de CPU (32 CPU ao total), porm ao limitar os recursos de
68
CPU para 25% (8 CPUs), imediatamente o grfico demonstra a queda no percentual de utilizao,
passando para 23% de utilizao, identificado no grfico.
O segundo experimento teve como objetivo validar se o isolamento do BDV evita a interferncia da utilizao de recursos durante a execuo de uma instncia de BD sobre os recursos de
outras instncias de BD. Para isso, comparou-se a execuo de 4 instncias de BD, cada uma com
4 ncleos de CPU, e durante a execuo de referncia foi alterarada a quantidade de CPU de uma
instncia de BD, de 4 para 16 ncleos.
A Figura 5.8 mostra o resultado de desempenho de execuo simultnea das 4 instncias de
BD. Inicialmente, todas as instncias foram configuradas com 5% dos recursos de CPU disponveis.
A Figura 5.8(a) demonstra que todas as instncias executam a mesma quantidade de transaes.
Durante a execuo, a Instncia 04 teve a sua quantidade CPUs alterada de 4 a 16 (de 5% para
50% ).
69
Pode ser verificado que, aps a alterao, o volume de transaes da Instncia 04 aumentou
de 43532 para 88382 TPM (Figura 5.8(b)) .
(a) Pr Alterao.
(b) Ps Alterao.
5.2.3
Para avaliar a alta disponibilidade foi analisado o processo de migrao de BD. A primeira
avaliao baseia-se na execuo de benchmark TPC-C durante a execuo desse processo. A Figura 5.9 representa a 10 warehouses com 200 conexes simultneas. Pode ser observado que o
desempenho do BDV de 15% maior em relao ao desempenho do BDMV.
Outra anlise possvel de se realizar (Figura 5.9) o tempo gasto no processo de migrao
do banco de dados. O BDV levou em mdia 126 segundos (representado por linhas vermelhas),
70
enquanto que o BDVM levou em mdia de 540 segundos (representado pelas linhas Verdes). Esse
comportamento pode ser explicado, conforme visto na Seo 4.2.1 pois os aplicativos de banco
de dados realizam modificaes constantes nas pginas de memria do servidor e isto implica na
necessidade de realizar a cpia das pginas de memria modificadas vrias vezes durante o processo
de migrao da VM. Por outro lado, a Seo 4.2.1 apresenta que o BDV migra apenas os processos
de sesso e somente aps a finalizao da execuo da transao.
Figura 5.9 Comparao das transaes executadas por minuto durante a migrao: BDV e BDMV.
Tambm perceptvel que durante o processo de migrao BDV o desempenho pode ser
considerado estvel, sem perda significativa de transaes. Por outro lado, foi observado que as
operaes BDMV pararam de responder por curto perodo de tempo, em mdia 24 segundos. Esta
parada do BDMV necessria para finalizar a cpia das pginas de memria, conforme mencionado
na Seo 4.2.1, o que tambm foi observado em outros trabalhos [VBVB09]. No entanto, essa parada
do BDMV no foi perceptvel ao ponto de ser detectado qualquer tipo inatividade por demora de
resposta.
Na Tabela 5.4 apresentado os valores mdios de transaes executadas sem o processo
de migrao e com o processo de migrao do BDMV e do BDV. Analisando esses dados, possvel
sugerir que o desempenho das execues do BDV so mantidas durante todo o processo de migrao,
o que no ocorre durante a migrao do BDVM.
Tabela 5.4 Comparao de Desempenho Durante a
Mtrica
BDMV
Media
55890.00
Mdia durante Migrao 51234.56
Mdia sem a Migrao
62049.05
Perda de Desempenho
17.42%
Durante a Migrao
Intervalo de Confiana
54170.15,
57609.45
71
72
semelhante taxa de utilizao da rede de BDV, no entanto, observa-se que o BDMV tem uma
sobrecarga durante este perodo em virtude da cpia VM, que tem o seu prprio SO e SGBD
instalado e que so copiados a partir de um hospedeiro para outro. O volume de dados transmitidos
a partir de um hospedeiro para outro est relacionado com o tamanho da MV, isto , quanto mais
recursos so atribudos MV, maior ser o perodo e maior ser a taxa de dados transferidos durante
o processo de migrao.
73
A Tabela 5.5 permite analisar todos os dados obtidos durante os testes realizados no
processo de migrao.
possvel destacar que a migrao do BDV realizada num perodo de tempo mais curto,
com um valor menor operaes de entrada e sada e de consumo de memria. perceptvel tambm
que um DBV no perde desempenho durante este perodo e que o tamanho do banco de dados no
afeta os parmetros observados para a BDV. Esta avaliao complementa os trabalhos anteriores,
onde foram realizadas avaliaes de migrao apenas de banco de dados sobre MV.
Tabela 5.5 Comparao do processo de migrao: BDMV e BDV.
DBVM
BDV
Mtricas (mdia)
Sem Migrao Com Migrao Sem Migrao Com Migrao
Transaes por minutos
65.789
48.690
97007
96.891
Utilizao rede
5%
98%
4%
6%
Utilizao memria
96%
97%
12%
12%
Utilizao CPU
39%
45%
23%
24%
5.3
Matriz de Comparao
Uma Matriz de Comparao (MC) pode ser considerada uma forma simples de selecionar
a melhor alternativa para determinar se o requisito apresentado no modelo desejado. Assim,
colocado em uma tabela, de um lado, os requisitos funcionais, por exemplo, ao longo da primeira
linha listamos os modelos de implementao de banco de dados estudadas e de outro lado, na
primeira coluna, as caractersticas analisadas.
Os demais espaos da tabela so utilizados para indicar se cada uma das alternativas
apresenta ou no a caracterstica desejada. Desta forma, cabe ao administrador de TI identificar o
que mais importante para ele, selecionando as caractersticas que ele deseja.
Os requisitos que fazem parte desta MC foram identificados e avaliados neste trabalho,
sendo classificados conforme segue:
1. Desempenho: identifica a abordagem que tem o desempenho nativo ao ambiente, ou seja,
mostra a implementao cuja execuo do SGBD pode ser diretamente sobre o hardware ou
com poucas camadas intermedirias que prejudiquem o desempenho, sendo identificado como
alto para o desempenho nativo (sem a traduo das instrues) e baixo para o desempenho
que sofre degradao.
2. Gerncia de recursos: mostra quais abordagens oferecem a possibilidade de gerenciar os
recursos de hardware para os BD em execuo. Estes recursos podem ser quantidade de
CPU ou memria alocada para cada BD, conservando tais recursos dedicados e evitando a
interferncia de utilizao e preservando a segurana entre as intncias virtualizadas.
74
3. Alta disponibilidade: representa as abordagens que implementam recursos para alta disponibilidade do servio de BD. Neste contexto, este requisito dado pela funcionalidade de
migrao em tempo real do BD de dados, com a mnina interrupo do servio e com pouca
ou nenhuma perda de performance.
4. Fcil Administrao do ambiente: indica as abordagens que possibilitam a configurao
do ambiente com o minimo esforo de instalao.
5. Multiplataforma: identificam as abordagens que tem a possibilidade de ser instalado em um
ambiente multiplataforma, como por exemplo: sobre SO Windows ou sobre Linux.
Dados os requisitos que compem a MC, esta representada abaixo:
Tabela 5.6 Matriz de Comparao
Requisito
BDSO BDVM
Desempenho
Alto
Baixo
Gerncia de Recursos
No
Sim
Alta disponibilidade
No
Sim
Fcil Administrao do ambiente
Sim
No
Multiplataforma (SO)
Sim
Sim
BDV
Alto
Sim
Sim
No
No
De posse desta MC possvel agora realizar um estudo de caso, identificando as caractersticas necessrias implementao da soluo e, posteriormente comparar com o ambiente atual.
O resultado da utilizao desta MC pode ser observada na prxima seo.
5.4
Estudo de caso
O estudo de caso foi realizado em um ambiente real de execuo de BD, onde foram
identificadas as caractersticas desejveis para obter o melhor desempenho deste ambiente atravs
da anlise da MC.
Este ambiente composto por mais de 10 milhes de tuplas, organizadas em tabelas relacionais de dados. Sua arquitetura composta de uma MV devido ao fato de serem necessrias
funcionalidades como a alta disponibilidade e a gerncia de recursos. Um dos desafios que o administrador deste banco de dados enfrenta o problema da perda de desempenho, devido ao fato de
que o BD executado sobre uma MV. Porm, a MV fundamental para garantir as funcionalidades
acima relacionadas.
A estrutura do BD pode ser visualizada na Figura 5.13. possvel notar que no existem
chaves entre a tabela de dados Posicionamento e as tabelas Propriedades e PO. Na tabela Propriedades a relao ocorre pela utilizao do Varray na tabela posicionamento, conforme mostrado na
Entidade de Relacionamento (ER) (Figura 5.13).
75
Para realizar o estudo de caso, o primeiro passo para obter um melhor desempenho na
execuo das transaes a identificao dos requisitos necessrios de BD. Faz-se necessria uma
anlise das premissas que so essenciais para manter o ambiente de BD para garantir o melhor desempenho, mantendo as caractersticas j existentes. Foram identificadas as seguintes caractersticas
conforme segue:
1. Desempenho: neste ambiente de BD o desempenho fundamental. O processamento realizado intenso e exige uma grande quantidade de leitura de dados sendo pesquisando em
vrias tabelas e acessando vrios ndices de dados.
2. Gerncia de recursos: considerando que este tipo de banco de dados executa mltiplas
pesquisas simultaneamente e com vrios BDs, a gerncia de recursos pode se tornar um ponto
crtico, exigindo o fornecimento de um mecanismo que fornea um forte isolamento entre as
76
Figura 5.14 Estudo de caso: comparao do desempenho do ambiente atual (BDMV) e BDV
Para garantir o desvio padro de 95%, foram executadas 7 vezes cada query em cada
ambiente, sendo calculado o valor mdio do tempo de execuo. A Figura 5.14 mostra o resultado
obtido da execuo da query de pesquisa realizada no ambiente atual (BDMV) e no BDV.
77
78
recursos pode ser individual por instncia de banco de dados. Um dos benefcios de um cenrio
virtualizado que mltiplas aplicaes de banco de dados podem ser executadas simultaneamente
em um servidor com isolamento total.
79
6.
CONCLUSO
Este trabalho teve como objetivo estudar e avaliar o desempenho de um sistema de banco
de dados virtual e comparar com as abordagens que um ambiente de TI tradicionalmente utiliza:
abordagem sem a camada de virtualizao, instalado diretamente sobre o hardware nativo ou utilizando a tradicional abordagem de virtualizao, que faz uso de MV.
Para alcanar tais objetivos, primeiramente procurou-se na literatura por conceitos e abordagens que auxiliassem na satisfao desses desafios ainda no alcanados. Em seguida, foram
elencados os pilares de comparao e estudo, quais sejam: Desempenho, Gerncia de Recursos
e Alta Disponibilidade.
O prximo passo foi identificar as abordagens para estudar e satisfazer tais requisitos
comuns em todas as implementaes, possibilitando alcanar os objetivos definidos neste trabalho.
Alm disso, foi ofertado um estudo de caso de um ambiente real, utilizando o conceito de
banco de dados virtual. Este estudo de caso utilizou a Matriz de Comparao gerada a partir dos
dados levantados por este trabalho.
Desta maneira, as seguintes questes de pesquisa foram respondidas:
1. Existe uma alternativa rea de banco de dados para diminuir o overhead causado
pela incluso da camada adicional de virtualizao, porm mantendo os benefcios
trazidos pela mesma?
Tendo a necessidade de incluso de uma camada adicional de virtualizao atravs de utilizao
de MV e a perda de desempenho comprovado nos estudos apresentados, surge como uma
alternativa abordagem tradicional de virtualizao rea de banco de dados a utilizao
de BDV, implementado atravs do conceitos de containers, onde cada instncia de banco
de dados pode ser administrada como um ambiente virtual, porm com uma desempenho
semelhante ao ambiente nativo.
2. Qual a eficincia da abordagem de banco de dados virtual?
A eficincia da utilizao da abordagem de banco de dados virtual pode ser avaliada nos
seguintes aspectos:
Desempenho: Foi possvel identificar e comprovar que o desempenho do nmero de transaes do BDV superior em 9% abordagem que utiliza MV. Alm disso, foi possvel observar
que a utilizao de recursos, tais como memria, discos e rede, foram menores devido a baixa
utilizao do hardware, ocasionando tambm uma reduo do consumo de energia.
Gerncia de Recursos: Neste quesito, o BDV to eficiente quanto a abordagem que
utiliza uma MV, oferecendo funes semelhantes, tais como: migrao ao vivo, isolamento de
recursos e reconfigurao dos paramentos de execuo.
Alta Disponibilidade: O BDV to eficiente quanto a utilizao de MVs, garantindo a alta
disponibilidade.
80
Umas das contribuies que este trabalho apresenta que a utilizao de banco de dados
virtual como recurso de TI mantm os benefcios da virtualizao sem a perda de desempenho,
ocasionado pela incluso da uma camada adicional de virtualizao. A execuo do sistema de
banco de dados virtual (BDV) to eficiente quanto a execuo diretamente no sistema operacional,
e ainda oferece todas as vantagens da virtualizao. O BDMV utiliza mais recursos de hardware,
impactando tambm no consumo de energia e ocasionando um custo mais elevado.
Alm da contribuio citada acima, outras contribuies especficas deste trabalho so:
Introduzir o conceito de virtualizao de banco de dados utilizando a tecnologia
de containers: Este trabalho propiciou a incluso de uma nova alternativa abordagem
tradicional de virtualizao de banco de dados, abrindo uma discusso para futuras pesquisas
referente a utilizao de banco de dados virtuais atravs da tecnologia de containers.
Teste, avaliao e comparao de particularidades de funcionamento tais como valores de desempenho, consumo de recursos e caractersticas de gerncia das abordagens mais comuns, comparando com abordagem introduzida neste trabalho: Trabalhos anteriores avaliaram o desempenho de BD sobre MV e compararam com a execuo
nativa. Este trabalho torna-se complementar aos demais, pois no s compara mtricas de
desempenho e utilizao de recursos, mas tambm avalia uma nova alternativa, comparando
com alternativas j existentes.
81
Trabalhos Futuros
82
83
REFERNCIAS BIBLIOGRFICAS
[AAS08]
Aboulnaga, A.; Amza, C.; Salem, K. Virtualization and databases: state of the art and
research challenges. In: Proceedings of the 11th international conference on Extending
database technology: Advances in database technology, 2008, pp. 746747.
[AM10]
[AMN06]
[AZR+ 12] Almari, F.; Zavarsky, P.; Ruhl, R.; Lindskog, D.; Aljaedi, A. Performance analysis of
oracle database in virtual environments. In: AINA Workshops, Barolli, L.; Enokido, T.;
Xhafa, F.; Takizawa, M. (Editores), 2012, pp. 12381245.
[BDF+ 03] Barham, P.; Dragovic, B.; Fraser, K.; Hand, S.; Harris, T.; Ho, A.; Neugebauer,
R.; Pratt, I.; Warfield, A. Xen and the art of virtualization. In: Proceedings of the
nineteenth ACM symposium on Operating systems principles, 2003, pp. 164177.
[Car08]
[CJ06]
[CJMB11] Curino, C.; Jones, E. P.; Madden, S.; Balakrishnan, H. Workload-aware database
monitoring and consolidation. In: Proceedings of the 2011 ACM SIGMOD International
Conference on Management of data, 2011, pp. 313324.
[CRFD07] Calheiros, R. N.; Rodrigues, G.; Ferreto, T.; De Rose, C. A. F. Avaliando o ambiente
de virtualizao xen utilizando aplicaes de bancos de dados. In: VIII Workshop em
Sistemas Computacionais de Alto Desempenho (WSCAD07), 2007, pp. 171178.
[Dat04]
[EN11]
Elmasri, R.; Navathe, S. Sistemas de banco de dados. Ed. Pearson Addison Wesley,
2011.
[Fre12]
[ham13]
84
[HLAP06] Huang, W.; Liu, J.; Abali, B.; Panda, D. K. A case for high performance computing
with virtual machines. In: Proceedings of the 20th annual international conference on
Supercomputing, 2006, pp. 125134.
[Jon06]
[LCR+ 12]
Lange, T. A. P.; Cemim, P.; Rossi, F. D.; Xavier, M. G.; Belle, R. L.; Ferreto, T. C.;
Rose, C. A. F. Performance evaluation of virtualization technologies for databases in
hpc environments. In: XIII Simpsio em Sistemas Computacionais (WSCAD-SSC),
2012, pp. 8889.
[Lin12]
[LPD+ 11]
Lange, J. R.; Pedretti, K.; Dinda, P.; Bridges, P. G.; Bae, C.; Soltero, P.; Merritt,
A. Minimal-overhead virtualization of a large scale supercomputer. In: Proceedings
of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution
environments, 2011, pp. 169180.
[MST+ 05] Menon, A.; Santos, J. R.; Turner, Y.; Janakiraman, G. J.; Zwaenepoel, W. Diagnosing
performance overheads in the xen virtual machine environment. In: Proceedings of the
1st ACM/USENIX international conference on Virtual execution environments, 2005,
pp. 1323.
[MYAS08] Minhas, U.; Yadav, J.; Aboulnaga, A.; Salem, K. Database systems on virtual
machines: How much do you lose? In: Data Engineering Workshop, 2008. ICDEW
2008. IEEE 24th International Conference on, 2008, pp. 35 41.
[PPS+ 07]
Payne, B. D.; Perez, R.; Sailer, R.; Lee, W.; Cceres, R. A layered approach to
simplified access control in virtualized systems, Operating Systems Review, vol. 41, pp
12-19, 2007.
[RS07]
Raj, H.; Schwan, K. High performance and scalable i/o virtualization via self-virtualized
devices. In: Proceedings of the 16th international symposium on High performance
distributed computing, 2007, pp. 179188.
[SDG+ 07] Shivam, P.; Demberel, A.; Gunda, P.; Irwin, D.; Grit, L.; Yumerefendi, A.; Babu, S.;
Chase, J. Automated and on-demand provisioning of virtual machines for database
applications. In: Proceedings of the 2007 ACM SIGMOD international conference on
Management of data, 2007, pp. 10791081.
[SKM08]
85
[SMA+ 08] Soror, A. A.; Minhas, U. F.; Aboulnaga, A.; Salem, K.; Kokosielis, P.; Kamath, S.
Automatic virtual machine configuration for database workloads. In: Proceedings of
the 2008 ACM SIGMOD international conference on Management of data, 2008, pp.
953966.
[Sol12]
[tpc13]
[Tya09]
[VBVB09] Voorsluys, W.; Broberg, J.; Venugopal, S.; Buyya, R. Cost of virtual machine live
migration in clouds: A performance evaluation. In: CloudCom, 2009, pp. 254265.
[WWS+ 10] Wada, Y.; Watanabe, Y.; Syoubu, K.; Sawamoto, J.; Katoh, T. Virtual
database technology for distributed database, Advanced Information Networking and
Applications Workshops, International Conference on, vol. 0, 2010, pp. 214219.
[XNR+ 13] Xavier, M.; Neves, M.; Rossi, F.; Ferreto, T.; Lange, T.; De Rose, C.
Performance evaluation of container-based virtualization for high performance
computing environments. In: Parallel, Distributed and Network-Based Processing
(PDP), 2013 21st Euromicro International Conference on, 2013, pp. 233240.