Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados,...

8
Simpósio Brasileiro de Bancos de Dados - SBBD 2012 Short Papers 161

Transcript of Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados,...

Page 1: Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados, Desempenho, Multi-inquilino 1. INTRODUÇÃO Computação em nuvem é uma tendência recente

Analisando o Desempenho de Banco de Dados Multi-Inquilino

em Nuvem

Leonardo O. Moreira, Flávio R. C. Sousa e Javam C. Machado

Universidade Federal do Ceará - Brasil

{leoomoreira,sousa,javam}@ufc.br

Abstract. Computação em nuvem é uma tendência de tecnologia com o objetivo de proporcionar serviços sobdemanda de pagamento baseado no uso. Para melhorar a utilização dos recursos, os provedores implementam técnicasmulti-inquilino para sistemas de banco de dados. Existem muitos modelos multi-inquilino, cada um com diferentesníveis de isolamento e desempenho. Entretanto, estes modelos não têm sido avaliados sob a perspectiva de desempenho.Este artigo apresenta uma análise de experimentos para medir a variação de desempenho de sistemas de banco dedados multi-inquilino em nuvem. Foram utilizados diferentes bancos de dados para representar um ambiente real.Os resultados mostram que o sistema de banco de dados in�uencia diretamente no isolamento entre inquilinos e notempo de resposta das consultas. Por �m, o trabalho fornece alguns direcionamentos para utilização de banco dadosmulti-inquilinos em nuvem.

Categories and Subject Descriptors: H.Information Systems [H.m. Miscellaneous]: Databases

Keywords: Banco de Dados, Desempenho, Multi-inquilino

1. INTRODUÇÃO

Computação em nuvem é uma tendência recente de tecnologia cujo objetivo é proporcionar serviçosde Tecnologia da Informação (TI) sob demanda com pagamento baseado no uso [Agrawal et al. 2010].Ambientes em nuvem são baseados em técnicas de virtualização para melhorar a utilização dos recur-sos. Neste ambiente, cada máquina física comporta um número variável de máquinas virtuais (VM),de acordo com a capacidade de hardware disponível na máquina física. Sistemas de gerenciamentode banco de dados (SGBDs) são candidatos potenciais para a implantação em nuvem. Isso ocorreporque, em geral, as instalações destes sistemas são complexas e envolvem grande quantidade dedados, ocasionando custo elevado, tanto em hardware quanto em software [Elmore et al. 2011].

Na nuvem, o usuário do serviço tem algumas garantias, tais como: desempenho e disponibilidade.Essas garantias de qualidade do serviço (QoS) são de�nidas entre o provedor do serviço e o usuário,e expressas por meio de acordo de nível de serviço (SLA) [Sousa et al. 2010]. Este acordo consistede contratos que especi�cam um nível de qualidade que deve ser atendido, e penalidades em casode falha. Muitas empresas dependem de SLA, por exemplo, para exibir uma página web dentro deum determinado intervalo de tempo. Essas empresas esperam que os provedores de nuvem forneçamgarantias de qualidade utilizando SLAs com base em características de desempenho. Contudo, emgeral, os provedores baseiam seus SLAs apenas na disponibilidade dos serviços oferecidos, ao passoque os serviços em nuvem apresentam uma variabilidade de desempenho bastante elevada. Portanto,é essencial que os provedores ofereçam SLAs baseados em desempenho para os usuários [Sousa et al.2012].

Para melhorar o gerenciamento dos recursos e reduzir custos, os provedores implementam o com-partilhamento de recursos entre inquilinos [Barker et al. 2012]. O conceito de multi-inquilino é uma

Simpósio Brasileiro de Bancos de Dados - SBBD 2012Short Papers

161

Page 2: Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados, Desempenho, Multi-inquilino 1. INTRODUÇÃO Computação em nuvem é uma tendência recente

técnica para consolidar aplicações de diversos inquilinos em um único sistema. Esta técnica é fre-quentemente utilizada para eliminar a necessidade de sistemas separados para cada inquilino. Porexemplo, um inquilino pode ser um usuário utilizando uma aplicação que acessa um SGBD ou umSGBD instalado em uma infraestrutura. SGBDs multi-inquilino têm sido utilizados para hospedardiversos inquilinos (bancos de dados) dentro de um único sistema, permitindo o compartilhamentoe�caz de recursos em diferentes níveis de abstração e isolamento [Elmore et al. 2011].

