análise comparativa de desempenho entre mysql e postgresql fábio Ávila [email protected]...
TRANSCRIPT
Análise comparativa de Análise comparativa de desempenho entre MySQL desempenho entre MySQL
e PostgreSQLe PostgreSQL
Fábio ÁvilaFábio Á[email protected]@itautec.cin.ufpe.br
http://itautec.cin.ufpe.br/http://itautec.cin.ufpe.br/
Maio/2006Maio/2006
22
Agenda
IntroduçãoIntrodução BenchmarksBenchmarks utilizados utilizados
Destaque ao DBT-2Destaque ao DBT-2 ResultadosResultados Conclusões e trabalhos futurosConclusões e trabalhos futuros PerguntasPerguntas
33
Objetivo Comparativo de desempenho entre MySQL e Comparativo de desempenho entre MySQL e
PostgreSQL no LinuxPostgreSQL no Linux Uso dos benchmarks DBT-2, OSDB e PolePositionUso dos benchmarks DBT-2, OSDB e PolePosition
Estimular melhoria do desempenho de SGBD de Estimular melhoria do desempenho de SGBD de código abertocódigo aberto Não promover vencedores e perdedoresNão promover vencedores e perdedores
44
Quem Somos Convênio P&D entre Itautec e CIn/UFPEConvênio P&D entre Itautec e CIn/UFPE
Laboratório de Análise de PerformanceLaboratório de Análise de Performance Fundado em Janeiro/2003Fundado em Janeiro/2003
ObjetivosObjetivos Análise de desempenho de servidores de missão críticaAnálise de desempenho de servidores de missão crítica Certificação TPC-C em servidores da ItautecCertificação TPC-C em servidores da Itautec HCT LibrixHCT Librix
ResultadosResultados 8 publicações TPC-C8 publicações TPC-C Apresentações em eventosApresentações em eventos Releases de Releases de white paperswhite papers e HCT e HCT
http://itautec.cin.ufpe.brhttp://itautec.cin.ufpe.br
55
Equipe TPC
Rilson NascimentoRilson Nascimento
Francisco CarvalhoFrancisco Carvalho
Fábio ÁvilaFábio Ávila
Carlos Eduardo PiresCarlos Eduardo Pires
Marcelo RodriguesMarcelo Rodrigues
66
Benchmarks DefiniçãoDefinição
Padrão para medida ou avaliaçãoPadrão para medida ou avaliação Gera métricas de desempenhoGera métricas de desempenho Permite comparaçõesPermite comparações Destaca oportunidades de melhoriaDestaca oportunidades de melhoria PerformancePerformance / / FeatureFeature
Características desejáveisCaracterísticas desejáveis Especificação detalhada e abertaEspecificação detalhada e aberta Produzido por órgãos neutrosProduzido por órgãos neutros Escalonável (scalable)Escalonável (scalable) PortátilPortátil ReproduzívelReproduzível
77
Breve Histórico de Benchmarks Wisconsin Benchmark - David DeWitt (1983)Wisconsin Benchmark - David DeWitt (1983)
Provocou criação da “cláusula DeWitt”Provocou criação da “cláusula DeWitt” Paper Anon et Al - Jim Gray (1985)Paper Anon et Al - Jim Gray (1985) ASAS33AP (1987) - Carolyn TurbyfillAP (1987) - Carolyn Turbyfill
Implementação: OSDB (2001)Implementação: OSDB (2001) TPC (1988)TPC (1988) SPEC (1988)SPEC (1988) BAPCo (1991)BAPCo (1991) TPC-C (1993)TPC-C (1993) SPC (1997)SPC (1997) TPC-App (2004)TPC-App (2004)
88
Transaction Processing Performance Council (TPC)
Fundada em 1988Fundada em 1988 Realidade parecida com a Realidade parecida com a
Fórmula 1Fórmula 1 Grandes investimentos na Grandes investimentos na
tentativa de superar os tentativa de superar os concorrentesconcorrentes
18 18 full membersfull members HP, IBM, Oracle, Microsoft, Unisys, HP, IBM, Oracle, Microsoft, Unisys,
Sun, Intel, AMD, Dell, Fujitsu, NEC, Sun, Intel, AMD, Dell, Fujitsu, NEC, Teradata, Novell, Sybase, Bull, Teradata, Novell, Sybase, Bull, NetezzaNetezza
4 4 associate membersassociate members OSDL, CIn/UFPE, Ideas, ITOMOSDL, CIn/UFPE, Ideas, ITOM
99
Open Source Development Labs (OSDL)
Organização sem fins lucrativos, Organização sem fins lucrativos, fundada em 2000fundada em 2000
MissãoMissão Incentivar a utilização do LinuxIncentivar a utilização do Linux
Reconhecida mundialmente por seus Reconhecida mundialmente por seus projetosprojetos IPV6-DHCP, kernel testing, DBT-*, etc.IPV6-DHCP, kernel testing, DBT-*, etc.
Recebe investimentos de grandes Recebe investimentos de grandes empresas como Fujitsu, HP, IBM e Intelempresas como Fujitsu, HP, IBM e Intel
Associate memberAssociate member da TPC da TPC
1010
Benchmarks Utilizados
DBT-2DBT-2 Implementação da OSDL do TPC-CImplementação da OSDL do TPC-C
OSDBOSDB Implementação OpenSource do ASImplementação OpenSource do AS33APAP
PolePositionPolePosition Instanciando objetos em JavaInstanciando objetos em Java
1111
Hardware Utilizado
Servidor ItautecServidor Itautec 2 Processadores Pentium III Xeon 1.0 2 Processadores Pentium III Xeon 1.0
GHzGHz 2GB RAM, Cache L2 256KB2GB RAM, Cache L2 256KB 1 Disco Interno SCSI Seagate 10Krpm1 Disco Interno SCSI Seagate 10Krpm
1 Storage com 14 Discos SCSI 1 Storage com 14 Discos SCSI Seagate 15Krpm de 36GB RAID 0Seagate 15Krpm de 36GB RAID 0
1 Placa Controladora 1 Placa Controladora Mylex Mylex Extreme RAID 2000 4CExtreme RAID 2000 4C
1 Switch 1Gbps1 Switch 1Gbps
1212
Software Utilizado
Linux Fedora Core 4, Kernel 2.6.11-Linux Fedora Core 4, Kernel 2.6.11-1.1369_FC4smp, filesystem ext31.1369_FC4smp, filesystem ext3
PostgreSQL 8.1.3 on i686-pc-linux-PostgreSQL 8.1.3 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) gnu, compiled by GCC gcc (GCC) 4.0.0 20050519 (Red Hat 4.0.0-8)4.0.0 20050519 (Red Hat 4.0.0-8)
MySQL 5.0.12-beta-standard-logMySQL 5.0.12-beta-standard-log dbt2-0.37, Novembro de 2005dbt2-0.37, Novembro de 2005
1313
Ambiente de Teste
DBT-2 e OSDB: Console VNC
PolePosition: Gerador de Carga
Eclipse
StorageServidor Itautec
Sistema sob Avaliação
Switch
Linux + DBT-2 + SGBD Banco de Dados
1414
Database Test 2 (DBT-2)
Implementação incompleta do TPC-CImplementação incompleta do TPC-C Não comparável aos resultados oficiais TPC-CNão comparável aos resultados oficiais TPC-C Código AbertoCódigo Aberto
Simula um ambiente OLTPSimula um ambiente OLTP Operações refletem as 5 atividades principais Operações refletem as 5 atividades principais
de uma empresa atacadistade uma empresa atacadista Explora consultas, transações curtas e Explora consultas, transações curtas e
concorrênciaconcorrência Acesso não-uniforme aos dadosAcesso não-uniforme aos dados Ambiente multi-usuárioAmbiente multi-usuário
1515
Modelo Lógico do Banco de Dados
WarehouseWarehouseW
DistrictDistrictW * 10
StockStockW * 100k
ItemItem100k
HistoryHistoryW * 30k+
New-OrderNew-OrderW * 9k+
Order-LineOrder-LineW * 300k+
CustomerCustomerW * 30k
OrdersOrdersW * 30k+
100k
10
3k
1+0-1
5-15
3+W
1+
1616
Exemplo: PostgreSQL, 115wWarehouseWarehouse
(115)24 KB
DistrictDistrict(1.150)184 KB
StockStock(11.500.000)
3.8 GB
ItemItem(100.000)10.8 MB
HistoryHistory(3.450.000)
290 MB
New-OrderNew-Order(1.035.000)
40 MB
Order-LineOrder-Line(32.767.533)
3 GB
CustomerCustomer(3.450.000)
2.2 GB
OrdersOrders(3.450.000)
221 MB
Total (incluindo índices): 11.7 GB
1717
Transações do DBT-2 Escrita e leituraEscrita e leitura
New-OrderNew-Order Entrada de um novo pedidoEntrada de um novo pedido
PaymentPayment Registra um pagamento de clienteRegistra um pagamento de cliente
DeliveryDelivery Processa a entrega de um lote de 10 pedidosProcessa a entrega de um lote de 10 pedidos
ConsultaConsulta Order-StatusOrder-Status
Retorna o status do último pedido de um clienteRetorna o status do último pedido de um cliente Stock-LevelStock-Level
Retorna itens que têm nível de estoque abaixo de um limite Retorna itens que têm nível de estoque abaixo de um limite específicoespecífico
1818
Percentuais de Execução
Payment 43%Payment 43% Order-Status 4%Order-Status 4% Delivery 4%Delivery 4% Stock Level 4%Stock Level 4% New-Order New-Order ≡ ≡ 45% (restante)45% (restante)
1919
Métricas NOTPMNOTPM
Número de Transações New-Order por minutoNúmero de Transações New-Order por minuto Regra de escalabilidade do TPC-CRegra de escalabilidade do TPC-C
1 warehouse 1 warehouse 10 usuários 10 usuários
Exemplo para 1.000 usuários:Exemplo para 1.000 usuários: BD: 100 warehousesBD: 100 warehouses Desempenho mínimo: 900 NOTPMDesempenho mínimo: 900 NOTPM Desempenho máximo: 1286 NOTPMDesempenho máximo: 1286 NOTPM
286,1#
9,0 Usuários
NOTPM
2020
Emulação de usuários
1 – Escolhe tipo da transação
2 – Tempo de resposta do menu (após exibição na tela)
3 – Tempo de espera (keying time)
4 – Tempo de processamento (após exibir dados na tela)
5 – Tempo de espera (think time)
2121
Tuning – DBT-2
PostgreSQL 8.1.3 (postgresql.conf)PostgreSQL 8.1.3 (postgresql.conf) fsync = off fsync = off [on][on] shared_buffers = 20.000 (156 MB) shared_buffers = 20.000 (156 MB) [1.000][1.000] checkpoint_segments = 256 checkpoint_segments = 256 [6][6] checkpoint_timeout = 1800 s checkpoint_timeout = 1800 s [300][300] stats_* = off stats_* = off [on][on] work_mem = 1024K work_mem = 1024K [512][512]
MySQL 5.0.12 Beta (my-huge.cnf)MySQL 5.0.12 Beta (my-huge.cnf) innodb_buffer_pool_size = 1228 MBinnodb_buffer_pool_size = 1228 MB [384][384] innodb_log_file_size = 307 MBinnodb_log_file_size = 307 MB [100][100] innodb_flush_log_at_trx_commit = 0innodb_flush_log_at_trx_commit = 0 [1][1] thread_concurrency = 4thread_concurrency = 4 [8][8]
2222
Número de Transações New-Order por Minuto (NOTPM)
0
200
400
600
800
1000
1200
1400
1600
1800
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64
PostgreSQLMySQL
2323
CPU
0
10
20
30
40
50
60
70
80
90
100
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64
Postgres TOTALMySQL TOTALPostgres UserMySQL UserPostgres SystemMySQL SystemPostgres I/O WaitMySQL I/O wait
2424
Context Switches
0
2000
4000
6000
8000
10000
12000
MySQL context switches
PostgreSQL context switches
2525
I/O
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64
MySQL read KB/s
Postgres read KB/s
MySQL write KB/s
Postgres write KB/s
2626
Benchmark AS3AP Trabalho acadêmicoTrabalho acadêmico
Carolyn Turbyfill / Cyril Orji / Dina BittonCarolyn Turbyfill / Cyril Orji / Dina Bitton Aberto e neutroAberto e neutro Evolução do famoso “Wisconsin Benchmark”Evolução do famoso “Wisconsin Benchmark”
NormalizaçãoNormalização Tamanho do BD >= memória físicaTamanho do BD >= memória física
MétricaMétrica Maximum database size (under 12 hours)Maximum database size (under 12 hours)
Boa cobertura dos recursos de um SGBDBoa cobertura dos recursos de um SGBD Métodos de acesso, tipos de dados, índicesMétodos de acesso, tipos de dados, índices Joins, projections, aggregatesJoins, projections, aggregates UpdatesUpdates Bulk load, output modeBulk load, output mode Testes multi-usuárioTestes multi-usuário
2727
OSDB
Open Source Database BenchmarkOpen Source Database Benchmark Última versão: 0.17, Out/2004Última versão: 0.17, Out/2004 Código aberto, disponível no SourceForgeCódigo aberto, disponível no SourceForge Problemas de estabilidadeProblemas de estabilidade
Implementação do ASImplementação do AS33APAP Mais um Mais um Feature BenchmarkFeature Benchmark
Algumas funcionalidades não muito relevantesAlgumas funcionalidades não muito relevantes Apresentamos comparativo no fisl6.0Apresentamos comparativo no fisl6.0
Versões anteriores, maior detalhamentoVersões anteriores, maior detalhamento MétricaMétrica
Maximum database size / 12hMaximum database size / 12h
2828
OSDB Nossos testesNossos testes
Tamanho do banco: 1GBTamanho do banco: 1GB 2.500.000 registros por tabela + índices2.500.000 registros por tabela + índices 4 tabelas: uniques, hundred, tenpct, updates4 tabelas: uniques, hundred, tenpct, updates Registros de 100 bytesRegistros de 100 bytes Não houve Não houve tuningtuning
Ideal: mínimo de 2GBIdeal: mínimo de 2GB Problemas para estabilizar o testeProblemas para estabilizar o teste
CredibilidadeCredibilidade O ASO AS33AP é bastante respeitado, mas OSDB é pouco AP é bastante respeitado, mas OSDB é pouco
utilizado e referenciadoutilizado e referenciado ““I wish you’d stop using it”I wish you’d stop using it”
Josh Berkus, PostgreSQL Lead DeveloperJosh Berkus, PostgreSQL Lead Developer
2929
Resultados OSDB (1GB)
CategoriaCategoria PostgreSQLPostgreSQL MySQLMySQL EmpateEmpate
Criação e População de TabelasCriação e População de Tabelas 1616 66 11
Testes mono-usuárioTestes mono-usuário 77 3535 44
Testes multi-usuárioTestes multi-usuário 77 1717 00
93 operações realizadas pelo benchmark93 operações realizadas pelo benchmark 23 etapas de criação e população de tabelas23 etapas de criação e população de tabelas 46 testes mono-usuário46 testes mono-usuário 24 testes multi-usuário24 testes multi-usuário
A tabela mostra o número de vezes que cada SGBD teve melhor A tabela mostra o número de vezes que cada SGBD teve melhor desempenho em determinada categoriadesempenho em determinada categoria Critério de empate: Diferença inferior a 10%Critério de empate: Diferença inferior a 10%
3030
OSDB – Anomalias bulk_modifybulk_modify
update updatesupdate updatesset key=key-100000set key=key-100000where key between 5000 and 5999where key between 5000 and 5999
Tempo de execuçãoTempo de execução 33 minutos33 minutos no PostgreSQL no PostgreSQL Menos de Menos de 1 segundo1 segundo no MySQL no MySQL
bulk_deletebulk_delete delete updates where key < 0delete updates where key < 0 Tempo de execuçãoTempo de execução
34 minutos34 minutos no PostgreSQL no PostgreSQL Menos de Menos de 1 segundo1 segundo no MySQL no MySQL
Bug, implementação ou Bug, implementação ou tuningtuning??
3131
Benchmark PolePosition Implementação aberta em JavaImplementação aberta em Java
Neutra para SGBDNeutra para SGBD Desempenho da persistência de objetos no SGBDDesempenho da persistência de objetos no SGBD
Mede mapeamento de acesso relacional e objeto-Mede mapeamento de acesso relacional e objeto-relacionalrelacional
Leitura, escrita, manipulação de árvore de objetosLeitura, escrita, manipulação de árvore de objetos CircuitosCircuitos
Representação de um conjunto de testesRepresentação de um conjunto de testes LapLap
Teste individual em um circuitoTeste individual em um circuito Ex: Melbourne: delete, read, read_hot, writeEx: Melbourne: delete, read, read_hot, write Número de objetos configurávelNúmero de objetos configurável
3232
Benchmark PolePosition BahrainBahrain
escreve, lê, atualiza e apaga objetos sem hierarquia escreve, lê, atualiza e apaga objetos sem hierarquia individualmenteindividualmente
BarcelonaBarcelona escreve, lê, consulta e apaga objetos de uma estrutura escreve, lê, consulta e apaga objetos de uma estrutura
de cinco níveisde cinco níveis ImolaImola
Lê objetos por chave primáriaLê objetos por chave primária MelbourneMelbourne
Escreve, lê e apaga objetos não-estruturados de um tipo Escreve, lê e apaga objetos não-estruturados de um tipo em modo em modo bulkbulk
SepangSepang Escreve, lê e depois apaga uma árvore de objetosEscreve, lê e depois apaga uma árvore de objetos
3333
Benchmark PolePosition Fácil de rodar, bastante estável e reproduzívelFácil de rodar, bastante estável e reproduzível Oportunidades de Oportunidades de tuningtuning
No No carrocarro Tecnologia de acesso: db4o, Hibernate, JDBC, etc.Tecnologia de acesso: db4o, Hibernate, JDBC, etc.
No No pilotopiloto SGBD: MySQL, PostgreSQL, HSQLDB, DerbySGBD: MySQL, PostgreSQL, HSQLDB, Derby
Nossos testesNossos testes Carro único: JDBCCarro único: JDBC SGBD sem SGBD sem tuningtuning Número de objetosNúmero de objetos
Barhain e Barcelona: 1.000, 3.000, 5.000, 7.000, 9.000Barhain e Barcelona: 1.000, 3.000, 5.000, 7.000, 9.000 Melbourne: 25.000, 50.000, 75.000, 100.000Melbourne: 25.000, 50.000, 75.000, 100.000 Imola: 10.000, 30.000, 100.000, 300.000Imola: 10.000, 30.000, 100.000, 300.000 Sepang: 36, 55, 78, 105Sepang: 36, 55, 78, 105
3434
Resultados PolePosition
CircuitoCircuito PostgreSQLPostgreSQL MySQLMySQL EmpateEmpate
BarhainBarhain 1616 1111 33
BarcelonaBarcelona 77 1212 11
ImolaImola 44 00 00
MelbourneMelbourne 44 1111 11
SepangSepang 00 1616 00
86 operações realizadas pelo benchmark86 operações realizadas pelo benchmark A tabela mostra o número de vezes que cada SGBD teve A tabela mostra o número de vezes que cada SGBD teve
melhor desempenho em determinado circuitomelhor desempenho em determinado circuito Critério de empate: Diferença inferior a 10%Critério de empate: Diferença inferior a 10%
3535
PolePosition - Anomalias Barcelona writeBarcelona write
MySQL de 5x a 39x mais rápido que o PostgreSQLMySQL de 5x a 39x mais rápido que o PostgreSQL Barcelona deleteBarcelona delete
1.000 objetos 1.000 objetos PostgreSQL 5x mais rápido que MySQL PostgreSQL 5x mais rápido que MySQL 3.000, 5.000, 7.000, 9.000 objetos 3.000, 5.000, 7.000, 9.000 objetos MySQL 5x a 40x MySQL 5x a 40x
mais rápido que PostgreSQLmais rápido que PostgreSQL Melbourne read_hotMelbourne read_hot
PostgreSQL ganha no read, mas mostra anomalia de PostgreSQL ganha no read, mas mostra anomalia de desempenho no read_hotdesempenho no read_hot
““JDBC caching is a known issue with the current JDBC JDBC caching is a known issue with the current JDBC driver. JDBC lead Dave Cramer is currently working on a driver. JDBC lead Dave Cramer is currently working on a fix, sponsored by Sun Microsystems” – Josh Berkusfix, sponsored by Sun Microsystems” – Josh Berkus
Bugs, implementação ou Bugs, implementação ou tuningtuning??
3636
Conclusões
TuningTuning aumenta significativamente o aumenta significativamente o desempenho.desempenho. MySQL no DBT-2: 75%MySQL no DBT-2: 75% PostgreSQL no DBT-2: 15%PostgreSQL no DBT-2: 15%
Para uma boa análise, um só Para uma boa análise, um só benchmarkbenchmark não bastanão basta
Participação fundamental de especialistasParticipação fundamental de especialistas PostgreSQL: Josh Berkus (DBT-2)PostgreSQL: Josh Berkus (DBT-2) MySQL: Peter MySQL: Peter Zaitsev (DBT-2)Zaitsev (DBT-2) DBT-2: Mark WongDBT-2: Mark Wong
3737
Conclusões
No DBT-2, o No DBT-2, o desempenho foidesempenho foi equivalenteequivalente PostgreSQL mostrou ligeira vantagemPostgreSQL mostrou ligeira vantagem MySQL mostrou espaço para melhoria via tuningMySQL mostrou espaço para melhoria via tuning
““The difference between the procedure and plain The difference between the procedure and plain statements version is some 30% in our tests” – Peter statements version is some 30% in our tests” – Peter ZaitsevZaitsev
No OSDB, o No OSDB, o MySQL se mostrouMySQL se mostrou superiorsuperior na na maioria dos testesmaioria dos testes Verificadas anomalias no PostgreSQLVerificadas anomalias no PostgreSQL
No PolePosition, o No PolePosition, o MySQL se mostrou superiorMySQL se mostrou superior na na maioria dos testesmaioria dos testes Verificadas anomalias no PostgreSQL e MySQLVerificadas anomalias no PostgreSQL e MySQL
3838
Trabalhos Futuros
Poleposition: circuito Poleposition: circuito InterlagosInterlagos Melhor implementação dos benchmarksMelhor implementação dos benchmarks Mais tuningMais tuning Utilizar um ambiente com 2 ou 3 camadasUtilizar um ambiente com 2 ou 3 camadas Utilizar servidores mais poderososUtilizar servidores mais poderosos Testar outros Testar outros filesystemsfilesystems Testar outros SGBDTestar outros SGBD
Usar distro da Itautec: Librix ServerUsar distro da Itautec: Librix Server
3939
Agradecimentos especiais
Peter Zaitsev, Senior Support Engineer, Peter Zaitsev, Senior Support Engineer, Lead of Performance GroupLead of Performance Group
Josh Berkus, Lead DeveloperJosh Berkus, Lead Developer
Mark WongMark Wong
Isabel Cristina Lopes, Maria Antonieta Isabel Cristina Lopes, Maria Antonieta Lucianetti, Edmundo Dotta, Attila Nagy, Lucianetti, Edmundo Dotta, Attila Nagy, Ébion MirandaÉbion Miranda
Análise comparativa de Análise comparativa de desempenho entre MySQL desempenho entre MySQL
e PostgreSQLe PostgreSQL
Fábio ÁvilaFábio Á[email protected]@itautec.cin.ufpe.br
http://itautec.cin.ufpe.br/http://itautec.cin.ufpe.br/
Maio/2006Maio/2006
4141
Referências Bibliográficas Gray, J. Benchmark Handbook: For Database and Gray, J. Benchmark Handbook: For Database and
Transaction Processing Systems, Morgan Kaufmann Transaction Processing Systems, Morgan Kaufmann Publishers Inc. San Francisco, CA, USA, 1992.Publishers Inc. San Francisco, CA, USA, 1992.
OSDL Database Test 2 (DBT-2OSDL Database Test 2 (DBT-2TMTM))
http://www.osdl.org/lab_activities/kernel_testing/osdl_databhttp://www.osdl.org/lab_activities/kernel_testing/osdl_database_test_suite/osdl_dbt-2/ase_test_suite/osdl_dbt-2/
OSDL Database Test SuiteOSDL Database Test Suitehttp://www.osdl.org/http://www.osdl.org/
Sourceforce, 2006, "The Open Source Database Sourceforce, 2006, "The Open Source Database Benchmark" - http://osdb.sourceforge.net/Benchmark" - http://osdb.sourceforge.net/
PolePosition – The Open Source Database BenchmarkPolePosition – The Open Source Database Benchmarkhttp://www.polepos.org/http://www.polepos.org/
4242
Referências Bibliográficas
Itautec S/AItautec S/Ahttp://www.itautec.comhttp://www.itautec.com
Fedora ProjectFedora Project
http://www.fedora.redhat.comhttp://www.fedora.redhat.com PostgreSQLPostgreSQL
http://www.postgresql.orghttp://www.postgresql.org Zaitsev, P., Asplund T. Advanced Innodb Zaitsev, P., Asplund T. Advanced Innodb
Optimization, MySQL Users Conference 2005.Optimization, MySQL Users Conference 2005.http://www.mysqluc.comhttp://www.mysqluc.com
Power PostgreSQLPower PostgreSQLhttp://www.powerpostgresql.com/http://www.powerpostgresql.com/