Sunteți pe pagina 1din 85

PONTIFCIA UNIVERSIDADE CATLICA DO RIO GRANDE DO SUL

FACULDADE DE INFORMTICA
PROGRAMA DE PS-GRADUAO EM CINCIA DA COMPUTAO

AVALIAO DOS IMPACTOS


DE UM NOVO PARADIGMA DE
VIRTUALIZAO DE BANCO
DE DADOS
TIMOTEO ALBERTO PETERS LANGE

Dissertao apresentada como requisito


parcial obteno do grau de Mestre
em Cincia da Computao na Pontifcia
Universidade Catlica do Rio Grande do Sul.

Orientador: Prof. Cesar Augusto Fonticielha De Rose

Porto Alegre
2013

Dados Internacionais de Catalogao na Publicao (CIP)

L274a

Lange, Timoteo Alberto Peters


Avaliao dos impactos de um novo paradigma de virtualizao de
banco de dados / Timoteo Alberto Peters Lange. Porto Alegre, 2013.
85 p.
Diss. (Mestrado) Fac. de Informtica, PUCRS.
Orientador: Prof. Dr. Cesar Augusto Fonticielha De Rose.
1. Informtica. 2. Banco de Dados. I. Marcon, Cesar Augusto
Fonticielha De Rose. III. Ttulo.
CDD 005.74

Ficha Catalogrfica elaborada pelo


Setor de Tratamento da Informao da BC-PUCRS

DEDICATRIA

Dedico este trabalho minha amada esposa.

O passado histria, o futuro mistrio, o presente uma ddiva e por isso se chama presente.
(Deepak Chopra)

AGRADECIMENTOS

Agradeo a DELL computadores, patrocinadora deste trabalho. Ao LAD - Laboratrio de


Alto Desempenho, por ter oportunizado este trabalho e ao professor Cesar De Rose, orientador e
professor. A minha amada esposa, agradeo especialmente por estar ao meu lado, apoiando nos
momentos tensos e participando das conquistas.

AVALIAO DOS IMPACTOS DE UM NOVO PARADIGMA DE


VIRTUALIZAO DE BANCO DE DADOS

RESUMO

Estudos recentes demonstraram vantagens na utilizao de Sistemas Gerenciadores de


Banco de Dados (SGBD) em ambientes virtuais, como a consolidao de vrios SGBDs isolados por
mquinas virtuais em uma nica mquina fsica para reduzir os custos de manuteno e consumo de
energia. Alm disso, a migrao em tempo real pode melhorar a disponibilidade do banco de dados,
permitindo que as operaes de manuteno sejam transparentes para os usurios. No entanto, h
questes que ainda precisam ser resolvidas, como a degradao do desempenho do SGBD quando
executado em ambientes virtuais e a instabilidade das conexes durante a etapa do migrao do
servio. Neste contexto, novas tcnicas de virtualizao que esto surgindo, como o banco de dados
virtual, podem ser consideradas uma alternativa menos intrusiva para a virtualizao tradicional
de SGBD sobre mquinas virtuais. Esta pesquisa analisa os aspectos desta nova abordagem de
virtualizao, como o desempenho, estabilidade de conexo durante um processo de migrao de
banco de dados e a capacidade de isolamento. Este trabalho mostra resultados muito promissores
em comparao com a abordagem tradicional sobre mquinas virtuais, incluindo uma migrao em
tempo real mais eficiente e estvel, mantendo as caractersticas de isolamento necessrios para um
SGBD virtualizado.

Palavras Chave: Virtualizao de banco de dados, Banco de dados virtual, Avaliao de desempenho.

EVALUATION OF THE IMPACTS OF A NEW PARADIGM OF


DATABASE VIRTUALIZATION

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.

Keywords: Database Virtualization, Virtual Database, Performance Evaluation.

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

MOTIVAES PARA VIRTUALIZAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

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

VIRTUALIZAO DO SISTEMA OPERACIONAL . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.4

RECURSOS QUE PODEM SER VIRTUALIZADOS . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.5

CONCLUSES DESTE CAPTULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

BANCO DE DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.1

DEFINIO DE BANCO DE DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2

ESTRUTURA DE BANCO DE DADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3

IMPLEMENTAO DE BANCO DE DADOS EM AMBIENTES VIRTUALIZADOS . . 42

3.3.1

DESEMPENHO EM AMBIENTES VIRTUALIZADOS . . . . . . . . . . . . . . . . . . . . . . . . 43

3.3.2

GERNCIA DE RECURSOS EM AMBIENTES VIRTUALIZADOS . . . . . . . . . . . . . . . 44

3.3.3

ALTA DISPONIBILIDADE EM AMBIENTES VIRTUALIZADOS . . . . . . . . . . . . . . . . 45

3.4

CONCLUSES DESTE CAPTULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

NOVO PARADIGMA PARA VIRTUALIZAO DE BANCO DE DADOS . . . 49

4.1

DESAFIOS DA VIRTUALIZAO DE BANCO DE DADOS . . . . . . . . . . . . . . . . . . . 49

4.2

MODELO DO BANCO DE DADOS VIRTUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.2.1

GERNCIA DE RECURSOS DE BD VIRTUAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2.2

ALTA DISPONIBILIDADE USANDO BD VIRTUAL . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.3

COMPARAO ENTRE AS ABORDAGENS DE UTILIZAO DE BD EM AMBIENTES VIRTUAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.4

CONCLUSES DESTE CAPTULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

AVALIAO DE BANCO DE DADOS VIRTUAL . . . . . . . . . . . . . . . . . . . . . . . 59

5.1

METODOLOGIA DE AVALIAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.1.1

AMBIENTE DE EXECUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.1.2

BENCHMARK E DESCRIO DOS TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.2

RESULTADOS OBTIDOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2.1

AVALIAO DE DESEMPENHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2.2

AVALIAO DE GERNCIA DE RECURSOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.2.3

AVALIAO DE ALTA DISPONIBILIDADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.3

MATRIZ DE COMPARAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.4

ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.5

CONCLUSES DESTE CAPTULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

CONCLUSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6.1

RESUMO DAS CONTRIBUIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.2

TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

25

1.

INTRODUO

Atualmente, a virtualizao de recursos computacionais vem sendo utilizada na maioria dos


recursos de Tecnologia de Informao (TI), tais como servidores, redes, sistemas operacionais e aplicaes. Entre eles, a virtualizao de servidores a mais popular e implementa uma camada lgica
sobre um sistema fsico, de forma que todos os dispositivos possam ser acessados ou compartilhados
por aplicaes clientes suportadas neste ambiente [AM10].
Dentre as principais vantagens da utilizao de tecnologias de virtualizao, podemos
citar o fornecimento de forte isolamento, segurana e consolidao de servidores fsicos [BDF+ 03].
Alm disso, tambm podem ser exploradas novas possibilidades, tais como a alta disponibilidade e
balanceamento de carga de trabalho [AM10], [MST+ 05].
Neste contexto, Sistemas Gerenciadores de Banco de Dados (SGBDs) so suportados
normalmente em um ambiente fsico, implementado diretamente no hardware [AZR+ 12]. A principal
caracterstica deste tipo de implementao o desempenho nativo, por no apresentar a camada
intermediria de virtualizao, porm, benefcios como de consolidao e gerncia de recursos no
se aplicam neste tipo de implementao.
Nesse sentido, para suprir necessidades como gerenciamento de recursos e alta disponibilidade, existe uma tendncia em tentar explorar os benefcios da virtualizao para vrios tipos de
aplicaes, inclusive para SGBDs [MYAS08]. De fato, pesquisas recentemente avaliam o impacto
da utilizao de SGBDs em ambientes virtualizados e propem solues especficas para esse tipo
de ambiente [SMA+ 08], [Tya09], [AAS08].
Geralmente, ambientes virtualizados suportam SGBDs executados sobre mquinas virtuais
(VM) [CRFD07]. A principal vantagem de executar um sistema de banco de dados em um ambiente
virtualizado pode ser considerada a consolidao de vrios servidores virtuais em um nico servidor
fsico, reduzindo assim o custo de manuteno e consumo de energia [CJMB11]. A utilizao
desta abordagem adiciona uma camada intermediria responsvel pela virtualizao, provocando
uma queda de desempenho [MYAS08], porm adicionando os recursos inerentes virtualizao, tais
como consolidao e gerenciamento de recursos [HLAP06].
Normalmente, o servidor de banco de dados possui recursos limitados de hardware devido
demanda deste tipo de aplicao. Alm desta caracterstica, existem outras propriedades interessantes que devem ser levadas em considerao e que justificam a discusso sobre virtualizao
de servidores para banco de dados [SDG+ 07]. Tais caractersticas incentivam como uma boa prtica motivada pelo desempenho a utilizao de sistemas de banco de dados em ambientes fsicos,
aproveitando ao mximo o desempenho oferecido diretamente pelo hardware.
Como alternativa s abordagens acima citadas, pode ser utilizada a virtualizao da instncia de banco de dados [AZR+ 12]. Essa abordagem utiliza a virtualizao baseada em containers.
Uma das principais vantagens na utilizao desta abordagem a possibilidade de utilizao de recur-

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