De acordo com [Chaudhuri 2012], um desa�o interessante é desenvolver técnicas para garantir odesempenho de SGBDs multi-inquilino. Por outro lado, antes de elaborar novas técnicas, é necessáriocompreender como a carga de trabalho de um inquilino in�uencia os demais e ainda o isolamentoproporcionado por um SGBD para evitar a interferência entre os inquilinos. Este problema é abordadoem alguns trabalhos [Elmore et al. 2011] [Ahmad and Bowman 2011] [Xiong et al. 2011] [Lang et al.2012] [Hatem A. Mahmoud and El-Abbadi 2012]. Contudo, os trabalhos não tratam aspectos dedesempenho, pois são orientados a recursos (o foco é consolidar a maior quantidade de inquilinos nomesmo hardware ou VM) e/ou não veri�cam o isolamento de cada SGBD.

Este artigo mostra uma análise de um conjunto de experimentos para medir a variação do de-sempenho de sistemas de banco de dados multi-inquilino em nuvem. Para tanto, foram utilizadosdiferentes bancos de dados para representar um ambiente real. De acordo com nosso estudo, este éo primeiro trabalho que analisa detalhadamente a interferência entre inquilinos e sua relação com odesempenho. Os resultados do estudo permitem compreender e conceber novas técnicas para tratar aquestão de desempenho de SGBDs multi-inquilino.

O trabalho está organizado da seguinte forma. A seção 2 apresenta, resumidamente, os conceitosbásicos relacionados ao estudo. Na seção 3, são apresentadas a metodologia e o ambiente utilizado.A seção 4 apresenta os experimentos e os resultados. A seção 5 comenta sobre e discute os trabalhosrelacionados; e, �nalmente, a seção 6 contém as conclusões.

2. MODELOS MULTI-INQUILINO PARA BANCOS DE DADOS

O termo multi-inquilino é uma estratégia utilizada para compartilhar recursos. Um inquilino é de�nidode acordo com o contexto onde se encontra inserido; por exemplo, um inquilino pode ser um bancode dados em relação ao SGBD. Existem vários modelos de multi-inquilino que podem compartilhardesde máquinas físicas até tabelas. Por exemplo, a empresa Salesforce.com [Salesforce 2012] utiliza omodelo de tabela compartilhada [Weissman and Bobrowski 2009], enquanto [Soror et al. 2008] utilizamo modelo de VM compartilhada para melhorar a utilização dos recursos. Algumas característicasdo gerenciamento de dados em nuvem aumentam a relevância de outros modelos de SGBDs multi-inquilino. Para melhorar a compreensão destes modelos, [Elmore et al. 2011] propõem uma novaclassi�cação, como mostra a Tabela I. A Tabela I estabelece uma relação entre modelos de bancos dedados multi-inquilino e os modelos de serviço da computação em nuvem, infraestrutura como serviço(IaaS), plataforma como serviço (PaaS) e software como serviço (SaaS).

Modo de Compartilhamento Isolamento IaaS PaaS SaaS

1. Hardware VM x2. Máquina Virtual (VM) Usuário SO x3. Sistema Operacional (SO) Instância do BD x4. Instância BD x5. Banco de Dados Esquema x6. Tabela Tupla x

Table I. Modelos de bancos de dados multi-inquilino e a correspondência com a computação em nuvem [Elmore et al.2011]

Os modelos correspondentes às linhas 1-3 compartilham recursos nos níveis das mesmas máquinas

Simpósio Brasileiro de Bancos de Dados - SBBD 2012Short Papers

162

Page 3: Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados, Desempenho, Multi-inquilino 1. INTRODUÇÃO Computação em nuvem é uma tendência recente

físicas com diferentes níveis de abstração; por exemplo, múltiplas VMs, contas de SO de usuáriosdiferentes e diversas instâncias dos SGBDs. Neste caso, não existe compartilhamento de recursosde banco de dados e as instâncias dos SGBDs se mantêm independentes. As linhas 4-6 envolvem ocompartilhamento de processos de banco de dados em vários níveis de isolamento, tais como: diferentesbancos de dados, esquema ou tablespace e tupla. Nos diferentes modelos, os dados dos inquilinos sãoarmazenados de várias formas. O modelo de hardware compartilhado utiliza a virtualização parachavear várias VMs na mesma máquina. Cada VM possui apenas um processo de banco de dados, euma VM inteira em geral corresponde a um inquilino. Já o modelo de tabela compartilhada armazenadados de vários inquilinos em uma mesma tabela; e algumas tuplas de uma tabela correspondem aum inquilino.

