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

Marcio Roberto Chiaveli marcio.chiaveli em gmail.com
Ter Out 3 11:36:30 -03 2006


Eduardo muito obrigado, entendi o que precisa entender.
Parabens e sucesso.

2006/10/3, Eduardo Jedliczka (TeamFB) <jedyfb em gmail.com>:
> Depende do objetivo do sistema.
>
> Páginas grandes logicamente cabem mais informações, e faz com que exista
> menos links para continuidade dos dados em outras páginas. Numa única
> leitura, mais dados vem para memória. Em resumo, melhor desempenho num
> select.
>
> Páguinas pequenas, forçam a adoção de mais páginas e links entre elas para
> armazenar os dados, com isto, haverá menos lixo em cada página, e menor
> desperdício de tempo para encontrar um lugar vago para guardar informações
> de um insert ou update. Em resumo, melhor desempenho para aplicações com
> muitas alterações.
>
> Além do tamanho da página, existe o tamanho do cluster do sistema
> operacional, para otimizar a leitura é recomendado que eles sejam do mesmo
> tamanho. Isto causa um impacto sutil no desempenho de um banco grande, e não
> é tão percepitível se o banco couber inteiro na memória (leia-se na cache do
> SO).
>
> Sendo assim, valor como 4KB é interessante (bem equilibrado), mas muitos
> dizem que 8KB geram melhor desempenho (geralmente se tem muito mais
> consultas do que inserts num banco de produção). Acho que o interessante é
> cada um testar o seu banco com configurações diferentes e chegar a uma
> conclusão.
>
> ======================
> 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 10:50 AM
> Subject: Re: [firebase-br] Estrutura do FB [era: Garbage Collection e
> SWEEP?????]
>
>
> 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
> >
>
> ______________________________________________
> 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