Conforme abordado na Seo anterior, a tecnologia de virtualizao adiciona uma camada


intermediria de software entre as aplicaes e o hardware. Esta camada, chamada hypervisor ou
monitor de mquinas virtuais (MMV), mapeia recursos virtuais visveis s aplicaes (no contexto
deste trabalho, o SGBD) mediando os recursos fsicos disponveis no hospedeiro [Car08].
A principal vantagem de executar um SGBD em um ambiente virtualizado a capacidade
de gerenciamento e a consolidao de vrios servidores virtuais em um nico servidor fsico, reduzindo
assim o custo de manuteno e consumo de energia [AAS08] [BDF+ 03]. Dentre outras vantagens
como, reduo de custos com licenas, facilidade de gerenciamento e alta disponibilidade, tornam a
virtualizao um alternativa atraente para sistemas de banco de dados, implantado geralmente por
um sistema de banco de dados sobre uma VM [Tya09].
A virtualizao pode resolver vrios problemas importantes na rea de banco de dados, tais
como a usabilidade, o gerenciamento, a escalabilidade, a disponibilidade e a implantao [Jon06].
Aplicaes de banco de dados podem se favorecer desse tipo de infraestrutura atravs de algumas
caractersticas como migrao e consolidao [SDG+ 07]. Assim, dependendo da demanda da aplicao de banco de dados, o ambiente pode se ajustar dinamicamente provendo mais ou menos
recursos aplicao [SDG+ 07] [CJMB11].
Vrios trabalhos analisam o overhead da camada de virtualizao como [MST+ 05], [RS07]
[AMN06] [LPD+ 11], que apresentam uma perda de desempenho entre 7 e 11%, se comparado com
aplicaes em um sistema operacional nativo. Alguns trabalhos como [AAS08], [CRFD07] [LCR+ 12]
avaliam o overhead da camada de virtualizao com aplicaes de banco de dados. Pode ser visto
tambm que em algumas situaes o ganho com a gerncia de recursos minimiza a degradao
provocada pelo overhead da camada de virtualizao, o que justifica a sua utilizao em ambientes
virtualizados [LPD+ 11], [HLAP06].
Neste sentido, este trabalho se torna complementar aos anteriores, pois no avalia apenas
o overhead da camada de virtualizao, mas tambm compara um MMV tradicional com uma nova

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

O objetivo geral deste trabalho estudar e avaliar o desempenho de um sistema de banco


de dados instalado diretamente sobre o hardware, sobre MV e utilizando o conceito de banco de
dados virtual, realizando uma comparao entre as abordagens e identificando as caractersticas de
implementao. Alm disso, tem como objetivo de prover um estudo de caso de um ambiente real,
comparando os benefcios da nova abordagem.
1.2.1

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

O presente trabalho busca resolver as seguintes questes de pesquisa:


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?
Qual a eficincia da abordagem banco de dados virtual?
Qual o custo do processo de migrao utilizada na consolidao, das abordagens tratadas
neste trabalho?

28

possvel executar mltiplas instncias de banco de dados virtuais em um mesmo servidor


fsico sem que uma prejudique o desempenho da outra, garantindo o isolamento durante a
execuo?
1.2.3

Limitaes da Pesquisa

A presente pesquisa, apesar do rigor nos procedimentos empregados apresenta algumas


limitaes. Na fundamentao terico-emprica, por ser um tema ainda pouco abordado, a escassez
de literatura foi um fator limitador.
Os resultados obtidos s podem ser avaliados em ambientes proprietrios com o uso da
licena de software.
Os valores obtidos referentes ao desempenho de transaes executadas nos ambientes de
banco de dados referencia um tipo de carga de trabalho especfica.
1.2.4

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

Figura 1.1 Processo de pesquisa.

o. Nesta etapa final, foi identificado o melhor modelo de implementao de um sistema de


banco de dados de acordo com as caractersticas necessrias execuo e aplicado no estudo
de caso.
1.3

Organizao do Texto

O texto est organizado da seguinte maneira: primeiramente, no Captulo 2 apresentado


uma contextualizao sobre os conceitos de virtualizao; No Captulo 3 so expostos os princpios
de banco de dados. Esse estudo necessrios para a correta compreenso deste trabalho e sua
relao com os ambientes virtualizados; O Captulo 4 trata do novo paradigma de virtualizao de
sistemas de banco de dados, mostrado uma alternativa utilizao convencional de virtlalizao,
focando em uma das funcionalidades de gerenciamento e consolidao, qual seja, o processo de
migrao em um ambiente virtualizado; No Captulo 5 so detalhados: o ambiente de avaliao,
o beenchmark e a descrio dos testes. Tambm neste Captulo so mostrado os resultados dos
testes e o resultado do estudo de caso em um ambiente real; Por fim, no Captulo 6 apresentado
o resumo das contribuies, concluses alcanadas e uma possvel continuao desta pesquisa.

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

Motivaes para virtualizar

De acordo com o apresentado na Seo anterior, a virtualicao implementada atravs


de uma camada intermediria de software, que responsvel pela administrao e compartilhamento
dos recursos fsicos do hardware hospedeiro. Esta camada pode implicar diretamente no desempenho. J h algum tempo os fabricantes de hardware tm includo instrues especficas que auxiliam
no processo de virtualizao, assessorando esta camada de software a resolver certas dificuldades
conhecidas, como por exemplo, a traduo de endereos de memria e o desempenho. Neste contexto, tambm podem ser citadas as dificuldades de segurana, gerenciamento e dimensionamento
da MV [Car08].
Conhecendo algumas das principais dificuldades do processo de virtualizao, torna-se
necessrio estudar e identificar a melhor forma de implementar a virtualizao, minimizando ou
eliminando alguns incmodos ocasionados, motivados pelos benefcios que essa tecnologia pode
ocasionar para os ambientes de TI. Dentre as principais vantagens da utilizao de virtualizao,
podemos citar:
Consolidao da infra-estrutura: so necessrios menos equipamentos fsicos para disponibilizar a mesma quantidade de sistemas. Esta consolidao representa reduo do espao
necessrio para a acomodao dos equipamentos fsicos gerando reduo de custos com energia (tanto para funcionamento como para resfriamento e reduo de custos para aquisio e
manuteno dos equipamentos). A consolidao tambm possibilita economizar com licenas
e reduzir a ociosidade dos recursos computacionais [BDF+ 03].
Maior eficincia na utilizao dos recursos: uma prtica utilizada virtualizar um ambiente que tem um perfil de alta utilizao, de modo que os recursos estejam sempre sendo
utilizados e permaneam a menor parte do tempo ociosos [BDF+ 03].
Aumento da disponibilidade: dada a facilidade de migrar sistemas virtuais entre servidores
fsicos possvel manter um ambiente replicado para o caso de falhas ou paradas programadas
de manuteno [BDF+ 03], [SKM08].
Melhoria no gerenciamento: considerando que os recursos so virtuais, estes podem ser
migrados, replicados ou redimensionados com maior facilidade. Entre as prticas comuns, uma
delas conceder mais memria, processamento, ou espao em disco para um sistema quando
for necessrio sem que seja necessrio alterar o hardware do servidor [SKM08].
Flexibilidade da infra-estrutura: diversos sistemas operacionais heterogneos podem ser
executados no mesmo ambiente, alm de executar ambientes legados em recursos novos de
hardware [BDF+ 03].
Facilidade de execuo de backup: possvel fazer uma cpia completa do sistema (recurso
conhecido como snapshot) em seu estado atual, incluindo toda sua configurao. Algumas