Os modelos das linhas 4-6 são os mais amplamente utilizados, pois permitem um melhor compar-tilhamento de recursos. Por outro lado, estes três modelos apresentam maior interferência entre osinquilinos do sistema, o que pode interferir no desempenho do sistema. No modelo da linha 4, uminquilino é um banco de dados separado, que melhora o isolamento. Contudo, o modelo 4 está limitadoao número de estruturas que o SGBD pode manipular. Os modelos 5-6 utilizam um número menorde recursos dentre todos os modelos, mas apresentam algumas desvantagens; por exemplo, o modelo6 necessita de indexação e otimização, já que os inquilinos compartilham as mesmas tabelas, porémapresentam requisitos diferentes.

3. METODOLOGIA E AMBIENTE

3.1 Metodologia

A metodologia, utilizada neste trabalho, consiste de um conjunto de experimentos para veri�caro desempenho e a interferência em um SGBD multi-inquilino. São de�nidos cinco passos para aconcepção e execução de experimentos:

(1) De�nir o modelo multi-inquilino a ser utilizado.(2) De�nir os benchmarks para gerar o ambiente de SGBD multi-inquilino.(3) De�nir os SGBDs e a alocação dos inquilinos nestes sistemas.(4) De�nir as cargas de trabalho ao longo do tempo para cada inquilino.(5) Analisar a variação da carga de trabalho e sua relação com o desempenho de cada inquilino.

3.2 Ambiente

No trabalho, optou-se por utilizar o modelo multi-inquilino de instância (linha 4 da Tabela 1), poisé mais utilizado do que os modelos 5-6 [Elmore et al. 2011], e os das linhas 1-3 apresentam menorinterferência entre os inquilinos. Assim sendo, de acordo com o modelo utilizado, tem-se que um bancode dados corresponde a um inquilino no sistema.

Em relação à ferramenta de avaliação, a diversidade de sistemas em nuvem e a forma como estessistemas são construídos (i.e., modelo de dados, níveis de consistência e linguagem de acesso) di�cul-tam o desenvolvimento de um benchmark padrão. Existem alguns benchmarks para avaliar SGBDsexecutados em nuvem. Contudo, cada benchmark elenca um conjunto de pressupostos próprios, o quetorna complexo a utilização [Sousa et al. 2010]. Tratando-se especi�camente do benchmark multi-inquilino, ainda não existe um benchmark para SGBD multi-inquilino. Para simular o ambiente, foiutilizado o OLTPBenchmark [OLTPBenchmark 2012].

O OLTPBenchmark é um framework para avaliar o desempenho de diferentes SGBD relacionaisdiante de con�gurações de cargas de trabalho OLTP. O framework possui diversos benchmarks, taiscomo TPC-C, Twitter, YCSB e Wikipedia. O OLTPBenchmark possibilita con�gurar a taxa detempo para submissão de requisições, de�nir o percentual de cada tipo de transação por tempo

Simpósio Brasileiro de Bancos de Dados - SBBD 2012Short Papers

163

Page 4: Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados, Desempenho, Multi-inquilino 1. INTRODUÇÃO Computação em nuvem é uma tendência recente

de experimento, obter informações sobre vazão, média do tempo de resposta e informações sobreutilização dos recursos de SO.

Para a avaliação foi utilizada uma nuvem privada com o middleware OpenNebula [OpenNebula2012], que permite gerar a infraestrutura em nuvem. A utilização de uma nuvem privada tem comoobjetivo concentrar o foco no problema da interferência entre os inquilinos, visto que uma nuvempública, por exemplo, a Amazon [EC2 2012], apresenta grande variabilidade de desempenho [Schadet al. 2010], o que pode prejudicar a identi�cação dos reais fatores responsáveis pela variação dedesempenho.

