Boa tarde a todos,

       Tenho uma dúvida quanto a implementação do vacuum na versão 8.3. 
Lendo na documentação vi que agora vários processos de vacuum vão rodar 
concorrentemente para que seja mais rápido tal processo, só que, esses 
múltiplos processos vão se basear na leitura dos datafile ou dos objetos 
do banco (tabelas/indices)?? Isso não ficou muito claro na palestra do 
David Fetter que rolou no PGCon.

       Vou expor o problema para que sugestões/idéias possam ser 
repassados.
        Estou desenvolvendo um sistema de tracking e fazendo alguns 
testes iniciais de carga vimos que teremos tabelas diarias com média de 
30MM de registros e com 10GB. Para esta solução usarei tabelas 
particionadas (criadas com INHERITS a partir de uma pai) e vou gravando 
os dados diários nessas tabelas por um périodo de dois meses (depois 
movo pra arquivo morto), só que nesse período precisarei do banco voando 
e para isso terei que contar com meu amigo vacuum para dar uma mãozinha. 
Em experiências anteriores com um FS muito grande o vacuum chegou a 
demorar 1 dia para rodar, isso porque desabilitei o auto vacuum que me 
gerava um load animal na máquina, então,  a minha idéia inicial foi:

       Caso o vacuum da versão 8.3 se baseie nos datafile e não nos 
objetos (assumi isso e nivelei por baixo) crio 2 FileSystem (1 tables e 
1 indexs) a cada dia e crio TABLESPACE em cima desses FS e crio toda a 
estrutura de tabelas compartilhadas em cima desses TABLESPACE. Agendaria 
processos no servidor para passar o vacuum full em tabelas DIA-1 (dia 
anterior), o que me daria mais performance já que o número de datafile 
que o vacuum teria que varrer seria MUITO menor e o SO controlaria para 
mim o buffer e a fila de i/o de cada FS independente e não teria 
problemas de ter lock na tabela, já que ela foi rotacionada. Só que isso 
demanda um sincronismo MUITO redondo por parte das aplicações para que 
não zoem minha tabela do fstab outras coisas e eu teria que correr esse 
risco.

       Vocês teriam alguma outra idéia, solução?

       Obrigado.

Leandro Damascena.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a