Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate.

Estabelecendo comparativos entre bancos de dados
Este artigo apresenta padrões adotados por sistemas de benchmark. Além de detalhar os diferentes tipos de benchmark, o artigo descreve detalhes de versões anteriores visando estabelecer uma relação com os novos recursos dos bancos de dados e os testes feitos pelos benchmark. Ao longo do artigo serão abordados detalhes de como desenvolver uma ferramenta capaz de comparar bancos de dados, levando-se em conta padrões definidos pelo Conselho de Processamento de Transações (TPC Transaction Processing Council).

Em que situação o tema útil
Para quem deseja conhecer os tipos de benchmark padronizados para bancos de dados e desenvolver seu próprio comparativo.
Além disso, para realização de testes no SGBD, nem sempre é possível simular o comportamento do sistema sem a utilização do trabalho de muitos usuários. Visando apresentar formas de resolver este tipo de problema e simular o sistema, este artigo apresentada detalhes para desenvolver uma ferramenta que cria tabelas, insere registros, estabelece relacionamentos e, por fim, realiza operações diversas no banco de dados. Com isso, o leitor pode desenvolver testes personalizados para verificar o comportamento do seu sistema em diferentes bancos de dados.

Com o grande número de sistemas gerenciadores de bancos de dados disponíveis atualmente, é bem comum a pergunta: qual SGBD devo utilizar para meu sistema? A resposta para esta pergunta exige uma análise detalhada das funcionalidades que serão necessárias. Cada SGBD possui particularidades, sendo assim o SGBD que atende uma situação específica pode não atender uma outra situação, pois as funcionalidades e exigências de uma situação podem divergir de outra.

Para responder tal pergunta é necessário, entre outras ações, colocar dois ou mais bancos de dados para funcionar e testar o seu “desempenho”, com relação a uma tarefa que será muito realizada no dia-a-dia do sistema.·.

Para auxiliar neste tipo de tarefa são utilizados softwares conhecidos como benchmark de desempenho. Estes softwares têm por objetivo medir quão bem um SGBD executa várias operações. Este tipo de software deve permitir ajustes de escala para simular uma situação real, com volume de dados e acessos concorrentes, desta forma colocando o SGBD frente a uma carga de trabalho (ler Nota DevMan 1).

Alguns bancos de dados incorporam testes juntamente com sua instalação, como é o caso do MySQL, que disponibiliza scripts na linguagem perl, e o PostgreSQL que disponibiliza um aplicativo chamado pgbench. Os benchmarks dos próprios bancos de dados não devem ser considerados para comparar um banco com o outro, mas sim para comparar o próprio banco em um hardware, rede ou número de acessos diferente.

Entre as funcionalidades de um benchmark temos o “desempenho de pico”, que pode ser medido em transações por segundo (tps), minuto (tpm), hora(tph) e “preço/desempenho”. Alguns benchmarks proprietários podem não colaborar para estabelecer um comparativo entre diferentes bancos de dados, mas sim colaborar para simular novas situações e apresentar o resultado de como determinado SGBD se comporta frente a uma exigência específica.

...
Quer ler esse conteúdo completo? Tenha acesso completo