Boas, Tente usar a Base de dados do Geonames.com, http://download.geonames.org/export/dump/
Fica com uma base de dados com cerca de 1,5GB. Cumprimentos, 2010/7/22 Carlos Augusto Machado <[email protected]> > Caros, > > Continuando o assunto para que outros também contribuam... > > >>Estou fazendo meu TCC sobre melhoria de performance em BD implementados > >>sobre o PostgreSQL. > > Muito legal :) > >>O trabalho tem duas seções específicas, as quais estou começando a > >>desenvolver exemplos práticos: > >>- Otimização de índices > >>- Otimização de consultas > > Primeira dúvida. O que você chama de otimização de índices? Criação de um > > índice para ver se melhora a performance? > Quase isso, a idéia é criar novos índices para melhorar a performance, > porem, baseado no monitoramento do banco de dados. > Para tanto, preciso entender o que monitorar no banco para identificar > que indices criar. Talvez o pg_founie citado na resposta anterior possa > ajudar. > > >>Em ambos os casos, vou precisar monitorar um BD para apresentar os > >>problemas antes de otimizar, as soluções dadas e como ficou o desempenho > >>após a solução. > > > Você tem um banco de dados para isso? > Montamos um banco de dados baseado no estudo de caso de uma vídeo > locadora, porem achamos que este banco "não vai apresentar problemas". > Gostaríamos de ter um banco de uma aplicação real, mas não conseguimos > nenhum até o momento. > > >>Para isso, venho até a lista para pedir apoio e dicas. > >>Meu ambiente de trabalho é um notebook com Windows Seven, PostgreSQL > 8.4, > >>3GB RAM. > >>Também posso simular ambientes com máquina virtual rodando Windows XP ou > >>Linux. > > > Isso não seria problema. > Legal... > > >>Quanto ao monitoramento, pensei em usar uma ferramenta própria para essa > >>atividade. > > > Que tipo de ferramenta? > > > > Você já pensou em utilizar as views de sistema? > > > > - pg_stat_activity > > - pg_stat_user_tables > > - pg_stat_user_indexes > > > > Além disso tem o pg_fouine [1] onde você pode gerar as consultas > > utilizadas > > pelo sistema. > > Obrigado por essa indicação, comecei a ver essas views. Alguem tem mais > material demonstrando o uso delas? > > Como não terei a aplicação, apenas o banco de testes, terei de realizar > consultas arbitrarias. Correto? Alguma dica para gerar essas consultas? > > >>Estudei o BenchmarkSQL, porém ele analisa a configuração do ambiente e > >>hardware, usando um esquema de BD próprio para seu tipo de teste > (criando > >>tabelas próprias e definindo pesos para consultas). > > > Você pode usar o pgtune [2] para auxiliar e ajudar na configuração dos > > parâmetros de configuração. > O pg_fouine e o pgtune são somente para ambientes linux? ou rodam também > em windows? > > >>No entanto, se eu precisar analisar o BD de uma aplicação qualquer, > pelo que > >>entendi, o benchmarkSQL não vai ser tão útil. > >>Então pergunto, há alguma ferramenta que faça o monitoramento de um > BD já > >>existente? (PS. Preferencialmente livre e que rode em Windows). > > > Como assim ferramenta de um BD já existente? > Aqui a ideia é usar uma ferramenta para monitorar o banco de dados de um > sistema já existente (erp, automação comercial, etc.). > Pelas respostas anteriores o pg_fouine pode ser essa ferramenta, > monitorando as consultas do sistema. > > >>Uma alternativa que verifiquei é o uso do comando EXPLAIN. Esse > comando se > >>aplica mais para a otimização de consultas e, nesse caso, eu preciso > saber > >>antecipadamente quais as consultas que deverão ser analisadas. > > O comando EXPLAIN mostra o plano de execução de cada consulta, porém para > > ele funcionar bem é necessário que as estatísticas do banco estejam > > atualizadas, vide comando ANALYZE do PostgreSQL. > Ok. > > >>A dúvida é como descobrir quais são as consultas que precisam ser > analisada > >>em um BD qualquer. > > > Isso depende muito. Aconselho em primeiro lugar você aplicar o pg_fouine > > para ler as consultas geradas pela aplicação, a partir dai você tem que > > trabalhar nas consultas que podem trazer um ganho maior para um contexto > > global. > Ok. Neste caso as consultas que podem trazer um ganho maior > provavelmente são as que consomem mais tempo de processamento. > > >>Por fim, alguem sabe indicar onde poderia encontrar BDs PostgreSQL para > >>teste, sem precisar criar um ou mais específicos para o trabalho? > > > Isso é muito complicado, dificilmente você vai achar um banco pronto de > > testes para você aplicar testes de desempenho, eu iria sugerir você > > montar > > um ambiente para isso, e popular com bastantes dados as tabelas para > > ai sim > > pode trabalhar esta questão. > > > > Um bom ponto de início pode ser o pagila [3]. > > > > [1] http://pgfouine.projects.postgresql.org/ > > [2] http://pgfoundry.org/projects/pgtune/ > > [3] http://pgfoundry.org/projects/dbsamples/ > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