33

ferramentas ainda disponibilizam a execuo do backup durante a execuo, eliminando a


necessidade de parada [BDF+ 03], [SKM08].
Reduo do tempo de entrega de novos servidores: novos servidores podem ser criados
rapidamente sem a necessidade de espera de aquisio de um novo hardware. Outra melhora
pelo fato destes servidores serem criados a partir de templates j disponveis no ambiente
[BDF+ 03].
Motivado pelas vantagens apresentadas, a virtualizao pode ser considerada uma estratgia apropriada para a rea de gerncia de infra-estrutura, pois conforme visto, tais benefcios
provocam a migrao dos recursos fsicos para um ambiente virtualizado, agregando funcionalidades
exclusivas virtualizao.
2.3

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

A emulao de hardware a utilizao de uma arquitetura completamente diferente da


utilizada no hardware hospedeiro. Esse tipo de virtualizao pode ser utilizada por diversos motivos, como por exemplo, utilizar uma arquitetura atual com maior desempenho para emular uma
arquitetura de hardware antiga que no seja mais comercializada, sem que seja necessrio migrar
os sistemas legados. Na Figura 2.1 temos a estrutura de camadas deste modelo de virtualizao.
E possvel observar que existe uma camada extra (Hardware MV A e Hardware MV B) entre as
camadas de SO Convidado e Hardware. Essa camada extra a responsvel por emular o hardware
virtualizado independente do hardware hospedeiro [Car08].

Figura 2.1 Estrutura de 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].

Figura 2.2 Estrutura de virtualizao total.


A melhoria deste tipo de virtualizao comparado com a anterior, pode ser explicado considerando que o hypervisor simplesmente repassa as instrues a serem executadas para o hardware
nativo, reduzindo assim o custo de processamento em relao a emulao de hardware.
2.3.3

Para-virtualizao

A para-virtualizao tambm utiliza uma camada de software de controle (Hypervisor


MMV ), porm nesta abordagem h alteraes nos SOs convidados para que estes cooperem com
o processo de virtualizao [CJ06]. Neste modelo so permitidos somente SO que estejam aptos
a estas alteraes, o que limita a utilizao, porm, h um ganho significativo de desempenho se

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.

Figura 2.3 Estrutura de paravirtualizao.


Uma das caractersticas dessa abordagem que o SO convidado modificado para acessar
o MMV. Isso pode ser considerado uma desvantagem, pois o SO deve ser adaptado ao hypervisor
[Car08]. Porm, tal caracterstica permite que as instrues no obriguem mais a serem traduzidas ou
repassadas para o hardware hospedeiro, possibilitando a execuo de algumas instrues diretamente,
justificando assim o aumentando de desempenho.
2.3.4

Virtualizao do sistema operacional

A virtualizao do SO permite que um tipo de SO conviva com diversas outras instncias


do mesmo sistema, compartilhando os recursos fsicos. A MV funciona como um processo do sistema
anfitrio. A estrutura desse tipo de virtualizao apresentado na Figura 2.4. Neste mtodo, o
SO deve ter um suporte a este tipo de operao, sendo a principal vantagem o desempenho, que
comparado utilizao nativa [Jon06].

Figura 2.4 Estrutura de virtualizao do sistema operacional.


Essa utilizao normalmente implementada por containers. De forma simplificada, so
criados servidores virtuais em uma subcamada do SO (kernel). Tambm pode ser descrito como

36

um particionamento de um servidor fsico em mltiplas parties menores, e cada partio isolada


das demais e do SO anfitrio [XNR+ 13].
Devido implementao, normalmente em nvel de kernel do SO, pode ser considerada
como uma desvantagem a necessidade de que o ambiente virtual no pode fazer uso de outros SOs,
ficando restrito sempre a utilizao do mesmo SO do ambiente hospedeiro.
Dentre os tipos de virtualizao apresentados, podemos observar as principais caractersticas de cada uma, possibilitando assim uma avaliao imparcial. Um fator importante na deciso do
tipo de virtulizao a ser adotado a interferncia que a camada de virtualizao gera na execuo
das instrues, sendo que pode ser observado que a ltima a que menos interfere, possibilitando
uma execuo com desempenho comparado execuo nativa.

2.4

Recursos que podem ser virtualizados

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

Concluses deste captulo

No decorrer deste Captulo, foram introduzidos conceitos sobre virtualizao. Inicialmente


foram apresentadas algumas definies, tendo como referncia comum de que a virtualizao dissocia
a execuo de um sistema do hardware, criando uma camada de abstrao responsvel pela segurana
e compartilhamento de recursos [Car08] [CJ06].
Porm, a desassociao do sistema com a camada de hardware por si s no justifica a
virtualizao do ambiente de TI. Ao considerar as vantagens como: melhora na gerncia de recursos,
economia, alta disponibilidade e consolidao, o processo de virtualizao se torna interessante,
mesmo com a nus da perda de desempenho.
A perda de desempenho pode ser minimizada considerando as caractersticas de cada
sistema de virtualizao. Alguns tipos de virtualizao apresentam vantagens sobre outras, como
por exemplo, facilidade de gerenciamento, transparncia do hypervisor ou desempenho semelhante
ao ambiente nativo. Dos tipos de virtualizao apresentados, possvel considerar a virtualizao
de SO como um tipo em potencial para explorar os facilidades oferecidas e minimizando a perda de
desempenho [XNR+ 13].
Desta forma, tendo como possibilidade e execuo de ambientes virtualizados com desempenho quase nativo, a virtualizao torna-se um atrativo para alguns recursos, dentre eles, podemos
destacar a virtualizao de banco de dados.
Os conceitos aqui apresentados tornan-se fundamentais para o prosseguimento deste trabalho, devido a relao da proposta com as tecnologias de virtualizao.

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

Definio de Banco de Dados

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

Tamanho flexvel: O BD pode ser de qualquer tamanho e de complexidade ao longo da sua


existncia [EN11]. Dessa forma, um conjunto de dados pode conter de centenas at milhes
de registros, de variados formatos e complexidades. Normalmente os dados esto relacionados
a um domnio (assunto comum), proporcionando que esses se relacionem entre si de diversas
formas. Banco de dados corporativos consomem uma poro considervel dos recursos fsicos
do servidor, considerando o grande volume de operaes executadas [CJMB11].
Outra maneira simplificada de identificar um BD associar os dados propriamente com
um conjunto de programas que acessam estes dados. Este conjuntos de programas possibilita a
correta manipulao, segurana e coerncia dos dados e normalmente identificado como Sistema
Gerenciador de Banco de Dados (SGBD) [CJMB11]. Com isto, possvel concluir que um BD
um conjunto de arquivos fsicos (data files) e os seus programas (SGBD) que possibilitam a correta
manipulao e manuteno dos dados.
Os SGBDs devem ter a premissa de possibilitar o acesso aos dados garantindo a unicidade,
integridade, independncia e segurana. [Dat04] Outra funo que atualmente atribuda ao SGBD
a garantia de acesso a mltiplas conexes ao BD de forma simultnea garantido total controle e
segurana [AZR+ 12].
O SGBD deve incluir um software de controle para garantir que em caso de mltiplos
acessos simultneos tentarem atualizar o mesmo dado, o faa de um modo controlado e ordenado,
para assegurar que os resultados das atualizaes sejam corretos. Uma regra fundamental do software
do SGBD multiusurio garantir que as transaes concorrentes operem corretamente [AZR+ 12].
3.2

Estrutura de Banco de dados

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

em um formato proprietrio, normalmente no so acessados por outros programas. Os arquivos de


dados podem estar localizados em um sistema de arquivos local do sistema operacional ou em um
grupo de discos, como por exemplo, em uma storage.

Figura 3.1 Estrutura de um BD - adaptado de [Dat04]


