[firebase-br] Ainda sobre SWEEP (Firebird) e VACUUM (PostgreSQL)

André Medeiros andre em solucaoinf.srv.br
Qua Out 4 08:29:56 -03 2006


Ok...
----- Original Message ----- 
From: "Carlos H. Cantu (TeamFB)" <listas em warmboot.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, October 03, 2006 5:36 PM
Subject: Re: [firebase-br] Ainda sobre SWEEP (Firebird) e VACUUM 
(PostgreSQL)


Ok, eu deveria ter especificado que o lock soh acontece no VACCUM
FULL.

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

WC> Olá a todos.

WC> Muito bacana essa discussão sobre VACUUM e SWEEP. E muito bacana a
WC> explicação do Eduardo Jedliczka sobre páginas. Interessantíssimo.

WC> Não quero criar flames - atualmente sou usuário do PostgreSQL e acho o
WC> Firebird também interessante.

WC> Porém o Cantu levantou alguns pontos que gostaria de falar sobre:

WC> "No entanto, o PostgreSQL é bem mais complexo de se configurar e dar
WC> manutenção, não existe nem um décimo das ferramentas e componentes de
WC> acesso que o Firebird tem, e o processo de limpeza do banco (chamado
WC> por eles de VACCUUM) exige conexão exclusiva com o banco.

WC> Tire suas próprias conclusões."

WC> Bom: O VACUUM NÃO exige conexão exclusiva com o banco. O VACUUM puro usa 
um
WC> lock chamado ShareUpdateExclusiveLock (quem quiser curiar o fonte do
WC> PostgreSQL, está em lock.h). Do manual:

WC> "O  VACUUM simples (sem o  FULL) simplemente reclama espaço e o torna
WC> disponível para reutilização. Essa forma de comando pode operar em 
paralelo
WC> com a leitura e escrita na tabela, já que um lock exclusivo não é 
obtido. O
WC> VACUUM FULL faz um processamento mais extensivo, incluindo mover tuplas 
nos
WC> blocos para tentar compactar a tabela ao número mínimo necessário de 
blocos
WC> no disco. Essa forma é mais lenta e requer um lock exclusivo em cada 
tabela
WC> enquanto está sendo processado"

WC> Ora, o VACUUM pode ser usado concorrentemente com INSERTS, UPDATES e
WC> DELETES, sem problema.

WC> O VACUUM FULL faz o que o Firebid só faz com um backup do banco - 
encolher o
WC> tamanho do banco. Nesse caso, um lock exclusivo e necessário - outras
WC> transações deverão esperar.

WC> No mais, eu, que uso Linux, tenho encontrado pouquissimas ferramentas 
para
WC> Firebird no Linux. Tem o Flamerobin, mais ainda é meio instável (e eu 
não
WC> sei C nem tenho tempo suficiente pra contribuir). No mais, há drivers 
ODBC,
WC> JDBC, conexão com python, php e o que mais precisar no PostgreSQL.

WC> A dificuldade de administração tem sido mitigada. Hoje, já existe o
WC> auto-vacuum, embora ele venha desabilitado por padrão. E a dificuldade 
de
WC> configuração está diminuindo. A partir da versão 8.2, será possível
WC> configurar valores em MB ou KB, por exemplo.Isso e muito mais :). Sua
WC> aparente complexidade na configuração é decorrente de sua flexibilidade.

WC> Não me entendam mal - reitero: não quero causar flame-wars. Uso o
WC> PostgreSQL, acho o Firebird um banco bacana (inclusive comprei o livro 
do
WC> Cantu. Na época fiquei um mês desejando-o, e fiquei bem satisfeito com o
WC> conteúdo!). Porém é chato quando informações incorretas são divulgadas.

WC> (Me copiem no cc.. Estou em modo digest, só vou ler os e-mails de vocês 
sei
WC> lá quando..)

WC> []'s
WC> - Walter



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista