SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
TPC-H BENCHMARKING NO MYSQL
Abel S. Camati Zacarias João Holden Dulo Bioco
University of Coimbra University of Coimbra
DEI – CISUC DEI
Coimbra, Portugal Coimbra, Portugal
uc2013102030@student.dei.uc.pt uc2012127148@student.dei.uc.pt
RESUMO
Devido a padronização existente nos motores de base de dados, a diferença entre os
produtos dos vários fornecedores passa a ser o nível de desempenho proporcionado.
(Lorena, 2007). O presente trabalho faz um estudo sobre a performance do
Mysql; Para tal, utilizou-se o TPC-H, um benchmark de apoio a decisão que é
fornecido gratuitamente pela TPC (Transaction Processing Performance Council),
O TPC é uma organização sem fins lucrativos, tendo como objetivo principal
estabelecer critérios para se obter informações a respeito da performance de
processamento de transações e de base de dados através de benchmarks. O TPC-H é
um dos testes padronizados para obter resultados de performance, e posteriormente
são divulgados os dados reais dessa performance. Os testes permitem que
organizações escolham motores em função do resultado da performance.
No TPC-H, o benchmark é definido como a execução de um teste de carregamento
seguido por um teste de desempenho. Os testes de desempenho começaram desde a
criação das tabelas, carregamento de dados (foram carregados 6 GB de dados) até a
criação de índices e chaves, ou seja todas as actividades necessárias para levar o
sistema a ser testado. O teste de desempenho consistiu na execução de dez consultas
add hoc todas com a anotação dos tempos de duração, e posteriormente fez-se um
conjunto de tabelas e gráficos espelhando os resultados (tempos) tanto da fase de
carregamento como na execução das consultas.
	
  
Key words- TPC-H, Brenchmark, MySql, Base de Dados, performance e query.
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
  1	
  
1- INTRODUÇÃO
	
  
Avaliação de desempenho consiste em avaliar um sistema (computacional ou não),
buscar uma métrica que indique quantidade ou qualidade, por exemplo, de um
serviço prestado ou ainda determinar a eficiência com a qual um sistema atinge seus
objetivos, determinar a eficiência com a qual um sistema atinge as necessidades e
expectativas de seus utilizadores e de seus desenvolvedores, para uma dada
aplicação.(http://disciplinas.stoa.usp.br/pluginfile.php/37733/mod_resource/content/
1/aula1introducao.pdf)
Neste artigo (ponto 2) fez-se uma descrição geral sobre o funcionamento do TPC -H
Benchmark, focalizando todos os aspectos tidos em conta nos testes de
performance; Uma abordagem sobre Benchmarking de apoio a decisão foi feita no
ponto seguinte (3) mostrando a importância de Benchmarks tanto para clientes
como vendedores de motores de base de dados; No ponto 4 são apresentadas todas a
características da máquina utilizada no teste de performance, são apresentados os
resultados dos tempos de carregamento, tempos de criação dos índices e tempo de
cada query; No ponto 5 tirou-se as conclusões mais genéricas sobre aquilo que foi
analisado no artigo.
  2	
  
2- TPC-H BENCHMARK
O TPC-H Benchmark, simula um sistema de apoio a decisão ou um banco de dados
em ambientes Business Inteligence. O desempenho de um sistema com estas
características é medido quando o sistema é encarregado de fornecer respostas sobre
um conjunto de dados.
Os componentes da base de dados do TPC-H é constituído por um conjunto de oito
tabelas, em que cada uma possui um conjunto de linhas diferente de cada tabela e
bem como o espaço ocupado difere de cada tabela.
A seguir apresentamos uma figura retirada do site do TPC-H, ilustrando a forma
como as tabelas estão organizadas e relacionadas.
O TPC Benchmark ( TPC- H) é um Benchmark de apoio à decisão . Consiste num
conjunto de consultas ad-hoc orientados ao negócios. As consultas e os dados que
constituem o banco de dados têm sido escolhido por terem grande relevância em
toda a indústria , mantendo um grau suficiente de facilidade de implementação.
Este Benchmark é um sistema de apoio à decisão que examine grandes volumes de
dados ; Executa consultas com um elevado grau de complexidade ; Dá respostas a
questões críticas de negócios. TPC- H avalia o desempenho de vários sistemas de
apoio à decisão pela execução de conjuntos de consultas em um banco de dados
padrão, sob condições controladas. As consultas do TPC-H dão resposta as questões
de negócios do mundo real.
As operações de TPC - H são modelados da seguinte maneira : O banco de dados é
continuamente disponível 24 horas por dia, 7 dias por semana, para consultas ad-
hoc e modificações de dados de vários utilizadores finais em todas as tabelas , com
exceções de manutenção que podem ocorrer uma vez por mês; Devido à natureza de
todo o conjunto dos dados do negócio armazenados no banco de dados do TPC- H,
as consultas e as funções de atualização podem ser executadas no banco de dados a
qualquer momento. Além disso, esta mistura de consultas e funções de atualização
está sujeita a requisitos específicos ACID, desde consultas e atualizações
executadas concorrentemente;
A base de dados mínima necessária para rodar o Benchmark contém dados de
negócios de 10 mil fornecedores. Ela contém cerca de dez milhões de linhas que
representam uma capacidade de armazenamento bruto de cerca de 1 gigabyte. Em
conformidade, a implementação também pode ser feita com maior quantidade de
dados, (por exemplo, 100 gigabytes).
  3	
  