Usando o armazenamento dos arquivos fsicos em uma storage, pode-se obter uma independncia superior das estruturas lgicas em relao aos arquivos fsicos durante a execuo do
SGBD, comparado com a mesma execuo a partir de um servidor onde o armazenando local.
Nesta segunda abordagem normalmente os arquivos de dados so acessados por um nico servidor
de BD.
Entendendo a independncia entre estruturas lgicas e fsicas, o SGBD torna-se o responsvel por permitir o acesso aos dados fsicos atravs das estruturas lgicas, controlando o acesso
e garantindo assim a segurana aos mesmos. Para isso, o SGBD cria uma estrutura de acesso
identificada normalmente como instncia de banco de dados (Figura 3.1) [Dat04].
Uma instncia de BD ou simplesmente instncia, opera como um servio que trata todas
as solicitaes dos aplicativos clientes, intermediando os pedidos e retornando dados nos BD gerenciados por essa instncia. Instncia pode ser definido como o destino das solicitaes dos aplicativos.
A instncia atende as instrues convertendo em operaes nos objetos do BD e, se as permisses
exigidas tiverem sido concedidas, executar a operao. Todos os dados recuperados so retornados
ao aplicativo que fez a solicitao. possvel executar vrias instncias a um mesmo BD porm,
uma instncia pode acessar um nico BD.

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

Implementao de banco de dados em ambientes virtualizados

Na infra-estrutura, a virtualizao pode ser a principal estratgia para auxiliar a atividade


de administrao dos recursos existentes. Atualmente os BD so disponibilizados em um ambiente
virtualizado sobre uma mquina virtual [AAS08]. Assim, entre os vrios desafios da implementao
do BD em ambientes virtualizados, este trabalho destaca dois: o problema de desempenho dos

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

Desempenho em ambientes virtualizados

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

Gerncia de recursos em ambientes virtualizados

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

apresentados algumas abordagens para implementao de alta disponibilidade que implementam


uma das tcnicas de migrao do BD.

3.3.3

Alta disponibilidade em ambientes virtualizados

Alta disponibilidade trata da disponibilidade dos sistemas reduzindo paradas planejadas e


no planejadas. Existem vrias tcnicas de alta disponibilidade para banco de dados, porm neste
trabalho sero abordadas duas tcnicas entre outras, a clusterizao e a virtualizao.
Clusterizao: O ambiente de cluster consiste no uso coordenado de vrios servidores
(fsicos ou virtuais), atuando como se fossem um nico grande computador (conceito de Grid Computing). Nos servidores interligados, h apenas o sistema operacional e o software de banco de
dados instalados (SGBD). Os arquivos de dados permanecem armazenados em uma rea de armazenamento externa, normalmente (storage), compartilhando os dados (arquivos fsicos) para mltiplas
instncias de BD dos servidores interligados [LPD+ 11].
Em caso de parada no planejada de um dos servidores do cluster, o prprio servio de BD
dever detectar e transferir as sesses conectadas do servio parado para o outro servidor automaticamente, sem interromper a disponibilidade do ambiente. Se a necessidade for a de substituir, retirar
ou acrescentar servidores ao cluster, tambm no ser necessrio interromper a disponibilidade do
ambiente.
Neste modelo so necessrios que todos os ns do cluster estejam com o banco de dados
ativo (Figura 3.2), gerando assim um nus de monitorao entre as instncias e sincronia de dados
[LPD+ 11] [Jon06].

Figura 3.2 BD em ambiente virtualizado usando Cluster.


Virtualizao: a virtualizao do BD mais vantajosa em relao tcnica anterior
porque somente uma instncia BD estar sendo executada e, em caso de parada, somente esta
precisar ser migrada juntamente com a MV quando for detectada a falha [Jon06].

46

Alm de oferecer a capacidade de disponibilidade ininterrupta, o BD virtualizado pode


oferecer a capacidade de aumentar os recursos verticalmente. Esta capacidade pode ser definida
como uma tcnica de potencializar os recursos de hardware para um determinado servidor virtual.
Isso geralmente feito atravs do aumento do nmero dos processadores ou adio de mais memria
primria para a MV, porm sempre limitada a capacidade dos recursos fsicos disponveis [BDF+ 03].
Um hypervisor normalmente possibilita aumentar os recursos lgicos da MV, com o impacto no desempenho do SGBD. Caso o servidor fsico no suporte a liberao de mais recursos, a
MV poder ser migrada para outro servidor fsico que comporte os parmetros da MV (Figura 3.3).
Conforme visto na seo anterior, em caso de necessidade de migrao de uma MV para aumentar
os recursos fsicos no servidor fsico, este processo no chega a gerar uma interrupo na execuo
do BD.

Figura 3.3 BD em ambiente virtualizado usando MV.

Estudando as solues apresentadas, a primeira apresenta o BD de forma distribuda, com


vrios SGBDs sendo executados em diferentes servidores, cada um deles com uma ou mais instncias
ativas, criando uma sobrecarga durante a sincronizao dos processos executados no BD. Porm,
em caso de migrao devido a uma parada, a sobrecarga durante o processo de migrao menor.
A segunda soluo, que mais comum, a utilizao de um SGBD sobre uma MV, que pode ser
considerada a forma tradicional de virtualizar um BD. Neste modelo, somente um SGBD instalado
sobre uma MV e esta normalmente executa uma instncia, eliminando a necessidade de sincronizao
de processos entre os servidores. Na Tabela 3.1 podem ser verificadas as principais diferenas entre
as duas solues para alta disponibilidade em ambientes de banco de dados virtualizados.
Porm, dentre as abordagens apresentadas para alta disponibilidade utilizando o processo
de migrao de BD, a segunda pode ser considerada mais vantajosa, devido ao fato desta necessitar
apenas de uma MV para a execuo do BD e no de mltiplas MV para manter o BD em execuo
ininterrupta.

47

Tabela 3.1 Comparao entre os principais mtodos de Alta Disponibilidade.


Mquina Virtual Clusterizao
Critrio
Migrao sesses online
Sim
Sim
Executa em ambiente Distribudo
No
Sim
Migrao transparente para o usurio
Sim
Sim
Possibilita reconfigurao
Sim
Sim
Executa Mltiplas instncias
(requer sincronizao)
No
Sim
Sobrecarga durante o processo de migrao
Sim
No
Possui instncias ociosas
No
Sim

3.4

Concluses deste captulo

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.

NOVO PARADIGMA PARA VIRTUALIZAO DE BANCO DE

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

Desafios da virtualizao de banco de dados

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

Modelo do banco de dados virtual

Nesta abordagem proposta a virtualizao da instncia de BD, realizado pelo SGBD.


Essa implementao pode aumentar a flexibilidade atravs de uma arquitetura muito mais eficiente,
neste caso, a virtualizao da instncia de BD [AZR+ 12]. Desta forma, algumas desvantagens da
utilizao de um sistema de BD sobre uma MV podem ser minimizadas, como por exemplo, a perda
de desempenho sendo possvel manter os benefcios que a virtualizao pode trazer, entre eles, a
consolidao de BD.
Banco de dados virtual implementado atravs da virtualizao da instncia de BD sobre
um sistema operacional com recursos exclusivos para executar esse tipo de funo. Os aplicativos

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

Figura 4.1 Comparao entre as camadas de BD.

ria, possibilitando a execuo de algumas instrues diretamente, justificando assim o desempenho


semelhante ao ambiente nativo.
Considerando as motivaes para virtualizar o BD e os seus desafios, esta abordagem
(Figura 4.1(c)) uma alternativa administrao eficaz de um ambiente de TI, mantendo os
benefcios conquistados nesses ambientes virtualizados e trazendo algumas vantagens, tais como
uma consolidao mais eficiente, diminuio do overhead e alta disponibilidade.

4.2.1

Gerncia de recursos de BD virtual

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

processo de migrao de um BD sobre uma MV e a migrao da instncia virtual so descritos a