Foram utilizadas 3 VMs (VMbench, VMmysql e VMpostgres), cada uma com sistema operacionalUbuntu 12.04 Server. A VMbench possui 4 CPUs, 16 GB RAM, 30 GB de armazenamento, e contêmo OLTPBenchmark [OLTPBenchmark 2012]. Em todos os experimentos, foram criadas 3 instânciasdo OLTPBenchmark. Uma para submissão da carga de trabalho para o TPC-C, outra para o YCSBe uma terceira para o Wikipedia. As submissões das cargas de trabalho foram realizadas em paralelo.As VMmysql e VMpostgres possuem 2 CPUs, 2 GB RAM, 30 GB de armazenamento com MySQL 5.5e PostgreSQL 9.1, respectivamente.

Nas VMs com o MySQL e PostgreSQL, foram utilizadas três bases de dados fornecidas pelo OLTP-Benchmark, TPC-C, YCSB e Wikipedia, com os seguintes tamanhos: TPC-C (400 MB), YCSB (800MB) e Wikipedia (600 MB). Foram con�guradas 30 conexões para cada banco de dados, variando ataxa de transações. Com essa con�guração de ambiente é possível realizar experimentos que analisecomo cada um dos dois SGBDs, diante de diversas cargas de trabalho, trata questões de interferênciaentre os bancos de dados multi-inquilino de diferentes benchmarks.

4. EXPERIMENTOS E RESULTADOS

Os experimentos foram realizados focando nos seguintes objetivos: (a) medir o desempenho e a in-terferência entre os inquilinos e (b) avaliar a in�uência da carga de trabalho e do SGBD. Devido aosvalores dos tempos de respostas serem muito diferentes tanto entre os bancos de dados quanto osSGBDs avaliados, não foi possível padronizar a escala do tempo de resposta. Com isso, os grá�cospossuem escalas diferentes. Para evitar que atrasos na inicialização dos inquilinos viessem a interferirnos resultados, as medidas iniciais obtidas (120 segundos) foram descartadas, considerando os valoresposteriores, o que torna os experimentos mais próximos de um ambiente real.

Foram realizados três experimentos variando a taxa de transações ao longo de um intervalo detempo. No primeiro experimento, as taxas do YCSB e do Wikipedia foram �xadas em 60, e a taxado TPC-C foi alterada de acordo a seguinte sequência (50, 100, 150, 200, 250), a cada 300 segundos.As Figuras 1 e 2 apresentam a variação do tempo de resposta médio para o experimento.

A Figura 1 mostra o resultado da avaliação com MySQL. Com o aumento da taxa de transações,o tempo de resposta do TPC-C aumenta, já que a taxa deste banco está aumentando, mas existepouca interferência entre os inquilinos (bancos de dados). Com o aumento da taxa no instante detempo 685 segundos, ocorre pouca interferência com o Wikipedia e um aumento maior no tempo deresposta do YCSB, ocasionado pela interferência da taxa do TPC-C. Esse resultado mostra que oMySQL apresenta um bom nível de isolamento entre os inquilinos.

A Figura 2 mostra o resultado com o PostgreSQL. De forma similar ao MySQL, o tempo de respostado TPC-C aumenta de acordo com a taxa, mas apresenta maior variabilidade. Com o aumento dataxa no instante de tempo 685 segundos, ocorre pouca interferência com o Wikipedia e um aumentomuito grande no tempo de resposta do YCSB, ou seja, muita interferência provocada pelo TPC-C. OPostgreSQL apresenta pouco isolamento entre os inquilinos, prejudicando o desempenho. Além disso,apresenta alta variabilidade no tempo de resposta para cada inquilino.

No segundo experimento, as taxas do TPC-C e YCSB foram �xadas em 60 e, desta vez, a taxa do

Simpósio Brasileiro de Bancos de Dados - SBBD 2012Short Papers

164

Page 5: Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados, Desempenho, Multi-inquilino 1. INTRODUÇÃO Computação em nuvem é uma tendência recente

0

50.000

100.000

150.000

200.000

250.000

300.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

TPCC

TPCC

Tempo (s)

Média de Respostas

0

10.000

20.000

30.000

40.000

50.000

60.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

YCSB

YCSB

Tempo (s)

Média de Respostas

0

1.000

2.000

3.000

4.000

5.000

6.000

7.000

8.000

12

5

20

0

27

5

35

0

42

5

50

0

57

5

65

0

72

5

80

0

87

5

95

0

10

25

11

00