O Benchmark TPC-H baseia-se em um modelo de dados relativamente simples,
como mostra a figura a baixo. Trata-se de um problema genérico envolvendo
clientes, fornecedores e compras de itens subdividido em componentes.
	
  
Figura- Esquema TPC-H. Fonte (http://www.tpc.org/tpch/- página oficial)
De acordo com o esquema acima apresentado pode dizer-se que o número que
aparece logo abaixo do nome da tabela representa a sua cardinalidade. Esta pode ser
fixa (tabelas region e nation), ou variável, onde multiplica-se uma constante por um
scale factor determinado no momento da criação da base de dados. Por exemplo,
caso SF valha 3, haverá 450.000 linhas na tabela de clientes (customer).
TPC Benchmark™ H Standard Specification Revision 2.8.0 Page 12
2.2 Database Entities, Relationships, and Characteristics
The components of the TPC-H database are defined to consist of eight separate and individual tables (the Base
Tables). The relationships between columns of these tables are illustrated in Figure 2: The TPC-H Schema.
Figure 2: The TPC-H Schema
Legend:
• The parentheses following each table name contain the prefix of the column names for that table;
• The arrows point in the direction of the one-to-many relationships between tables;
• The number/formula below each table name represents the cardinality (number of rows) of the table. Some are
factored by SF, the Scale Factor, to obtain the chosen database size. The cardinality for the LINEITEM table is
approximate (see Clause 5.2.5).
PARTKEY
NAME
MFGR
BRAND
TYPE
SIZE
CONTAINER
COMMENT
RETAILPRICE
PARTKEY
SUPPKEY
AVAILQTY
SUPPLYCOST
COMMENT
SUPPKEY
NAME
ADDRESS
NATIONKEY
PHONE
ACCTBAL
COMMENT
ORDERKEY
PARTKEY
SUPPKEY
LINENUMBER
RETURNFLAG
LINESTATUS
SHIPDATE
COMMITDATE
RECEIPTDATE
SHIPINSTRUCT
SHIPMODE
COMMENT
CUSTKEY
ORDERSTATUS
TOTALPRICE
ORDERDATE
ORDER-
PRIORITY
SHIP-
PRIORITY
CLERK
COMMENT
CUSTKEY
NAME
ADDRESS
PHONE
ACCTBAL
MKTSEGMENT
COMMENT
PART (P_)
SF*200,000
PARTSUPP (PS_)
SF*800,000
LINEITEM (L_)
SF*6,000,000
ORDERS (O_)
SF*1,500,000
CUSTOMER (C_)
SF*150,000
SUPPLIER (S_)
SF*10,000
ORDERKEY
NATIONKEY
EXTENDEDPRICE
DISCOUNT
TAX
QUANTITY
NATIONKEY
NAME
REGIONKEY
NATION (N_)
25
COMMENT
REGIONKEY
NAME
COMMENT
REGION (R_)
5
  4	
  
Estão representadas cinco regiões (continentes), que congregam vinte e cinco
nações (tabelas region e nation, respectivamente). Clientes e Fornecedores (tabelas
supplier e customer) estão associados às nações. Enquanto os primeiros realizam
pedidos de compras (tabela orders), os segundos fornecem componentes (tabela
part) de itens de compra. Como um fornecedor pode oferecer vários itens e um item
pode ser disponibilizado por vários fornecedores, existe uma tabela para registar
esta relação NxN (partsupp). Finalmente, a tabela mais volumosa do modelo
(lineitem) associa itens de compra a pedidos.
Os parênteses ao lado dos nomes das tabelas indicam o prefixo utilizado para
denominar os campos da tabela em questão. Desta forma, a chave primária da tabela
de fornecedores chama-se S_SUPPKEY;
As flechas indicam as associações entre chaves primárias e estrangeiras. Assim,
verifica-se que a chave primária da tabela nation está vinculada ao campo nationkey
na tabela de fornecedores (tabela supplier).
Apresenta-se abaixo a descrição de cada consulta TPC-H escolhida. As consultas
escolhidas foram de 1 a 10.
Consulta 1
Totais consolidados para transações financeiras ocorridas num determinado período
de tempo;
Consulta 2
Seleciona qual fornecedor deve ser escolhido para fazer um pedido de um
determinado componente em uma determinada região;
Consulta 3
Esta consulta retorna os 10 pedidos não enviado com o valor mais alto;
Consulta 4
Verifica a eficácia do sistema de controlo de prioridades de pedidos e analisa os
níveis de satisfação dos clientes;
Consulta 5
Lista o volume de receitas feita através de fornecedores locais;
Consulta 6
Quantifica o volume de receitas que teriam resultado da eliminação certos descontos
em toda a empresa num determinado intervalo percentual num determinado ano.
  5	
  
Consulta 7
Determina o valor de mercadorias embarcadas entre certos países para ajudar na
renegociação de contratos de transporte.
Consulta 8
Esta consulta determina como a quota de mercado de um determinado país dentro
de uma região tem mudado ao longo de dois anos para um tipo de peça.
Consulta 9
Esta consulta determina o lucro feito sobre uma determinada linha de peças,
divididas por país fornecedor e ano.
Consulta 10
Identifica clientes que podem ter tido problemas com entregas.
3- BENCHMARKING DE APOIO A DECISÃO.
Benchmarkings de apoio a decisão são de grande importância tanto para as
empresas que utilizam os motores de bases de dados como os fornecedores.
Permitem por exemplo ao cliente saber que motor deve adquirir, ou seja que motor
será necessário implementar na sua empresa. Por outra, um potencial cliente pode ir
ao site do TPC -H e verificar a performance e preço para saber qual motor adquirir.
Os fornecedores com base nos testes de performance publicados no TPC -H podem
por exemplo melhorar a performance dos seus motores de base de dados.
	
  
4-­‐	
  SETUP	
  EXPERIMENTAL	
  
Os testes de desempenho foram executados em um portátil MacBookPro, com um
processador de Intel Core i5 com uma frequência de 2.4 GHz, 8GB de memória
RAM DDR3 com uma frequência de 1600 MHz, com 3 MB de cache L3 partilhada
e uma memória flash de 256GB.
Para a realização do presente teste utilizamos a versão 5.5.33 do MySql, instalada
sobre o Sistema Operativo OS X versão 10.9.1, e as consultas foram feitas na
aplicação Cliente phpMyAdmim rodando localmente, e a versão 2.16.0 do TPC-H.
Apresentamos a seguir as tabelas com os resultados obtidos no ato do carregamento
da Base de Dados.
  6	
  
5- RESULTADO
5.1- CRIAÇÃO DAS TABELAS
Tal como foi anteriormente dito, o objectivo é fazer o teste com a Base de Dados
disponibilizada no site do TPC-H.
A seguir apresenta-se o tempo que levou a criação das tabelas na base de dados,
bem como uma ilustração gráfica dos resultados obtidos.
Nº O TABELA LINHAS TEMPO DE CARREGAMENTO
1 CUSTOMER ~901,212 0,0140 Seg.
2 LINEITEM ~35,929,531 0,0145 Seg.
3 NATION 0,0293 Seg.
4 ORDERS ~9,100,406 0,0159 Seg.
5 PART ~1,199,875 0,0152/0.0350 Seg.
6 PARTSUPP ~4,834,174 0,0147 Seg.
7 REGION 0,0221 Seg.
8 SUPPLIER ~59,856 0,0295 Seg.
TOTAL 8 Tabelas 52,025,083 Linhas
Tabela1-­‐	
  Tempo	
  obtido	
  na	
  criação	
  das	
  tabelas	
  
Grafico1- Criação das Tabelas na Base de Dados.
5.2- CARREGAMENTO DA INFORMAÇÃO NAS TABELAS
A tabela que se segue, ilustra o número de linhas bem como o espaço ocupado em
disco de cada uma das tabelas da Base de Dados.
Nº	
  O	
   TABELA	
   LINHAS	
   TEMPO	
  DE	
  CARREG.	
   ESPAÇO	
  OCUPADO	
  
1	
   CUSTOMER	
   900.000	
   7,2178	
  Sec	
   311.6MB	
  
0,014	
  
0,0145	
  
0,0293	
  
0,0159	
  
0,0152	
  
0,0147	
  
0,0221	
  
0,0295	
  
TEMP/	
  SEGUNDO	
  
CUSTOMER	
  
LINEITEM	
  
NATION	
  
ORDERS	
  
PART	
  
PARTSUPP	
  
REGION	
  
SUPPLIER	
  
  7	
  
2	
   LINEITEM	
   360.00.147	
   309,8828	
  Sec	
   7.7GB	
  
3	
   NATION	
   25	
   0,002	
  Sec	
   64	
  KB	
  
4	
   ORDERS	
   9000.000	
   62,8393	
  Sec	
   1.5GB	
  
5	
   PART	
   1.200.000	
   8,5028	
  Sec	
   265.6MB	
  
6	
   PARTSUPP	
   4.800.000	
   43,5401	
  Sec	
   1GB	
  
7	
   REGION	
   5	
   0,0090	
  Sec	
   32KB	
  
8	
   SUPPLIER	
   60.000	
   0,4197	
  Sec	
   13.5MB	
  
TOTAL	
   8	
  Tabelas	
   51.960.177	
  Linhas	
   	
   10.8GB	
  
Tabela2-­‐	
  Resultados	
  do	
  carregamento	
  das	
  tabelas	
  
	
  
	
  
Gráfico2-­‐	
  Tempo	
  de	
  carregamento	
  dos	
  dados	
  nas	
  tabelas	
  por	
  segundos.	
  
	
  
O gráfico acima, apresenta o tempo de carregamento de cada uma das 8 tabelas
existente na Base de Dados. E pelos resultados pode-se verificar que a tabela
LINEITEM é a que mais tempo de execução levou, cerca de 71,66% em relação as
outras. Este tempo de execução que a mesma levou, deve-se principalmente a
quantidade de linhas (360.00.147linhas) que a mesma possui bem como a
quantidade de informação nela contida (7.7GB). A tabela que menos tempo de
execução levou foi a tabela NATION, cerca de 0,00046%.
5.3- CARREGAMENTO DAS CHAVES PRIMÁRIAS E ESTRANGEIRAS.
Criou-se de seguida as chaves primárias e secundarias nas tabelas da Base de
Dados, com o objectivo de garantir a integridade dos dados.
7,2178	
  
309,8828	
  
0,002	
  
62,8393	
  
8,5028	
  
43,5401	
  
0,009	
  
0,4197	
  
TEMPO	
  DE	
  EXECUÇÃO/	
  SEC	
  
CUSTOMER	
  
LINEITEM	
  
NATION	
  
ORDERS	
  
PART	
  
PARTSUPP	
  
REGION	
  
SUPPLIER	
  
  8	
  
5.3.1- CHAVES PRIMÁRIAS
A tabela abaixo e o respectivo gráfico, mostram os tempos (em segundos),
de carregamento das chaves primárias.
Nº O TABELAS Temp. Carreg. Primary Key/ Seg
1 CUSTOMER 8,1814
3 LINEITEM 677,1544
4 NATION 0,0209
4 ORDERS 79,5134
5 PART 10,4987
6 PARTSUPP 46,2618
7 REGION 0,0375
8 SUPPLIER 0,5324
Tabela3- Carregamento das chaves Primária
Gráfico3- Carregamento das chaves Primarias.
5.3.2- CHAVES ESTRANGEIRAS
Pode-se verificar, na tabela e gráfico abaixo os resultados obtidos na criação
das chaves estrangeiras.
8,1814	
  
677,1544	
  
0,0209	
  
79,5134	
  
10,4987	
  
46,2618	
  
0,0375	
   0,5324	
  
Tempo	
  de	
  Carreg.	
  
CUSTOMER	
  
LINEITEM	
  
NATION	
  
ORDERS	
  
PART	
  
PARTSUPP	
  
REGION	
  
SUPPLIER	
  
Nº O TABELAS Temp. Carreg. Foreign Key/ Seg
1 CUSTOMER 9,4518
2 LINEITEM 9291,1391
3 NATION 0,0582
  9	
  
Tabela4- Carregamento das Chaves Estrangeiras.
	
  
	
  
Gráfico4-­‐	
  Carregamento	
  das	
  Chaves	
  Estrangeiras.	
  
5.4- TEMPO DE CRIAÇÃO DOS ÍNDECES
Os índices foram criados com base nos campos utilizados nos critérios de busca.
TABELA	
   ÍNDECE	
   TEMPO/SEC	
  
CUSTOMER	
   INDEX_CUSTOMER	
   2,972	
  
LINEITEM	
   INDEX_LINEITEM	
   288,8038	
  
NATION	
   INDEX_NATION	
   0,0452	
  
ORDERS	
   INDEX_ORDERS	
   35,9125	
  
PART	
   INDEX_PART	
   5,5986	
  
PARTSUPP	
   INDEX_PARTSUPP	
   16,0626	
  
REGION	
   INDEX_REGION	
   0,0662	
  
SUPPLIER	
   INDEX_SUPPLIER	
   0,1889	
  
	
   Tabela5- Tempo da criação dos índices por tabelas
9,4518	
  
9291,1391	
  
0,0582	
  
1660,2618	
  
115,5943	
  
0,7479	
  
Temp.	
  Carreg.	
  Foreign	
  Key	
  
CUSTOMER	
  
LINEITEM	
  
NATION	
  
ORDERS	
  
PARTSUPP	
  
SUPPLIER	
  
4 ORDERS 1660,2618
5 PARTSUPP 115,5943
6 SUPPLIER 0,7479
  10	
  
Gráfico5- Criação de índices
5.5-­‐	
  PESQUISA	
  
Na próxima tabela e gráfico, mostra-se os resultados de cada uma das queries
efetuadas na Base de Dados. Apresentamos na mesma tabela e gráfico o tempo que
levou para a execução de cada query. O tempo apresentado está expresso em
segundos.	
  
Query	
   Rows	
   Tempo	
  de	
  Execução/Seg	
  
Q1	
   4	
   104,2518	
  
Q	
  2	
   2.809	
   84,1047	
  
Q	
  3	
   68.496	
   466,2878	
  
4	
   5	
   44,6434	
  
5	
   5	
   299,5164	
  
6	
   1	
   20,0214	
  
7	
   4	
   248,6847	
  
8	
   2	
   523,8567	
  
9	
   175	
   1.840,9723	
  
10	
   228.580	
   738,6247	
  
Total 300.081 4.370,9639
Tabela6-­‐	
  Tempo	
  do	
  carregamento	
  das	
  chaves	
  primárias.	
  
	
  
2,972	
  
288,8038	
  
0,0452	
  
35,9125	
  
5,5986	
  
16,0626	
  
0,0662	
  
0,1889	
  
TEMPO/SEC	
  
INDEX_CUSTOMER	
  
INDEX_LINEITEM	
  
INDEX_NATION	
  
INDEX_ORDERS	
  
INDEX_PART	
  
INDEX_PARTSUPP	
  
INDEX_REGION	
  
INDEX_SUPPLIER	
  
  11	
  
	
  
Gráfico6-­‐	
  Carregamento	
  das	
  chaves	
  primárias.	
  
	
  
Pode-se também verificar o tempo de execução de cada uma das 10 queries
escolhidas na Base de Dados de teste. Constatou-se que a query número 9 é a que
mais tempo levou para a execução (1.840,9723segundos) cerca de 42% em relação
as demais consultas. Isto deve-se ao facto de a consulta número 9 englobar 7 das 8
tabelas (part, supplier, lineitem, partsupp, orders, nation ) o que corresponde a
87,5% das tabelas e isso torna a consulta muito lenta.
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
104,2518	
  
84,1047	
  
466,2878	
  
44,6434	
  
299,5164	
  
20,0214	
  
248,6847	
  
523,8567	
  
1840,9723	
  
738,6247	
  
Q1	
  
Q2	
  
Q3	
  
Q4	
  
Q5	
  
Q6	
  
Q7	
  
Q8	
  
Q9	
  
Q10	
  
0	
   200	
   400	
   600	
   800	
   1000	
   1200	
   1400	
   1600	
   1800	
   2000	
  
TIME	
  EXECUTION/	
  SEC	
  
  12	
  
6 –	
  CONCLUSÕES	
  
	
  
Com	
  base	
  nos	
  testes	
  feitos,	
  constatou-­‐se	
  o	
  seguinte:	
  
	
  
! Quanto	
  maior	
  for	
  o	
  volume	
  de	
  dados,	
  menor	
  é	
  desempenho	
  do	
  MySql,	
  
obrigando	
  o	
  escalonamento	
  vertical	
  ou	
  horizontal;	
  
! Servidores	
   com	
   maiores	
   capacidade	
   de	
   processamento	
   e	
  
armazenamento	
   contribuem	
   para	
   o	
   melhor	
   desempenho	
   do	
   MySql	
   no	
  
que	
  diz	
  respeito	
  ao	
  carregamento	
  de	
  dados	
  e	
  execução	
  de	
  consultas;	
  
! As	
  consultas	
  com	
  elevadas	
  junções,	
  agregações	
  de	
  tabelas	
  foram	
  as	
  mais	
  
lentas	
  no	
  que	
  diz	
  respeito	
  ao	
  tempo	
  de	
  execução;	
  
! MySql	
  pode	
  suportar	
  bases	
  de	
  dados	
  transacionais,	
  mas	
  não	
  é	
  o	
  motor	
  
adequado	
  para	
  implementar	
  uma	
  base	
  de	
  dados	
  de	
  apoio	
  a	
  decisão.	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
  13	
  
7-­‐	
  REFERÊNCIAS	
  
	
  
1- http://en.wikipedia.org/wiki/Transaction_Processing_Performance_Council
2-
http://disciplinas.stoa.usp.br/pluginfile.php/37733/mod_resource/content/1/aula1introduco.
pdf
3- http://www.tpc.org/tpch/spec/tpch2.8.0.pdf
4- http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0410827_06_postextual.pdf
5- http://wiki.locaweb.com.br/ptbr/Otimizações_nas_consultas_ao_banco_de_dados
6- http://ftp.nchu.edu.tw/MySQL/doc/refman/4.1/pt/create-index.html
7- http://www.quest.com/documents/dsd-benchmark-us-ag-20100122.pdf
	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (11)

8 Pedoman Pengumpulan Data Sekunder
8 Pedoman Pengumpulan Data Sekunder8 Pedoman Pengumpulan Data Sekunder
8 Pedoman Pengumpulan Data Sekunder
 
Therapeutic drug monitoring
Therapeutic  drug monitoringTherapeutic  drug monitoring
Therapeutic drug monitoring
 
Understanding pA2 and pD2' Values: Calculation and Significance in Pharmacology
Understanding pA2 and pD2' Values: Calculation and Significance in PharmacologyUnderstanding pA2 and pD2' Values: Calculation and Significance in Pharmacology
Understanding pA2 and pD2' Values: Calculation and Significance in Pharmacology
 
Antiepileptic drugs screening methods
Antiepileptic drugs screening methodsAntiepileptic drugs screening methods
Antiepileptic drugs screening methods
 
Bioassay of Adrenaline
Bioassay of AdrenalineBioassay of Adrenaline
Bioassay of Adrenaline
 
multiple-dosage-regimen.pdf
multiple-dosage-regimen.pdfmultiple-dosage-regimen.pdf
multiple-dosage-regimen.pdf
 
In vitro In vivo correlation
In vitro  In vivo correlationIn vitro  In vivo correlation
In vitro In vivo correlation
 
Xenograft model ppt.pptx
Xenograft model ppt.pptxXenograft model ppt.pptx
Xenograft model ppt.pptx
 
Pharmacokinetics / Biopharmaceutics - drug absorption
Pharmacokinetics / Biopharmaceutics - drug absorptionPharmacokinetics / Biopharmaceutics - drug absorption
Pharmacokinetics / Biopharmaceutics - drug absorption
 
Bioavailability And Bioequivalence
Bioavailability And BioequivalenceBioavailability And Bioequivalence
Bioavailability And Bioequivalence
 
Reading academically Quiz
Reading academically QuizReading academically Quiz
Reading academically Quiz
 

Ähnlich wie Tpc h benchmarking no mysql

Tuning Banco de Dados
Tuning Banco de DadosTuning Banco de Dados
Tuning Banco de DadosFelipeCaiuby
 
Síntese das discussões do fórum Livro-APF: Janeiro/2011
Síntese das discussões do fórum Livro-APF: Janeiro/2011Síntese das discussões do fórum Livro-APF: Janeiro/2011
Síntese das discussões do fórum Livro-APF: Janeiro/2011Fatto Consultoria e Sistemas
 
Capacity Management e o CDB no ITIL-3 por Alex Batista
Capacity Management e o CDB no ITIL-3 por Alex BatistaCapacity Management e o CDB no ITIL-3 por Alex Batista
Capacity Management e o CDB no ITIL-3 por Alex BatistaJoao Galdino Mello de Souza
 
Apresentação projeto TOPdesk imagem - Seminar 2015 Brasil
Apresentação projeto TOPdesk imagem - Seminar 2015 BrasilApresentação projeto TOPdesk imagem - Seminar 2015 Brasil
Apresentação projeto TOPdesk imagem - Seminar 2015 BrasilTOPdesk
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewRoberto Oliveira
 
Análise RAM (Reliability, Availability and Maintainability)
Análise RAM (Reliability, Availability and Maintainability)Análise RAM (Reliability, Availability and Maintainability)
Análise RAM (Reliability, Availability and Maintainability)Flávio G. Merlotte
 
000047 como fazer totvs - v 4.0.0 - entenda o rm conversor de classis para ...
000047   como fazer totvs - v 4.0.0 - entenda o rm conversor de classis para ...000047   como fazer totvs - v 4.0.0 - entenda o rm conversor de classis para ...
000047 como fazer totvs - v 4.0.0 - entenda o rm conversor de classis para ...kdimmg
 
Refactoring Databases
Refactoring DatabasesRefactoring Databases
Refactoring DatabasesIsmael
 
Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01gtiprotec
 

Ähnlich wie Tpc h benchmarking no mysql (20)

Mpu 2012 ppt
Mpu 2012 pptMpu 2012 ppt
Mpu 2012 ppt
 
Mainframe Performance Review
Mainframe Performance ReviewMainframe Performance Review
Mainframe Performance Review
 
Tuning Banco de Dados
Tuning Banco de DadosTuning Banco de Dados
Tuning Banco de Dados
 
Síntese das discussões do fórum Livro-APF: Janeiro/2011
Síntese das discussões do fórum Livro-APF: Janeiro/2011Síntese das discussões do fórum Livro-APF: Janeiro/2011
Síntese das discussões do fórum Livro-APF: Janeiro/2011
 
Capacity Management e o CDB no ITIL-3 por Alex Batista
Capacity Management e o CDB no ITIL-3 por Alex BatistaCapacity Management e o CDB no ITIL-3 por Alex Batista
Capacity Management e o CDB no ITIL-3 por Alex Batista
 
Síntese do Fórum do livro-apf Outubro
Síntese do Fórum do livro-apf  OutubroSíntese do Fórum do livro-apf  Outubro
Síntese do Fórum do livro-apf Outubro
 
Oracleplsql
OracleplsqlOracleplsql
Oracleplsql
 
Google BigQuery
Google BigQueryGoogle BigQuery
Google BigQuery
 
Apresentação projeto TOPdesk imagem - Seminar 2015 Brasil
Apresentação projeto TOPdesk imagem - Seminar 2015 BrasilApresentação projeto TOPdesk imagem - Seminar 2015 Brasil
Apresentação projeto TOPdesk imagem - Seminar 2015 Brasil
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - Qlikview
 
Workshop Datasul 11
Workshop Datasul 11Workshop Datasul 11
Workshop Datasul 11
 
Protheus V12
Protheus V12Protheus V12
Protheus V12
 
Dicas Para Avaliar Um Erp
Dicas Para Avaliar Um ErpDicas Para Avaliar Um Erp
Dicas Para Avaliar Um Erp
 
1º manual-do-sap-pm
1º manual-do-sap-pm1º manual-do-sap-pm
1º manual-do-sap-pm
 
Análise RAM (Reliability, Availability and Maintainability)
Análise RAM (Reliability, Availability and Maintainability)Análise RAM (Reliability, Availability and Maintainability)
Análise RAM (Reliability, Availability and Maintainability)
 
000047 como fazer totvs - v 4.0.0 - entenda o rm conversor de classis para ...
000047   como fazer totvs - v 4.0.0 - entenda o rm conversor de classis para ...000047   como fazer totvs - v 4.0.0 - entenda o rm conversor de classis para ...
000047 como fazer totvs - v 4.0.0 - entenda o rm conversor de classis para ...
 
Memorex itil-v3
Memorex itil-v3Memorex itil-v3
Memorex itil-v3
 
Refactoring Databases
Refactoring DatabasesRefactoring Databases
Refactoring Databases
 
Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01
 
Como alavancar uma iniciativa de EA com IT4IT
Como alavancar uma iniciativa de EA com IT4ITComo alavancar uma iniciativa de EA com IT4IT
Como alavancar uma iniciativa de EA com IT4IT
 

Tpc h benchmarking no mysql

  • 1. TPC-H BENCHMARKING NO MYSQL Abel S. Camati Zacarias João Holden Dulo Bioco University of Coimbra University of Coimbra DEI – CISUC DEI Coimbra, Portugal Coimbra, Portugal uc2013102030@student.dei.uc.pt uc2012127148@student.dei.uc.pt RESUMO Devido a padronização existente nos motores de base de dados, a diferença entre os produtos dos vários fornecedores passa a ser o nível de desempenho proporcionado. (Lorena, 2007). O presente trabalho faz um estudo sobre a performance do Mysql; Para tal, utilizou-se o TPC-H, um benchmark de apoio a decisão que é fornecido gratuitamente pela TPC (Transaction Processing Performance Council), O TPC é uma organização sem fins lucrativos, tendo como objetivo principal estabelecer critérios para se obter informações a respeito da performance de processamento de transações e de base de dados através de benchmarks. O TPC-H é um dos testes padronizados para obter resultados de performance, e posteriormente são divulgados os dados reais dessa performance. Os testes permitem que organizações escolham motores em função do resultado da performance. No TPC-H, o benchmark é definido como a execução de um teste de carregamento seguido por um teste de desempenho. Os testes de desempenho começaram desde a criação das tabelas, carregamento de dados (foram carregados 6 GB de dados) até a criação de índices e chaves, ou seja todas as actividades necessárias para levar o sistema a ser testado. O teste de desempenho consistiu na execução de dez consultas add hoc todas com a anotação dos tempos de duração, e posteriormente fez-se um conjunto de tabelas e gráficos espelhando os resultados (tempos) tanto da fase de carregamento como na execução das consultas.   Key words- TPC-H, Brenchmark, MySql, Base de Dados, performance e query.                          
  • 2.   1   1- INTRODUÇÃO   Avaliação de desempenho consiste em avaliar um sistema (computacional ou não), buscar uma métrica que indique quantidade ou qualidade, por exemplo, de um serviço prestado ou ainda determinar a eficiência com a qual um sistema atinge seus objetivos, determinar a eficiência com a qual um sistema atinge as necessidades e expectativas de seus utilizadores e de seus desenvolvedores, para uma dada aplicação.(http://disciplinas.stoa.usp.br/pluginfile.php/37733/mod_resource/content/ 1/aula1introducao.pdf) Neste artigo (ponto 2) fez-se uma descrição geral sobre o funcionamento do TPC -H Benchmark, focalizando todos os aspectos tidos em conta nos testes de performance; Uma abordagem sobre Benchmarking de apoio a decisão foi feita no ponto seguinte (3) mostrando a importância de Benchmarks tanto para clientes como vendedores de motores de base de dados; No ponto 4 são apresentadas todas a características da máquina utilizada no teste de performance, são apresentados os resultados dos tempos de carregamento, tempos de criação dos índices e tempo de cada query; No ponto 5 tirou-se as conclusões mais genéricas sobre aquilo que foi analisado no artigo.
  • 3.   2   2- TPC-H BENCHMARK O TPC-H Benchmark, simula um sistema de apoio a decisão ou um banco de dados em ambientes Business Inteligence. O desempenho de um sistema com estas características é medido quando o sistema é encarregado de fornecer respostas sobre um conjunto de dados. Os componentes da base de dados do TPC-H é constituído por um conjunto de oito tabelas, em que cada uma possui um conjunto de linhas diferente de cada tabela e bem como o espaço ocupado difere de cada tabela. A seguir apresentamos uma figura retirada do site do TPC-H, ilustrando a forma como as tabelas estão organizadas e relacionadas. O TPC Benchmark ( TPC- H) é um Benchmark de apoio à decisão . Consiste num conjunto de consultas ad-hoc orientados ao negócios. As consultas e os dados que constituem o banco de dados têm sido escolhido por terem grande relevância em toda a indústria , mantendo um grau suficiente de facilidade de implementação. Este Benchmark é um sistema de apoio à decisão que examine grandes volumes de dados ; Executa consultas com um elevado grau de complexidade ; Dá respostas a questões críticas de negócios. TPC- H avalia o desempenho de vários sistemas de apoio à decisão pela execução de conjuntos de consultas em um banco de dados padrão, sob condições controladas. As consultas do TPC-H dão resposta as questões de negócios do mundo real. As operações de TPC - H são modelados da seguinte maneira : O banco de dados é continuamente disponível 24 horas por dia, 7 dias por semana, para consultas ad- hoc e modificações de dados de vários utilizadores finais em todas as tabelas , com exceções de manutenção que podem ocorrer uma vez por mês; Devido à natureza de todo o conjunto dos dados do negócio armazenados no banco de dados do TPC- H, as consultas e as funções de atualização podem ser executadas no banco de dados a qualquer momento. Além disso, esta mistura de consultas e funções de atualização está sujeita a requisitos específicos ACID, desde consultas e atualizações executadas concorrentemente; A base de dados mínima necessária para rodar o Benchmark contém dados de negócios de 10 mil fornecedores. Ela contém cerca de dez milhões de linhas que representam uma capacidade de armazenamento bruto de cerca de 1 gigabyte. Em conformidade, a implementação também pode ser feita com maior quantidade de dados, (por exemplo, 100 gigabytes).
  • 4.   3   O Benchmark TPC-H baseia-se em um modelo de dados relativamente simples, como mostra a figura a baixo. Trata-se de um problema genérico envolvendo clientes, fornecedores e compras de itens subdividido em componentes.   Figura- Esquema TPC-H. Fonte (http://www.tpc.org/tpch/- página oficial) De acordo com o esquema acima apresentado pode dizer-se que o número que aparece logo abaixo do nome da tabela representa a sua cardinalidade. Esta pode ser fixa (tabelas region e nation), ou variável, onde multiplica-se uma constante por um scale factor determinado no momento da criação da base de dados. Por exemplo, caso SF valha 3, haverá 450.000 linhas na tabela de clientes (customer). TPC Benchmark™ H Standard Specification Revision 2.8.0 Page 12 2.2 Database Entities, Relationships, and Characteristics The components of the TPC-H database are defined to consist of eight separate and individual tables (the Base Tables). The relationships between columns of these tables are illustrated in Figure 2: The TPC-H Schema. Figure 2: The TPC-H Schema Legend: • The parentheses following each table name contain the prefix of the column names for that table; • The arrows point in the direction of the one-to-many relationships between tables; • The number/formula below each table name represents the cardinality (number of rows) of the table. Some are factored by SF, the Scale Factor, to obtain the chosen database size. The cardinality for the LINEITEM table is approximate (see Clause 5.2.5). PARTKEY NAME MFGR BRAND TYPE SIZE CONTAINER COMMENT RETAILPRICE PARTKEY SUPPKEY AVAILQTY SUPPLYCOST COMMENT SUPPKEY NAME ADDRESS NATIONKEY PHONE ACCTBAL COMMENT ORDERKEY PARTKEY SUPPKEY LINENUMBER RETURNFLAG LINESTATUS SHIPDATE COMMITDATE RECEIPTDATE SHIPINSTRUCT SHIPMODE COMMENT CUSTKEY ORDERSTATUS TOTALPRICE ORDERDATE ORDER- PRIORITY SHIP- PRIORITY CLERK COMMENT CUSTKEY NAME ADDRESS PHONE ACCTBAL MKTSEGMENT COMMENT PART (P_) SF*200,000 PARTSUPP (PS_) SF*800,000 LINEITEM (L_) SF*6,000,000 ORDERS (O_) SF*1,500,000 CUSTOMER (C_) SF*150,000 SUPPLIER (S_) SF*10,000 ORDERKEY NATIONKEY EXTENDEDPRICE DISCOUNT TAX QUANTITY NATIONKEY NAME REGIONKEY NATION (N_) 25 COMMENT REGIONKEY NAME COMMENT REGION (R_) 5
  • 5.   4   Estão representadas cinco regiões (continentes), que congregam vinte e cinco nações (tabelas region e nation, respectivamente). Clientes e Fornecedores (tabelas supplier e customer) estão associados às nações. Enquanto os primeiros realizam pedidos de compras (tabela orders), os segundos fornecem componentes (tabela part) de itens de compra. Como um fornecedor pode oferecer vários itens e um item pode ser disponibilizado por vários fornecedores, existe uma tabela para registar esta relação NxN (partsupp). Finalmente, a tabela mais volumosa do modelo (lineitem) associa itens de compra a pedidos. Os parênteses ao lado dos nomes das tabelas indicam o prefixo utilizado para denominar os campos da tabela em questão. Desta forma, a chave primária da tabela de fornecedores chama-se S_SUPPKEY; As flechas indicam as associações entre chaves primárias e estrangeiras. Assim, verifica-se que a chave primária da tabela nation está vinculada ao campo nationkey na tabela de fornecedores (tabela supplier). Apresenta-se abaixo a descrição de cada consulta TPC-H escolhida. As consultas escolhidas foram de 1 a 10. Consulta 1 Totais consolidados para transações financeiras ocorridas num determinado período de tempo; Consulta 2 Seleciona qual fornecedor deve ser escolhido para fazer um pedido de um determinado componente em uma determinada região; Consulta 3 Esta consulta retorna os 10 pedidos não enviado com o valor mais alto; Consulta 4 Verifica a eficácia do sistema de controlo de prioridades de pedidos e analisa os níveis de satisfação dos clientes; Consulta 5 Lista o volume de receitas feita através de fornecedores locais; Consulta 6 Quantifica o volume de receitas que teriam resultado da eliminação certos descontos em toda a empresa num determinado intervalo percentual num determinado ano.
  • 6.   5   Consulta 7 Determina o valor de mercadorias embarcadas entre certos países para ajudar na renegociação de contratos de transporte. Consulta 8 Esta consulta determina como a quota de mercado de um determinado país dentro de uma região tem mudado ao longo de dois anos para um tipo de peça. Consulta 9 Esta consulta determina o lucro feito sobre uma determinada linha de peças, divididas por país fornecedor e ano. Consulta 10 Identifica clientes que podem ter tido problemas com entregas. 3- BENCHMARKING DE APOIO A DECISÃO. Benchmarkings de apoio a decisão são de grande importância tanto para as empresas que utilizam os motores de bases de dados como os fornecedores. Permitem por exemplo ao cliente saber que motor deve adquirir, ou seja que motor será necessário implementar na sua empresa. Por outra, um potencial cliente pode ir ao site do TPC -H e verificar a performance e preço para saber qual motor adquirir. Os fornecedores com base nos testes de performance publicados no TPC -H podem por exemplo melhorar a performance dos seus motores de base de dados.   4-­‐  SETUP  EXPERIMENTAL   Os testes de desempenho foram executados em um portátil MacBookPro, com um processador de Intel Core i5 com uma frequência de 2.4 GHz, 8GB de memória RAM DDR3 com uma frequência de 1600 MHz, com 3 MB de cache L3 partilhada e uma memória flash de 256GB. Para a realização do presente teste utilizamos a versão 5.5.33 do MySql, instalada sobre o Sistema Operativo OS X versão 10.9.1, e as consultas foram feitas na aplicação Cliente phpMyAdmim rodando localmente, e a versão 2.16.0 do TPC-H. Apresentamos a seguir as tabelas com os resultados obtidos no ato do carregamento da Base de Dados.
  • 7.   6   5- RESULTADO 5.1- CRIAÇÃO DAS TABELAS Tal como foi anteriormente dito, o objectivo é fazer o teste com a Base de Dados disponibilizada no site do TPC-H. A seguir apresenta-se o tempo que levou a criação das tabelas na base de dados, bem como uma ilustração gráfica dos resultados obtidos. Nº O TABELA LINHAS TEMPO DE CARREGAMENTO 1 CUSTOMER ~901,212 0,0140 Seg. 2 LINEITEM ~35,929,531 0,0145 Seg. 3 NATION 0,0293 Seg. 4 ORDERS ~9,100,406 0,0159 Seg. 5 PART ~1,199,875 0,0152/0.0350 Seg. 6 PARTSUPP ~4,834,174 0,0147 Seg. 7 REGION 0,0221 Seg. 8 SUPPLIER ~59,856 0,0295 Seg. TOTAL 8 Tabelas 52,025,083 Linhas Tabela1-­‐  Tempo  obtido  na  criação  das  tabelas   Grafico1- Criação das Tabelas na Base de Dados. 5.2- CARREGAMENTO DA INFORMAÇÃO NAS TABELAS A tabela que se segue, ilustra o número de linhas bem como o espaço ocupado em disco de cada uma das tabelas da Base de Dados. Nº  O   TABELA   LINHAS   TEMPO  DE  CARREG.   ESPAÇO  OCUPADO   1   CUSTOMER   900.000   7,2178  Sec   311.6MB   0,014   0,0145   0,0293   0,0159   0,0152   0,0147   0,0221   0,0295   TEMP/  SEGUNDO   CUSTOMER   LINEITEM   NATION   ORDERS   PART   PARTSUPP   REGION   SUPPLIER  
  • 8.   7   2   LINEITEM   360.00.147   309,8828  Sec   7.7GB   3   NATION   25   0,002  Sec   64  KB   4   ORDERS   9000.000   62,8393  Sec   1.5GB   5   PART   1.200.000   8,5028  Sec   265.6MB   6   PARTSUPP   4.800.000   43,5401  Sec   1GB   7   REGION   5   0,0090  Sec   32KB   8   SUPPLIER   60.000   0,4197  Sec   13.5MB   TOTAL   8  Tabelas   51.960.177  Linhas     10.8GB   Tabela2-­‐  Resultados  do  carregamento  das  tabelas       Gráfico2-­‐  Tempo  de  carregamento  dos  dados  nas  tabelas  por  segundos.     O gráfico acima, apresenta o tempo de carregamento de cada uma das 8 tabelas existente na Base de Dados. E pelos resultados pode-se verificar que a tabela LINEITEM é a que mais tempo de execução levou, cerca de 71,66% em relação as outras. Este tempo de execução que a mesma levou, deve-se principalmente a quantidade de linhas (360.00.147linhas) que a mesma possui bem como a quantidade de informação nela contida (7.7GB). A tabela que menos tempo de execução levou foi a tabela NATION, cerca de 0,00046%. 5.3- CARREGAMENTO DAS CHAVES PRIMÁRIAS E ESTRANGEIRAS. Criou-se de seguida as chaves primárias e secundarias nas tabelas da Base de Dados, com o objectivo de garantir a integridade dos dados. 7,2178   309,8828   0,002   62,8393   8,5028   43,5401   0,009   0,4197   TEMPO  DE  EXECUÇÃO/  SEC   CUSTOMER   LINEITEM   NATION   ORDERS   PART   PARTSUPP   REGION   SUPPLIER  
  • 9.   8   5.3.1- CHAVES PRIMÁRIAS A tabela abaixo e o respectivo gráfico, mostram os tempos (em segundos), de carregamento das chaves primárias. Nº O TABELAS Temp. Carreg. Primary Key/ Seg 1 CUSTOMER 8,1814 3 LINEITEM 677,1544 4 NATION 0,0209 4 ORDERS 79,5134 5 PART 10,4987 6 PARTSUPP 46,2618 7 REGION 0,0375 8 SUPPLIER 0,5324 Tabela3- Carregamento das chaves Primária Gráfico3- Carregamento das chaves Primarias. 5.3.2- CHAVES ESTRANGEIRAS Pode-se verificar, na tabela e gráfico abaixo os resultados obtidos na criação das chaves estrangeiras. 8,1814   677,1544   0,0209   79,5134   10,4987   46,2618   0,0375   0,5324   Tempo  de  Carreg.   CUSTOMER   LINEITEM   NATION   ORDERS   PART   PARTSUPP   REGION   SUPPLIER   Nº O TABELAS Temp. Carreg. Foreign Key/ Seg 1 CUSTOMER 9,4518 2 LINEITEM 9291,1391 3 NATION 0,0582
  • 10.   9   Tabela4- Carregamento das Chaves Estrangeiras.     Gráfico4-­‐  Carregamento  das  Chaves  Estrangeiras.   5.4- TEMPO DE CRIAÇÃO DOS ÍNDECES Os índices foram criados com base nos campos utilizados nos critérios de busca. TABELA   ÍNDECE   TEMPO/SEC   CUSTOMER   INDEX_CUSTOMER   2,972   LINEITEM   INDEX_LINEITEM   288,8038   NATION   INDEX_NATION   0,0452   ORDERS   INDEX_ORDERS   35,9125   PART   INDEX_PART   5,5986   PARTSUPP   INDEX_PARTSUPP   16,0626   REGION   INDEX_REGION   0,0662   SUPPLIER   INDEX_SUPPLIER   0,1889     Tabela5- Tempo da criação dos índices por tabelas 9,4518   9291,1391   0,0582   1660,2618   115,5943   0,7479   Temp.  Carreg.  Foreign  Key   CUSTOMER   LINEITEM   NATION   ORDERS   PARTSUPP   SUPPLIER   4 ORDERS 1660,2618 5 PARTSUPP 115,5943 6 SUPPLIER 0,7479
  • 11.   10   Gráfico5- Criação de índices 5.5-­‐  PESQUISA   Na próxima tabela e gráfico, mostra-se os resultados de cada uma das queries efetuadas na Base de Dados. Apresentamos na mesma tabela e gráfico o tempo que levou para a execução de cada query. O tempo apresentado está expresso em segundos.   Query   Rows   Tempo  de  Execução/Seg   Q1   4   104,2518   Q  2   2.809   84,1047   Q  3   68.496   466,2878   4   5   44,6434   5   5   299,5164   6   1   20,0214   7   4   248,6847   8   2   523,8567   9   175   1.840,9723   10   228.580   738,6247   Total 300.081 4.370,9639 Tabela6-­‐  Tempo  do  carregamento  das  chaves  primárias.     2,972   288,8038   0,0452   35,9125   5,5986   16,0626   0,0662   0,1889   TEMPO/SEC   INDEX_CUSTOMER   INDEX_LINEITEM   INDEX_NATION   INDEX_ORDERS   INDEX_PART   INDEX_PARTSUPP   INDEX_REGION   INDEX_SUPPLIER  
  • 12.   11     Gráfico6-­‐  Carregamento  das  chaves  primárias.     Pode-se também verificar o tempo de execução de cada uma das 10 queries escolhidas na Base de Dados de teste. Constatou-se que a query número 9 é a que mais tempo levou para a execução (1.840,9723segundos) cerca de 42% em relação as demais consultas. Isto deve-se ao facto de a consulta número 9 englobar 7 das 8 tabelas (part, supplier, lineitem, partsupp, orders, nation ) o que corresponde a 87,5% das tabelas e isso torna a consulta muito lenta.                                               104,2518   84,1047   466,2878   44,6434   299,5164   20,0214   248,6847   523,8567   1840,9723   738,6247   Q1   Q2   Q3   Q4   Q5   Q6   Q7   Q8   Q9   Q10   0   200   400   600   800   1000   1200   1400   1600   1800   2000   TIME  EXECUTION/  SEC  
  • 13.   12   6 –  CONCLUSÕES     Com  base  nos  testes  feitos,  constatou-­‐se  o  seguinte:     ! Quanto  maior  for  o  volume  de  dados,  menor  é  desempenho  do  MySql,   obrigando  o  escalonamento  vertical  ou  horizontal;   ! Servidores   com   maiores   capacidade   de   processamento   e   armazenamento   contribuem   para   o   melhor   desempenho   do   MySql   no   que  diz  respeito  ao  carregamento  de  dados  e  execução  de  consultas;   ! As  consultas  com  elevadas  junções,  agregações  de  tabelas  foram  as  mais   lentas  no  que  diz  respeito  ao  tempo  de  execução;   ! MySql  pode  suportar  bases  de  dados  transacionais,  mas  não  é  o  motor   adequado  para  implementar  uma  base  de  dados  de  apoio  a  decisão.                                                                          
  • 14.   13   7-­‐  REFERÊNCIAS     1- http://en.wikipedia.org/wiki/Transaction_Processing_Performance_Council 2- http://disciplinas.stoa.usp.br/pluginfile.php/37733/mod_resource/content/1/aula1introduco. pdf 3- http://www.tpc.org/tpch/spec/tpch2.8.0.pdf 4- http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0410827_06_postextual.pdf 5- http://wiki.locaweb.com.br/ptbr/Otimizações_nas_consultas_ao_banco_de_dados 6- http://ftp.nchu.edu.tw/MySQL/doc/refman/4.1/pt/create-index.html 7- http://www.quest.com/documents/dsd-benchmark-us-ag-20100122.pdf