seguir.
Consolidao mediante migrao de BD sobre MV
A migrao de um BD sobre MV utiliza uma tcnica para transferir o sistema convidado
de uma mquina fsica para outra, com a mnima interrupo de servio, o que fundamental para
permitir a consolidao. O processo de migrao de um BD sobre uma MV, pode ser executado
da mesma forma que migrar uma VM com qualquer outra aplicao. Os passos necessrios para
realizar a migrao so:
1. Iniciar MV no host de destino: Nesta fase iniciada a MV no host de destino. Este
processo inicia com a cpia de todas as pginas de memria do host de origem ao host de
destino. Se durante a cpia uma pgina de memria sofre alterao, necessrio realizar uma
nova cpia da pgina inteira, at um limite onde o hypervisor considerar que a maioria das
pginas foram copiadas (Figura 4.2(a) e 4.2(b)).
2. Verificar o estado da MV copiada: Esta fase executada no momento em que a cpia
das pginas de memria da MV atingirem o limiar definido pelo hypervisor. Para finalizar a
cpia, a VM de origem suspensa para que seja finalizada a cpia das pginas de memria
para a VM de destino. Esta suspenso e cpia das pginas deixadas no hospedeiro de origem
considerado um tempo de inatividade e pode durar de milissegundos at vrios segundos,
dependendo do tipo de aplicao que est sendo executada (Figura 4.2(c)).
3. Finalizar origem e iniciar destino: Aps finalizar o processo de cpia das pginas de
memria da MV de origem, esta desligada e a VM de destino passa a responder a todas as
requisies (Figura 4.2(d)).
Este processo de consolidao possibilita mover um servidor de BD de um host hospedeiro
com poucos recursos disponveis para outro host hospedeiro com mais recursos, propiciando a
incluso de desempenho VM mediante a adio de mais recursos, como por exemplo, mais memria
ou ncleos de processador.
importante destacar que neste trabalho no considerada a consolidao de MVs que
esto em diferentes reas de armazenamento e que todas as MVs devem estar nas mesmas reas de
rede (mesma LAN).
Consolidao mediante migrao de BD virtual
A consolidao de BD virtuais pode ser realizada de forma mais flexvel, visto que neste tipo
de migrao no necessrio copiar o estado da MV, considerando que somente sero transportadas
as sesses ativas ao final da execuo da transao no BD, sem a mnima necessidade de interrupo

54

Figura 4.2 Processo de migrao de um BD sobre MV.

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

Figura 4.3 Processo de migrao de um BD virtual.

4.2.2

Alta disponibilidade usando BD virtual

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

Comparao entre as abordagens de utilizao de BD em ambientes virtuais

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

analisados na literatura as principais alternativas utilizadas pela comunidade acadmica e industrial.


Dado o foco deste trabalho em virtualizao do BD, a anlise restrita ao modelo de execuo
em um ambiente virtual. Os sistemas de BD abordados nesta comparao podem ser executados
tambm em um ambiente no virtualizado, diretamente no hardware hospedeiro, porm sem os
benefcios da virtualizao. Dentre as abordagens estudadas, este trabalho destaca:
Banco de dados sobre mquina virtual: os BDs esto completamente isolados uns dos
outros mediante a execuo de MV sobre o hardware hospedeiro. O desempenho parcialmente
dependente da capacidade do hypervisor em gerenciar as requisies da MV ao hardware.
Uma MV possibilita executar mltiplas BD sobre um mesmo hardware motivado que uma
MV desconhece que est em um ambiente virtualizado e que existem outras MV competindo por
recursos de hardware. Cada BD normalmente executado em um MV, assim podem ser necessrias
mltiplas MV para mltiplos BD.
Os arquivos de dados de cada MV podem ser armazenados em discos locais (internos a MV)
ou discos compartilhados. Os discos locais de cada MV existem como arquivos no SO hospedeiro o
que os torna muito fceis de fazer o backup, mover ou implantar, alm de fornecer o ambiente ideal
para desenvolvimento e teste. Esta prtica exige mais recursos para migrar uma MV, dado que os
arquivos de dados tambm sero movidos. Utilizando disco compartilhando, os arquivos de dados
permanecem em um local compartilhando, permitindo acesso aos dados por qualquer MV.
Banco de dados virtual: o sistema anfitrio executa cada BD (instncia virtual) como
um processo do SO, razo pela qual os BDs desconhecem que est sendo executado vrios BDs
sobre o mesmo hardware. Nesta abordagem, no necessrio reinstalar toda a pilha a software,
como SO e SGBD, sendo que estes so compartilhados do sistema anfitrio.
Nesta abordagem, os arquivos de dados so normalmente armazenados em disco compartilhado devido flexibilidade de executar a migrao de um BD durante a sua execuo.
Embora cada abordagem possua benefcios e limitaes, um problema de desempenho
ainda compartilhado por todos. Na Tabela 4.1 so resumidas as principais caractersticas de cada
abordagem.

Tabela 4.1 Caractersticas das implementao de BD sobre MV e BD virtual.


Critrio
Banco de dados sobre MV Banco de dados virtual
Virtualizao
Mquina virtual
Processo do SO anfitrio
Camada Adicional
Hypervisor
Sem camada adicional
Migrao
Toda a MV
Sesses ativas
Localizao transparente
Sim
Sim
Consolidao
Mltiplas MVs
Mltiplos processos
Arquivo de Dados
Discos compartilhados,
Discos compartilhados
disco local
Tipo de Ambiente
Heterogneo
Homogneo
Desempenho
Perda de Desempenho
Semelhante ao Nativo

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

Concluses deste captulo

Neste Captulo foi apresentado uma alternativa abordagem de virtualizao de BD sobre


uma VM, o BD virtual. Nesta abordagem, apenas a instncia de BD virtualizada atravs do uso
de containers. Este paradigma surge como opo para superar os desafios que normalmente so
impostos virtualizao tradicional.
Ambientes de TI normalmente possuem dezenas, chegando muitas vezes a centenas de
recursos, tais como servidores, storages e ativos de rede. Na atual evoluo das tecnologias de
virtualizao, muitos desses recursos acabam sendo virtualizados e conseqentemente os servidores
de BD tambm so virtualizados. Porm, garantir a correta alocao dos servidores de BD nos ambientes virtuais e diminuir o overhad causado pela implementao da camada adicional de hypervisor
so os principais desafios que se pretende superar com esta abordagem.
A abordagem de BD virtual pode ser implementada atravs das tecnologias semelhantes
a containers, que implementam a virtualizao a nvel de kernel, onde cada ambiente virtual
executado como um servio do SO hospedeiro. Uma das principais caracterstica desse tipo de
virtualizao que o desempenho do ambiente virtual semelhante ao ambiente nativo, e cada
ambiente executado de forma independente e isolada entre si.
Durante a discusso do novo modelo, foram confrontadas as funcionalidade de consolidao
e alta disponibilidade com o modelo convencional. Um processo de consolidao eficiente deve
ocorrer sem a necessidade de parar o servio ou, com uma queda mnima de desempenho. Nesse
aspecto, a nova abordagem traz um ganho significativo durante o processo de migrao, um dos
recursos essenciais consolidao. Porm, no quesito de alta disponibilidade, as duas abordagens
tem um funcionamento muito semelhante, pois executam o servio de BD virtualizado, porm
estudos sugerem que a virtualizao baseada em containers mais eficiente pois somente a instncia
de BD virtualizada e no toda a pilha de software, representado na figura 4.1.
Neste sentido, essa nova abordagem de virtualizao do BD traz alguns benefcios em
comparao a abordagem tradicional, os quais sero avaliados no prximo Captulo.

58

59

5.

AVALIAO DE BANCO DE DADOS VIRTUAL

Avaliar um ambiente virtualizado no uma atividade naturalmente fcil, considerando a


diversidade dos sistemas existentes e as caractersticas de implementao [WWS+ 10]. Devido a essa
diversidade, foi necessria a padronizao dos mtodos para avaliar o desempenho, contemplando
os mais diversos sistemas computacionais, tais como BD sobre MV e BD virtuais.
Neste Captulo sero descritas as estruturas do ambiente de avaliao e as avaliaes que
foram realizadas com suas respectivas observaes que puderam ser obtidas a partir da anlise desses
resultados. As Sesses esto organizadas como segue: Sesso 5.1 apresentada a metodologia de
avaliao, a seguir, na Sesso 5.2 so mostrados os resultados dos experimentos e, na Sesso 5.3
abordada a matriz de comparao. Na Sesso 5.4 mostra os resultados alcanados com a avaliao
do ambiente real utilizando a matriz de comparao e, por ltimo, na Sesso 5.5 so colocadas
algumas concluses deste Captulo.
5.1