11

75

12

50

13

25

14

00

14

75

WIKIPEDIA

WIKIPEDIA

Tempo (s)

Média de RespostasMédia Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)

Fig. 1. Tempo médio de resposta para o MySQL com aumento na taxa de transações do TPC-C

0

100.000

200.000

300.000

400.000

500.000

600.000

700.000

800.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

TPCC

TPCC

Tempo (s)

Média de Respostas

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

YCSB

YCSB

Tempo (s)

Média de Respostas

0

2.000

4.000

6.000

8.000

10.000

12.000

14.000

12

5

20

5

28

5

36

5

44

5

52

5

60

5

68

5

76

5

84

5

92

5

10

05

10

85

11

65

12

45

13

25

14

05

14

85

WIKIPEDIA

WIKIPEDIA

Tempo (s)

Média de RespostasMédia Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)Média Tempo de

Resposta (ms)

Fig. 2. Tempo médio de resposta para o PostgreSQL com aumento na taxa de transações do TPC-C

Wikipedia foi alterada de acordo a seguinte sequência (50, 100, 150, 200, 250), a cada 300 segundos.As Figuras 3 e 4 apresentam a variação do tempo de resposta médio para este experimento.

A Figura 3 mostra o resultado da avaliação com MySQL variando o Wikipedia. Com o aumento dataxa de transações, o tempo de resposta do Wikipedia não aumenta, ocorrendo pouca interferênciacom o TPCC e YCSB. O resultado com o PostgreSQL é apresentado na Figura 4. O Wikipedia nãosofre alteração no tempo de resposta com o aumento da carga, mas ocorrem muitas interferências como TPC-C e o YCSB.

0

10.000

20.000

30.000

40.000

50.000

60.000

70.000

80.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

TPCC

TPCC

Tempo (s)

Média de Respostas

0

2.000

4.000

6.000

8.000

10.000

12.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

YCSB

YCSB

Tempo (s)

Média de Respostas

0

1.000

2.000

3.000

4.000

5.000

6.000

12

5

20

0

27

5

35

0

42

5

50

0

57

5

65

0

72

5

80

0

87

5

95

0

10

25

11

00

11

75

12

50

13

25

14

00

14

75

WIKIPEDIA

WIKIPEDIA

Tempo (s)

Média de Respostas

Média Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)

Fig. 3. Tempo médio de resposta para o MySQL com aumento na taxa de transações do Wikipedia

O terceiro experimento avalia o desempenho com o aumento/diminuição da carga de trabalho (i.e.,elasticidade). A taxa dos três bancos de dados foi alterada, a cada 300 segundos, de acordo com aTabela 2.

A Figura 5 apresenta o resultado deste experimento para o MySQL. É possível observar que otempo de reposta de cada banco de dados segue a taxa de transações, com pouca interferência. Já oresultado do PostgreSQL, na Figura 6, apresenta maior interferência e variabilidade de desempenho.

De forma geral, em todos os experimentos realizados, pode-se perceber que o crescimento na taxa detransações do TPC-C ocasiona aumento no tempo de resposta do próprio banco de dados e interferênciano desempenho do YCSB, principalmente com o PostgreSQL. Por outro lado, o Wikipedia recebeupouca interferência do TPC-C. Isso mostra que existem inquilinos que podem ser alocados para ummesmo SGBD e �convivem� quase perfeitamente. Em todos os resultados, o PostgreSQL apresentoutempo de resposta muito superior ao MySQL, provavelmente devido à di�culdade de gerenciar multi-inquilinos.

Simpósio Brasileiro de Bancos de Dados - SBBD 2012Short Papers

165

Page 6: Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados, Desempenho, Multi-inquilino 1. INTRODUÇÃO Computação em nuvem é uma tendência recente

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

TPCC

TPCC

Tempo (s)

Média de Respostas

0

20.000

40.000

60.000

80.000

100.000

120.000

140.000

160.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

YCSB

YCSB

Tempo (s)

Média de Respostas

0

1.000

2.000

3.000

4.000

5.000

12

5

20

0

27

5

35

0

42

5

50

0

57

5

65

0

72

5

80

0

87

5

95

0

10

25

11

00

11

75

12

50

13

25

14

00

14

75

WIKIPEDIA

WIKIPEDIA

Tempo (s)

Média de Respostas

Média Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)

