FISL10: PgScript

By lgbassani

A palestra “Um Elefante de barriga cheia: alimentando bases de dados PostgreSQL com pgScript”  foi bastante técnica, mas muito simples de se entender e é muito fácil de ser utilizada.

O pgScript é um “filho” do Google Summer 2008 e faz parte do PgAdmin III do Postgresql 8.4, mas a príncipio pode ser usada em versões mais antigas do SGDB, como por exemplo 8.3, desde que o PgAdmin seja o mais recente. Foi escrito em C++ e também pode ser executado em shell (e não apenas no ambiente do PgAdmin III).

Além do PgScript existem outras soluções para gerar dados de testes para o PostgreSQL, entre elas (que pretendo estudar mais no futuro próximo):

- DBGEN, que foi escrito em ansy C e utiliza TPC-H benchmark para “popular” a base de dados;

- Generatedata.com: um aplicação web para realizar a função de gerador de dados, com possibilidade de baixar. Em uma análise rápida me pareceu bastante robusto e simples de instalar;

- Módulo Data::Faker do Perl: me pareceu bastante extensível e permite gerar dados mais realistas (e não totalmente aleatórios, como no caso do PgScript tradicional). Facilmente extensível;

- Datagen e Faker no Ruby;

- DBMonster e dgMaster para quem gosta de  Java.

Até pouco tempo atrás eu nunca tinha me preocupado muito com testes de desempenho em base de dados, pois geralmente as configurações padrões atendiam bem as nossas necessidades, mas um novo projeto está exigindo muito mais desempenho do SGDB do que o convencional. Chegamos ao ponto de um servidor Xeon Quadcore com 4GB de RAM não aguentar a carga de processamento com pouco menos de 100 máquinas com acessos simultâneo. Mas eu creio que estes testes na base de dados vão exigir mais do que estas ferramentas podem oferecer e vou ter que estudar melhor como fazer uma simulação baseada na aplicação, para conseguir um ajuste fino mais preciso nas variáveis do PostgreSQL. Contudo, algo é certo: essas ferramentas de geração de dados aleatórios são um bom ponto de partida.

Tags: , , ,

Deixe uma resposta