Metodologia de Avaliao

Foram definidos os seguintes cenrios para avaliar o desempenho de execuo, consolidao


e capacidade de isolamento de BD em ambientes virtualizados, quais sejam:
BDs suportados em um ambiente nativo, ou seja, implementado diretamente no hardware
sero aqui identificados como Banco de Dados sobre Sistema Operacional (BDSO), cuja
estrutura de software pode ser observada na Figura 4.1(a). A principal caracterstica deste
tipo de implementao o desempenho nativo, por no apresentar a camada intermediria de
virtualizao, porm os recursos de consolidao e gerncia de recursos no se aplicam neste
tipo de implementao.
Ambientes virtualizados que do suporte a BD executados sobre MV, sero aqui identificados
como Banco de Dados sobre Mquina Virtual (BDMV) e podem ser observados na
Figura 4.1(b). A utilizao desta abordagem adiciona uma camada intermediria responsvel
pela virtualizao, provocando uma queda de desempenho, porm adicionando os recursos
inerentes virtualizao, tais como consolidao e gerenciamento de recursos.
A virtualizao da instncia de BD, neste trabalho ser identificado como Banco de Dados
Virtual (BDV). Essa abordagem utiliza a virtualizao baseada em containers e as camadas
de softwares podem ser observadas na Figura 4.1(c). Uma das principais vantagens na utilizao desta abordagem a possibilidade de utilizao de recursos inerentes virtualizao
sem a perda de desempenho ocasionada pela incluso de uma camada intermediria.
Com isto, a avaliao realizada utilizando medies e comparaes de desempenho dos
ambientes BDMV e BDV. Como parmetro de comparao, tambm foram executadas avaliaes

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].

Figura 5.1 Arquitetura do ambiente de avaliao (BDV e BDMV).


O ambiente de avaliao BDSO foi configurado utilizando o OEL 5.6 sem suporte a virtualizao. O SGBD foi configurado diretamente sobre o SO e todos os recursos de hardware so
disponibilizados diretamente pelo SO.

61

No ambiente DBMV, o SO foi configurado sobre uma MV com todos os recursos de


hardware disponveis. O SGBD foi instalado diretamente no SO da MV. A instncia de BD foi
criada aplicando 100% dos recursos disponveis da VM. Neste ambiente, os recursos disponveis ao
BD so gerenciados pelo SO da VM.
No ambiente VDB, o BD foi configurado sobre o SO e este instalado diretamente sobre o
hardware hospedeiro. A instncia de BD foi criada utilizando 100% dos recursos disponveis, porm
neste ambiente o suporte virtualizao foi habilitado no SGBD.

5.1.2

Benchmark e descrio dos testes

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

Esta Seo apresenta os resultados da avaliao de desempenho dos cenrios BDSO,


BDMV e BDV. Tambm so apresentados os resultados das observaes dos processos de migrao
e isolamento necessrios avaliao de cada cenrio.

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.

Comparao de Execues de Transaes (TPM)


O desempenho do BD executado diretamente sobre o hardware, neste contexto BDSO,
com mdia de 175.487 TPM, em comparao com o DBVM, com mdia de 161.227 TPM, superior
em 9%. Esse comportamento esperado e pode ser explicado, como visto em [CRFD07], devido
incluso da uma camada hypervisor necessria para a execuo da MV. Alm da incluso da
camada de virtualizao, que interfere no desempenho das intrues do processador, a quantidade
de operaes de memria, como por exemplo Page-Faults, tambm afeta o desempenho da MV em
at dois dgitos percentuais [MYAS08].
possvel observar tambm o resultado da execuo do BDV com 175.957 TPM. Uma das
concluses desta avaliao, mostra que o resultado de execuo do BDV equivalente execuo
do BDSO, permanecendo ambos dentro do intervalo de confiana.
Esta anlise inicial permite determinar que as execues do BDV tem o desempenho
semelhante ao BDSO. Tanto o BDV como o BDSO tem um desempenho superior em relao a
execuo do BDMV. No entanto, apenas com esses dados ainda no possvel verificar o motivo
da perda de desempenho do BDMV. A anlise de recursos que apresentada a seguir mais um
passo em direo obteno dessas respostas.
A seguinte anlise tem como objetivo avaliar a utilizao dos recursos, como CPU, memria, rede e energia. Comparando a utilizao desses recursos, possvel argumentar os fatores que
motivaram o comportamento sobre o desempenho dos cenrios citados anteriormente.

64

Figura 5.2 Comparao de desempenho: transaes executadas por minuto BDSO, BDMV e BDV

Comparao de Utilizao de CPU


O resultado na Figura 5.3 representa um acrscimo de 39% de utilizao de CPU do
BDMV, comparado com BDV e o BDSO. Foi observado que a utilizao de CPU entre o BDV e
BDSO equivalente e se mantm na mesma proporo durante todo o monitoramento da execuo
da avaliao.

Figura 5.3 Comparao de utilizao de CPU: BDSO, BDMV e BDV


Comparando a execuo dos trs cenrios, o BDVM utilizou a mesma proporo de CPU
que o BDV e o BDSO (identificada como SGBD hypervisor ), porm, monitorando a utilizao de
CPU no host hospedeiro (identificada como Hypervisor) a utilizao de CPU do BDMV maior em
relao implementao do BDV e do BDSO devido a soma de utilizao da MV (SGBD hypervisor)

65

com o host hospedeiro (hypervisor ). Considerando o processamento adicional devido a incluso de


uma camada extra entre a MV e o hardware, possvel identificar o esforo adicional executado
pelo hypervisor, que converte as instrues da MV para o hardware [MYAS08].
Comparao de Consumo de Energia
O monitoramento do consumo de energia foi realizado atravs de um multmetro ligado diretamente na entrada de energia do servidor. Os dados registrados pelo multmetro eram repassados
para uma estao que armazenava todos os valores de consumo, registrados a cada segundo.
O esforo adicional do BDVM causado pela camada intermediria de virtualizao pode
ser observado na Figura 5.4 que apresenta o consumo de energia. O consumo de energia do BDSO
e do BDV inferior ao consumo do BDVM. A abordagem que utilizada MV teve uma mdia de
consumo de 9% maior do que as demais abordagens. Este comportamento pode ser explicado e
conforme observado na seo anterior, devido a alta utilizao massiva dos recursos de hardware,
como por exemplo CPU.

Figura 5.4 Comparao do consumo de energia: BDSO, BDMV e BDV

Comparao de operaes de entrada e sada


Outra anlise realizada mostrada na Figura 5.5 que compara a utilizao de recursos como
rede e disco. observado que o volume de dados lidos e recebidos superior em relao os dados
escritos e enviados. Isso devido ao tipo de Benchmark utilizado. O TPC-C mede o comportamento
de aplicaes OLTP, que conforme visto anteriormente, so aplicaes que exploram os recursos do
BD simulando transaes essencialmente de compra e venda com mltiplos usurios, ocasionando
esse comportamento. O BDVM tem uma utilizao de rede e de disco inferior em 8% comparado
com as outras abordagens, assim como tambm observado com a utilizao de memria.

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

Comparao de Operaes de Memria


Na Figura 5.6 so mostradas as operaes de pginas executadas na memria. Esse
monitoramento foi realizado na camada do SGBD, ou seja, sobre a mquina nativa e sobre a MV.
So mostradas, a quantidade de Pginas Carregadas (Page-In), Pginas Descarregas (Page-Out) e
Pginas no Encontradas (Page-Fault). Esta ltima tambm pode ser considerada um dos motivos
responsveis pelo baixo desempenho de uma aplicao sobre VM [MYAS08]. Pode-se notar que as
operaes de memria do BDMV so inferiores em 9% comparado ao BDSO e BDV, porm a relao
de utilizao de memria entre BDSO e BDV equivalente. A proporo de Page-In, Page-Out e
Page-Fault idntica nas trs execues. Logo, no houve um acrscimo de utilizao de memria
do SGBD sobre a MV.
Embora que a utilizao de memria do BDVM seja inferior, se comparada ao BDV e
BDSO, isso no pode ser considerado uma vantagem dessa abordagem, haja vista que o BDVM
teve o desempenho inferior e o consumo de energia superior.
As anlises apresentadas nesta seo possibilitam determinar que o BDSO e BDV tem um
desempenho equivalente, sendo que este ltimo ainda proporciona os benefcios que a virtualizao