Fig. 4. Tempo médio de resposta para o PostgreSQL com aumento na taxa de transações do Wikipedia

Taxa

Tempo (seg) TPC-C Wikipedia YCSB

300 150 50 50

600 100 250 150

900 50 200 250

1200 250 100 200

1500 200 150 100

Table II. Taxa de transações durante o experimento.

0

50.000

100.000

150.000

200.000

250.000

300.000

350.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

TPCC

TPCC

Tempo (s)

Média de Respostas

0

10.000

20.000

30.000

40.000

50.000

60.000

70.000

80.000

90.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

YCSB

YCSB

Tempo (s)

Média de Respostas

0

2.000

4.000

6.000

8.000

10.000

12.000

14.000

12

5

20

5

28

5

36

5

44

5

52

5

60

5

68

5

76

5

84

5

92

5

10

05

10

85

11

65

12

45

13

25

14

05

14

85

WIKIPEDIA

WIKIPEDIA

Tempo (s)

Média de RespostasMédia Tempo de

Resposta (ms)Média Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)

Fig. 5. Tempo médio de resposta para o MySQL com aumento/diminuição dos três bancos de dados

4.1 Lições Aprendidas: Dicas para reduzir a interferência em SGBDs multi-inquilino

A principal lição aprendida neste trabalho é que executar diferentes cargas de trabalho em um SGBDmulti-inquilino ocasiona interferência entre inquilinos. Atualmente, os SGBDs não tratam essa inter-ferência. Por outro lado, a escolha do SGBD ajuda a diminuir a interferência, conforme observadonos resultados do MySQL e do PostgreSQL.

O usuário deve alocar inquilinos com pouca interferência entre si, como por exemplo o TPC-Ce o Wikipedia. Para tanto, é necessária uma análise do per�l do inquilino para identi�car o nívelde interferência. Também é importante isolar inquilinos suscetíveis à interferência, como foi o casodo YCSB nos experimentos. Neste caso, outros modelos multi-inquilino podem ser utilizados, porexemplo, SGBD privado para este inquilino suscetível à interferência.

De acordo com os resultados, os SGBDs trabalham bem o aumento da carga de trabalho e tambémcom a elasticidade da taxa de transações, principalmente o MySQL, que apresentou variabilidade dedesempenho proporcional à taxa de transações.

5. TRABALHOS RELACIONADOS

[Elmore et al. 2011] apresentam um estudo sobre os modelos multi-inquilino, destacando o nível deisolamento de cada modelo. Além disso, apresenta uma proposta para elasticidade de banco de da-dos utilizando o modelo de SGBD compartilhado. Contudo, o trabalho não apresenta avaliação ouresultados do estudo elaborado. [Ahmad and Bowman 2011] propõem o uso de técnicas de aprendiza-gem de máquina para realizar a predição de recursos para banco de dados servindo-se do modelo de

Simpósio Brasileiro de Bancos de Dados - SBBD 2012Short Papers

166

Page 7: Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados, Desempenho, Multi-inquilino 1. INTRODUÇÃO Computação em nuvem é uma tendência recente

0

100.000

200.000

300.000

400.000

500.000

600.000

700.000

800.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

TPCC

TPCC

Tempo (s)

Média de Respostas

0

50.000

100.000

150.000

200.000

250.000

300.000

12

5

19

5

26

5

33

5

40

5

47

5

54

5

61

5

68

5

75

5

82

5

89

5

96

5

10

35

11

05

11

75

12

45

13

15

13

85

14

55

YCSB

YCSB

Tempo (s)

Média de Respostas

0

1.000

2.000

3.000

4.000

5.000

6.000

7.000

8.000

12

5

20

0

27

5

35

0

42

5

50

0

57

5

65

0

72

5

80

0

87

5

95

0

10

25

11

00

11

75

12

50

13

25

14

00

14

75

WIKIPEDIA

WIKIPEDIA

Tempo (s)

Média de Respostas

Média Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)Média Tempo de

Resposta (ms)

Média Tempo de

Resposta (ms)

Fig. 6. Tempo médio de resposta para o PostgreSQL com aumento/diminuição dos três bancos de dados

SGBD compartilhado. Os experimentos utilizam múltiplas instâncias do TPC-C/H para simular umambiente multi-inquilino, e os resultados mostram os recursos usados por cada banco de dados. Otrabalho foca a utilização de recursos, mas não trata de aspectos de desempenho.

