[firebase-br] Estrutura do FB [era: Garbage Collection e SWEEP ?????]

Marcio Roberto Chiaveli marcio.chiaveli em gmail.com
Ter Out 3 10:50:08 -03 2006


Obrigado Eduardo, me esclareceu bastante, era isso mesmo que eu
precisava entender. Quanto as páginas, qual seria um valor adequado ou
em que situação eu deveria altera-las.

2006/10/3, Eduardo Jedliczka (TeamFB) <jedyfb em gmail.com>:
> Marcio,
>
> Acredito que você terá muitas dúvidas iniciais, pois o FireBird utiliza um
> paradigma de estrutura e gerenciamento de dados muito diferente dos demais
> SGDBs.
>
> Ele trabalha com o conceito de páginas.
>
> Uma página contém informações diversas como: informações de metadata,
> tabelas de sistema, tabelas comuns, índices, stored procedures, triggers,
> views, etc..
>
> Uma página pode ter 1024 bytes, 2048, 4096, 8192 ou 16384 bytes.
>
> O banco gerencia sozinho quantas páginas ele precisa e de qual tipo precisa.
> Quando há falta de espaço, o arquivo Físico cresce, criando assim novas
> páginas. Sendo assim 1 página pode guardar informações de vários indices ou
> de um único índice, e um índice pode usar várias páginas. A mesma coisa vale
> para um registro de uma tabela. Ela pode estar numa única página, ou em
> várias páginas. E várias tabelas podem ter informações na mesma página.
>
> Quando um update é executado (ou um delete) as informações são armazenadas
> em locais diferentes dos utilizados originalmente, o que pode fazer com que
> o banco cresça um pouquinho, pois as informações antigas ainda são
> importates, pois o cara pode dar um rollback, ou alguém pode estar fazendo
> um relatório analítico de 900 páginas que precisa das versões. Isto é
> definido pela transação.
>
> Quando se cria uma transação (em FB todo e qualquer comando SQL, mesmo um
> select roda dentro de uma transação) o banco "congela" os dados, para que os
> dados continuem íntegros (mesmo que momentaneamente defasados).
>
>  Após concluir uma transação, seja via rollback ou via commit, o banco
> verifica quais lugares destas páginas não são mais necessários, e marca
> aquilo como LIXO.
>
> Por isto, quanto mais longa as transações, mais o banco vai crescer e ficar
> lerdo, pois haverá muitas versões dos mesmos dados.
>
>  O Sweep, processo de reorganização da página e liberação do "lixo", deve
> ser realizado com alguma freqüência, para o banco reaproveitar o espaço
> interno. No FB SuperServer, ele é automático (mas dá para desligar ou
> alterar o valor), e executado geralmente a cada 20 mil transações
> finalizadas. No FB classic, a coleta é feita a cada select que corre aqueles
> dados. Isto mantém o banco mais limpo, mas dependendo da quantidade de
> usuários, e lixo gerado, pode ficar muito mais lento que o SuperServer, mas
> há casos em que a recíproca também é verdadeira, pois haverá muitas versões
> concorrentes a menos, ou seja, o acesso será mais imediato.
>
> De qualquer forma, dá para usar o GFIX e fazer o Sweep num horário oportuno.
>
> Fazer o Garbage Colection no backup, indica basicamente que seu backup não
> irá levar informações desnecessárias (mas ele faz mais coisas), e NÃO É de
> forma alguma a mesma coisa que um SWEEP.
>
> Isto já deve te dar uma idéia inicial, qualquer coisa, é só perguntar.
>
> ======================
> Eduardo Jedliczka
> Membro do TeamFB - FireBase
> Apucarana - PR
> ======================
> "Posso não concordar com nada do que dizes.
> Mas defenderei até a morte o seu direito de dizê-lo"
> (Voltaire 1694-1778)
>
> ----- Original Message -----
> From: "Marcio Roberto Chiaveli" <marcio.chiaveli em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, October 03, 2006 9:46 AM
> Subject: Re: [firebase-br] [Firebase] Garbage Collection e SWEEP ?????
>
>
> Quando voce fala que o valor padrão para iniciar o sweep é 20.000, o
> que significa este valor?
>
> Em 02/10/06, Sandro<oleber_itajai em yahoo.com.br> escreveu:
> > O sweep é um processo de limpeza do banco de dados. Através dele, o
> > Firebird
> > libera espaços que não serão mais utilizados para que possam ser
> > reaproveitados no servidor. Diferente do processo automático de Garbage
> > Collection, o sweep processa também os registros que foram descartados
> > devido a um rollback de uma transação. O valor padrão para iniciar o sweep
> > automático é 20.000, ou seja, quando a diferença entre o ID da próxima
> > transação e a OIT for igual a 20.000, o sweep será disparado. Obviamente,
> > após o término do sweep, o número da OIT será avançado.
> >
> > Fonte : Dbfreemagazine
> >
> >
> > ----- Original Message -----
> > From: "Marcio Roberto Chiaveli" <marcio.chiaveli em gmail.com>
> > To: "FireBase" <lista em firebase.com.br>
> > Sent: Monday, October 02, 2006 3:51 PM
> > Subject: [firebase-br] [Firebase] Garbage Collection e SWEEP ?????
> >
> >
> > Boa tarde Pessoal,
> >
> > O que é Garbage Collection e SWEEP no FB.
> >
> > ______________________________________________
> > 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
> >
> >
> >
> > _______________________________________________________
> > Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
> > Registre seu aparelho agora!
> > http://br.mobile.yahoo.com/mailalertas/
> >
> >
> >
> >
> > ______________________________________________
> > 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
> >
>
> ______________________________________________
> 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
>
>
> ______________________________________________
> 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