67

Figura 5.6 Comparao de operaes de memria (Page-In, Page-Out e Page-Fault): BDSO,


BDMV e BDV

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

Avaliao de gerncia de recursos

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.

Figura 5.7 Utilizao de CPU: Alterao de 16 CPUs para 8 CPUs.


A Tabela 5.2 mostra a variao entre os perodos pr e ps alteraes de recursos.
perceptvel a variao aps a alterao da quantidade de CPUs, bem como as operaes de Leitura/Escrita diminuram significativamente.
Esse comportamento sugere que possvel isolar os recursos utilizados por uma instncia
de banco de dados.
Tabela 5.2 Utilizao de E/S: Valores
Mtrica
Execuo com 16 CPUs
Execuo com 08 CPUs
Mdia de bytes
Variao (Antes - Depois)

de Leitura e Escrita com diminuio de CPU


Leitura
Escrita
765542 bytes 17513242 bytes
648628 bytes 10954980 bytes
707085 bytes 14234111 bytes
116914 bytes
6558262 bytes

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.

Figura 5.8 Desempenho TPM: alterao de 4 CPUs para 16 CPUs.


Com o aumento dos recursos, neste caso, a quantidade de CPUs da instncia 04, houve
uma maior eficincia, sem interferir nas outras instncias de BD, que continuaram com o mesmo
comportamento (Tabela 5.3). Podemos, ento, afirmar que atravs do isolamento h reserva de
recursos para a execuo do BDV.
Tabela 5.3 Resultado de TPM com Aumento de Recursos Instncia 04.
Mtrica
Instncia 01 Instncia 02 Instncia 03 Instncia 04
Antes do Aumento
43203
42735
44440
43532
Aps o Aumento
42651
42184
43440
88382
Mdia de Transaes
por segundo
676
668
682
1038
Valor Mximo
de Transaes
66156
61536
66588
105084
Consumo de Memria
8 Gb
8 Gb
8 Gb
8 Gb

5.2.3

Avaliao de alta disponibilidade

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

Migrao: BDVM e BDV.


BDV
97007.02
96764.43
96843.28
0.081%
94844.04,
99170.00

71

As anlises de recursos que se seguem mais um passo em direo ao nosso objetivo de


avaliar o processo de migrao.
Utilizao de CPU Durante Migrao
Para monitorar a utilizao de CPU durante do processo de migrao foi utilizada a ferramenta mpstat. Este utilitrio um software de linha de comando utilizado em sistemas operacionais
do tipo Unix para extrair estatsticas relacionadas ao processamento. comumente utilizada no
monitoramento de computadores, a fim de diagnosticar sobrecargas ou para gerar estatsticas sobre
o uso da CPU do computador.
Pode ser observado na Figura 5.10 que o BDV tem a utilizao da CPU inferior de em
12,9% em comparao com ao ambiente DBVM com o mesmo workload. O ambiente DBVM,
identificado na Figura 5.10(b) tem um acrscimo da utilizao de CPU no host de destino logo no
inicio da migrao, porm a utilizao de CPU passa ao mesmo nvel do host de origem somente
ao concluir a migrao. Conforme observado na Seo anterior, o tempo mdio de migrao do
BDVM foi de 540 segundos, perodo este em que os dois hosts tero uma sobrecarga de utilizao
de CPU. J o ambiente do BDV, identificado na Figura 5.10(a), leva 126 segundos sendo que o
host de destino inicia imediatamente o processamento, reduzindo a utilizao de CPU no host de
origem proporcionalmente.

(a) Utilizao de CPU BDV.

(b) Utilizao de CPU BDVM.

Figura 5.10 Comparao da utilizao de CPU durante a migrao: BDV e BDMV.

Utilizao de Rede Durante a Migrao


A taxa de utilizao da rede o recurso que exibe a maior diferena no uso durante o
processo de migrao, o qual pode ser observado na Figura 5.11. possvel verificar que a rede do
BDV, Figura 5.11(a), no sofre um aumento perceptvel no uso durante o perodo de migrao, o
que permite sugerir que no h nenhuma mudana em termos de consumo. Uma possvel explicao
para este comportamento pode ser que, considerando que o BDV transfere as sesses somente aps
a execuo da transao, torna-se desnecessrio copiar os dados durante a execuo.
O ambiente DBVM, Figura 5.11(b), sofre um aumento considervel na utilizao ao longo
de todo o processo de migrao. A transferncia dos dados antes e aps o processo de migrao

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.

(a) Utilizao de Rede BDV.

(b) Utilizao de Rede BDMV.

Figura 5.11 Comparao da utilizao de CPU durante a migrao: BDV e BDMV.

Utilizao de Memria Durante a Migrao


Pode ser observado na Figura 5.12 que o uso da memria do BDMV (mdia 59Gb) em
comparao com o uso de memria do BDV (mdia de 6.2Gb) chega a nove vezes a mais. Isto se d
devido ao fato de que a MV (BDMV) utiliza toda a memria reservada pelo hypervisor, enquanto
que o BDV utiliza somente a memria consumida pela SO e pela instncia de BD.
Considerando que a VM (BDMV) utiliza todos os recursos reservados e que o hardware
tem 64GB de RAM, esta VM pode ocupar os 64Gb de memria disponvel, observado 5.12(b),
enquanto que o BDV, observado na Figura 5.12(a) tem sua memria utilizada principalmente pela
instncia de banco de dados, utilizando de forma dinmica, conforme necessidade de mais recursos.
Este comportamento pode ajudar a entender as razes da elevada taxa de transferncia de dados,
considerando que MVs menores (com menos recursos alocados) demandam menos tempo e taxa de
transferncia, o que no foi observado no BDV.

(a) Utilizao de Memria BDV.

(b) Utilizao de Memria BDMV.

Figura 5.12 Comparao da utilizao de memria durante a migrao: BDV e BDMV.

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

Figura 5.13 ER do BD utilizado no estudo de caso.

Um dos principais problemas do ambiente atual o overhead causado pela execuo de


transaes com alto ndice de processamento. Dentre as principais transaes que tem uma utilizao
massiva de hardware possvel destacar a query apresentada a seguir:
select
p . chave , p . lat , p . lon , p . id_quando , p2 .*
from
posicionamento p , TABLE ( p . propriedades ) p2
where
p2 . batimetria < -5000;

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

execues das transaes, possibilitando a alterao dos parmetros de recursos durante a


execuo.
3. Alta disponibilidade: Neste caso, o ambiente deve garantir a alta disponibilidade para a
execuo do BD de forma ininterrupta.
4. Implementao: Todos os recursos de hardware e software necessrios para a implementao
das abordagens BDSO, BDVM e BDV esto disponveis e podem ser utilizados.
5. Multiplataforma: Atualmente o ambiente est sendo executado em uma plataforma homognea, utilizando SO e SGBD suportados nas abordagens BDSO, BDMV e BDV.
Considerando as necessidades acima mencionadas e analisando a MC dos requisitos listados
acima, a melhor abordagem para implementar o servio de BD e garantir um desempenho eficiente
com o gerenciamento de recursos e alta disponibilidade, sem dvida, a abordagem de Banco de
Dados Virtual (BDV).
Desta forma foi configurado o BDV garantindo a fiel replicao da estrutura atual em
execuo. Para garantir a replicao dos dados foi realizada a cpia fsica dos arquivos de dados e
inicializada o novo BD, mantendo os atuais parmetros de execuo. Tambm foi utilizado o mesmo
hardware, estrutura de storage e rede para manter um resultado confivel.
Para comparar o desempenho foi executada a mesma query nos dois ambientes, observando
o tempo de retorno de cada uma. Para garantir um resultado imparcial para cada execuo a sesso
era fechada e para novas execues, era inicializada uma nova sesso, evitando assim que controles
de acesso permanecessem na memria, priorizando certas execues.

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

Observando a Figura 5.14 possvel notar o ganho de desempenho alcanado com a


implementao do BDV. Este ganho foi de 12% para a execuo com 50 tuplas de resultado. Para
50000, 500000 e 5000000 tuplas, o ganho passou para 15%, 17% e 18% respectivamente, mantendo
estvel em 18% para resultados maiores.
Observa-se que o ganho de desenho do BDV em relao ao ambiente atual crescente,
dado o nmero de tuplas retornadas. Este comportamento pode ser explicado pelos seguintes fatores:
Desempenho: o BDV utiliza os recursos de hardware em torno de 30% a menos.
Entrada e Sada (rede e disco): a taxa de transferncia dos dados de rede e disco do
BDV menor em 8%, isso possibilitou ao ambiente BDV processar um maior nmero de registros,
comparado ao ambiente atual.
Operaes de memria: o BDV executou mais operaes de memria, garantindo assim
o melhor resultado. Considerando que o total de Page-Faults do BDV inferior ao ambiente atual,
isso refletido no desempenho.
Gerncia de recursos e alta disponibilidade: os dois ambiente so providos destes
recursos e conforme demonstrado neste trabalho, durante o processo de migrao em tempo real
do BDV, este no sofre perda de desempenho.
Isolamento: Os dois ambientes so providos de isolamento porm este recurso no ambiente atual gerenciando pela MV, enquanto que no BDV este recurso assegurado pela execuo
dos processos utilizando a tecnologia de containers.
Este estudo de caso complementa este trabalho, onde foram realizadas avaliaes de desempenho, gerncia de recursos e alta disponibilidade. Desta forma, possvel relacionar os dados
obtidos na avaliao das abordagens tradicionais de virtualizao, sugerindo como uma alternativa
a utilizao do BDV, baseada na utilizao da MC gerada a partir dos estudos realizados neste
trabalho.
5.5

Concluses deste captulo

Este Captulo complementar a outros trabalhos disponveis na literatura que comparam


a abordagem de virtualizao de sistemas de banco de dados [AAS08] [CJMB11] [MYAS08]. Nos
estudos realizados, a utilizao do BDV apresenta um melhor desempenho se comparado com a
execuo do BDMV, principalmente pelo fato de que o hypervisor da MV exige a traduo de cada
instruo que est sendo executada. Porm existem outros fatores que tambm podem influenciar
no desempenho, tais como, o custo de migrao e a possibilidade de consolidao de servidores.
Embora cada soluo possua seus benefcios e limitaes um problema que compartilhado por
todas o desempenho.
A abordagem BDV pode ser considerada a nova forma de virtualizar um sistema de banco
e dados. Neste tipo de implementao, somente a instncia do banco de dados virtualizada
mediante o compartilhamento de recursos pelo hypervisor a nvel de kernel. O gerenciamento de

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

3. Qual o custo do processo de migrao utilizada na consolidao das abordagens


tratadas neste trabalho?
O custo do processo de migrao apresentado na Seo 5.5 mostra que a migrao de uma
instncia de banco de dados virtual mais eficiente do que a migrao de uma MV com um
BD. Este trabalho, evidenciou que a migrao de uma MV onerosa devido ao transporte
da MV, do SO e do BD, sendo que o mesmo transporte do BDV mais eficiente seja em
requisito de tempo, transferncia de dados e disponibilidade do servio de BD.
4. possvel executar mltiplas instncias de banco de dados virtuais em um mesmo
servidor fsico sem que uma prejudique o desempenho da outra, garantindo o isolamento durante a execuo?
Ambientes virtuais normalmente executam mltiplas instncias de MVs garantindo o total
isolamento entre as MV. Avaliando o BDV foi possvel observar que as instncias de banco e
dados virtuais so executadas de forma isolada uma das outras. A execuo de uma instncia
no afeta a execuo de outras, garantindo assim um desempenho estvel, seguro e com
recursos reservados de hardware para cada uma delas.
6.1

Resumo das Contribuies

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

Desenvolvimento de uma matriz de comparao para identificar o modelo adequado


a ser aplicado em um ambiente de TI, variando as necessidades para cada implementao: Dadas as necessidades individuais de cada ambiente e do administrador do banco
de dados, a matriz de comparao pode ser utilizada para auxiliar tais gestores a implementar a melhor alternativa baseada em uma matriz construda mediante a anlise de resultados
obtidos durante a realizao deste trabalho.
Aplicao de um estudo de caso de um ambiente real, aplicando a matriz de comparao e observando o desempenho do ambiente real: Dado o estudo realizado, foi
possvel aplicar um estudo de caso no que comprovou-se os resultados identificados neste
trabalho, alcanados atravs da aplicao da MC.
6.2

Trabalhos Futuros

Considerando os benefcios proporcionados neste trabalho, os seguintes tpicos podem ser


candidatos de um estudo em maior profundidade e apresentados em trabalhos futuros:
Elaborao de um algoritmo de consolidao e gerenciamento dos bancos virtuais, possibilitando assim que o prprio banco de dados virtual se adapte s necessidades das aplicaes nos
ambientes de nuvem computacional, assegurando desta forma as caractersticas que as nuvens
computacionais oferecem, tais como elasticidade e reconfiguraes com a mnima interao
do provedor de servio.
Considerando a constante evoluo da tecnologia de banco de dados, como trabalho futuro
torna-se interessante a realizao de novas pesquisas para identificar outras tecnologias de
BDV que possam vir a fazer parte deste tipo de implementao em ambientes heterogneos
de SO.
Criar mecanismos de integrao com solues para ambiente de nuvem, a fim de proporcionar
solues para demandas integradas de ferramentas de administrao tais como, Openstack,
Eucalyptus, OpenNebula e Nimbus.

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]

Ahmadi, M.; Maleki, D. Performance evaluation of server virtualization in data center


applications. In: Telecommunications (IST), 2010 5th International Symposium on,
2010, pp. 638644.

[AMN06]

Apparao, P.; Makineni, S.; Newell, D. Characterization of network processing overheads


in xen. In: Virtualization Technology in Distributed Computing, 2006. VTDC 2006.
First International Workshop on, 2006, pp. 22.

[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]

Carissimi, A. Virtualizao: da teoria a solues. In: Minicursos do Simpsio Brasileiro


de Redes de Computadores - SBRC2008 2008, pp. 173207.

[CJ06]

Campbell, S.; Jeronimo, M. Applied Virtualization Technology. Intel Press, 2006.

[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]

Date, C. Introduo a sistemas de bancos de dados. Ed. Campus, 2004.

[EN11]

Elmasri, R.; Navathe, S. Sistemas de banco de dados. Ed. Pearson Addison Wesley,
2011.

[Fre12]

FresBSD. Freebsd jails. [Online; acessado em 19 de julho de 2012], Capturado em:


http://www.freebsd.org, 2012.

[ham13]

Hammerora. [Online; acessado em 19 de janeiro de 2013], Capturado em: http:


//hammerora.sourceforge.net, 2013.

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]

Jones, M. T. Virtual linux an overview of virtualization methods, architectures, and


implementations, 2006.

[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]

Lxc linux containers. [Online; acessado em 19 de julho de 2012], Capturado em:


http://lxc.sourceforge.net, 2012.

[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]

Singh, A.; Korupolu, M.; Mohapatra, D. Server-storage virtualization: integration and


load balancing in data centers. In: Proceedings of the 2008 ACM/IEEE conference on
Supercomputing, 2008, pp. 53:153:12.

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]

Solaris containers. [Online; acessado em 19 de julho de 2012], Capturado em: http:


//www.oracle.com/technetwork/server-storage/solaris/containers-169727.html, 2012.

[tpc13]

Tpc consortion. [Online; acessado em 19 de janeiro de 2013], Capturado em:


http://www.tpc.org/tpcc/detail.asp, 2013.

[Tya09]

Tyagi, N. K. Virtualization of data base layer (vdbl). In: GLOBAL JOURNAL OF


ENTERPRISE INFORMATION SYSTEM, 2009, pp. 113118.

[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.

S-ar putea să vă placă și