[Xiong et al. 2011] apresentam o SmartSLA, um framework para o gerenciamento de recursos paraSGBDs em nuvem, e utiliza o modelo multi-inquilino de hardware compartilhado, onde cada SGBDé executado em uma VM isolada. O SmartSLA considera diversos aspectos, tais como: SLA, cargade trabalho, custo de infraestrutura, e utiliza um modelo de predição baseado em aprendizagem demáquina para garantir o SLA. Entretanto, o modelo apresentado no trabalho não pode ser usado emprovedores públicos, como o da Amazon [EC2 2012], pois supõem o acesso aos recursos físicos dainfraestrutura. Em [Lang et al. 2012] é proposto um framework para a otimização de custos e recursosde acordo com restrições de um SLA. O framework usa um modelo analítico para veri�car a utilizaçãodos recursos e a violação do SLA. Em relação à avaliação, ele se serve do modelo multi-inquilino deSGBD compartilhado, e múltiplas instâncias do TPC-C/H para simular o ambiente multi-inquilino,similar a [Ahmad and Bowman 2011].

[Hatem A. Mahmoud and El-Abbadi 2012] apresentam uma estratégia para minimizar os recursosnecessários, satisfazendo um SLA em uma arquitetura OLAP. Para tanto, usa um conjunto de algo-ritmos e heurísticas com o objetivo de melhorar a alocação dos recursos e distribuição da carga detrabalho. Este trabalho utiliza o modelo de SGBD compartilhado e foca o uso dos recursos. Contudo,por considerar uma arquitetura OLAP, não trata da garantia de desempenho QoS em tempo de exe-cução. [Barker et al. 2012] apresentam uma solução para migração de banco de dados multi-inquilino,servindo-se do modelo de compartilhamento de sistema operacional, com um banco de dados porSGBD. O trabalho visa ainda minimizar o impacto de desempenho durante o processo de migração,mas não aborda aspectos de desempenho.

Os trabalhos [Ahmad and Bowman 2011] [Hatem A. Mahmoud and El-Abbadi 2012] são orientados arecursos, ao passo que a análise realizada em nosso estudo foca o desempenho. Diferente dos trabalhosrelacionados, este utiliza vários bancos de dados, tais como TPC-C, YCSB e Wikipedia para fornecerum ambiente multi-inquilino completo. Além disso, nosso estudo utiliza diferentes SGBDs e analisa ainterferência de cada sistema considerando variadas cargas de trabalho.

6. CONCLUSÃO

O trabalho apresentou uma análise de um conjunto de experimentos para medir a variação do desem-penho de SGBDs multi-inquilino em nuvem. Para isso, foram apresentados alguns modelos multi-inquilino para SGBDs, destacando suas principais características. Foram analisados aspectos dedesempenho de bancos de dados multi-inquilino, servindo-se do framework OLTPBenchmark, quepermite construir um ambiente multi-inquilino completo. De acordo com os resultados, foi possívelobservar que variadas cargas de trabalho em um SGBD multi-inquilino ocasionam interferência en-tre os inquilinos. Com isso, a escolha do SGBD ajuda a diminuir as interferências, pois os SGBDsanalisados não tratam completamente deste aspecto. Além disso, para diminuir tais interferências, énecessário identi�car o nível de interação entre os inquilinos e, consequentemente, melhorar a alocação

Simpósio Brasileiro de Bancos de Dados - SBBD 2012Short Papers

167

Page 8: Analisando o Desempenho de Banco de Dados Multi-Inquilino ......Keywords: Banco de Dados, Desempenho, Multi-inquilino 1. INTRODUÇÃO Computação em nuvem é uma tendência recente

dos inquilinos de acordo com suas interferências.

Em trabalhos futuros, pretende-se realizar experimentos com outros modelos multi-inquilinos nãocontemplados no estudo, assim como veri�car o nível de interferências em outros SGBDs e os recursosutilizados por cada inquilino. Outro aspecto importante é desenvolver técnicas para migrar inquili-nos com muita interferência entre si, melhorando o desempenho do sistema. Pretende-se tambémrealizar um estudo para elaborar estratégia de alocação para inquilinos em SGBDs, visando diminuiras interferências.

Agradecimentos

Os autores agradecem a Carlo Curino e a equipe do OLTPBenchmark pela colaboração no desenvolvi-mento deste trabalho.

REFERENCES

Agrawal, D.,Das, S., and Abbadi, A. E. Big data and cloud computing: New wine or just new bottles? PVLDB 3 (2):1647�1648, 2010.

Ahmad, M. and Bowman, I. T. Predicting system performance for multi-tenant database workloads. In Proceedingsof the Fourth International Workshop on Testing Database Systems. DBTest '11. ACM, New York, NY, USA, pp.6:1�6:6, 2011.

Barker, S., Chi, Y., Moon, H. J., Hacigümü³, H., and Shenoy, P. "cut me some slack": latency-aware livemigration for databases. In Proceedings of the 15th International Conference on Extending Database Technology.EDBT '12. ACM, New York, NY, USA, pp. 432�443, 2012.

Chaudhuri, S. What next?: a half-dozen data management research goals for big data and the cloud. In Proceedingsof the 31st symposium on Principles of Database Systems. PODS '12. ACM, New York, NY, USA, pp. 1�4, 2012.

EC2, A. Amazon Elastic Compute Cloud (Amazon EC2), 2012. http://aws.amazon.com/en/ec2/.

Elmore, A., Das, S., Agrawal, D., and Abbadi, A. E. Towards an elastic and autonomic multitenant database.In NetDB 2011 - 6th International Workshop on Networking Meets Databases Co-located with SIGMOD 2011, 2011.

Elmore, A. J., Das, S., Agrawal, D., and El Abbadi, A. Zephyr: live migration in shared nothing databases forelastic cloud platforms. In Proceedings of the 2011 ACM SIGMOD International Conference on Management ofdata. SIGMOD '11. ACM, New York, NY, USA, pp. 301�312, 2011.

Hatem A. Mahmoud, Hyun Jin Moon, Y. C. H. H. D. A. and El-Abbadi, A. Towards multitenancy for io-boundolap workloads. Tech. Rep. UCSB-2012-02, CS Department, University of California, Santa Barbara. May, 2012.

Lang, W., Shankar, S., Patel, J. M., and Kalhan, A. Towards multi-tenant performance slos. Data Engineering,International Conference on vol. 0, pp. 702�713, 2012.

OLTPBenchmark. OLTPBenchmark, 2012. http://www.oltpbenchmark.com.

OpenNebula. OpenNebula, 2012. http://opennebula.org/.

Salesforce. Salesforce.com, 2012. http://www.salesforce.com/.

Schad, J., Dittrich, J., and Quiané-Ruiz, J.-A. Runtime measurements in the cloud: observing, analyzing, andreducing variance. Proc. VLDB Endow. 3 (1-2): 460�471, Sept., 2010.

Soror, A. A., Minhas, U. F., Aboulnaga, A., Salem, K., Kokosielis, P., and Kamath, S. Automatic virtualmachine con�guration for database workloads. ACM Trans. Database Syst. 35 (1): 7:1�7:47, Feb., 2008.

Sousa, F. R. C., Moreira, L. O., Macêdo, J. A. F., and Machado, J. C. Gerenciamento de dados em nuvem:Conceitos, sistemas e desa�os. In SWIB 2010, 1. ed. SBC, pp. 101�130, 2010.

Sousa, F. R. C., Moreira, L. O., Santos, G. A. C., and Machado, J. C. Quality of service for database in thecloud. In CLOSER, F. Leymann, I. Ivanov, M. van Sinderen, and T. Shan (Eds.). SciTePress, pp. 595�601, 2012.

Weissman, C. D. and Bobrowski, S. The design of the force.com multitenant internet application developmentplatform. In Proceedings of the 2009 ACM SIGMOD International Conference on Management of data. SIGMOD'09. ACM, New York, NY, USA, pp. 889�896, 2009.

Xiong, P., Chi, Y., Zhu, S., Moon, H. J., Pu, C., and Hacigumus, H. Intelligent management of virtualizedresources for database systems in cloud environment. In Proceedings of the 2011 IEEE 27th International Conferenceon Data Engineering. ICDE '11. IEEE Computer Society, Washington, DC, USA, pp. 87�98, 2011.

Simpósio Brasileiro de Bancos de Dados - SBBD 2012Short Papers

168