[firebase-br] shrink database

Gladiston Santana gladiston em vidy.com.br
Qui Dez 6 09:50:40 -03 2018


Olá Sofia,

Não se preocupe com isso, mas deixa-me explicar, ha um parâmetro no
firebird.conf chamado DatabaseGrowthIncrement que por omissão está ajustado
para 128M, toda vez que seu banco atinge um nivel de proximidade de
ocupação completa do BD, ele incrementa mais 128M e assim por diante.
Daí você vai apagando registros, e daí ocorre a ocupação do que foi
eliminado por novos registros, isso funciona, mas as vezes não do jeito que
esperamos.
As vezes, o comportamento do programa faz-se necessário disparar novos
incrementos porque os 128M vazios eram insuficientes, mas a taxa de
reocupação é baixa pelos critérios do Firebird. Deve-se lembrar que num
SGBD, o banco deve sempre ver qual é o custo mais alto de operação, então
se ele determinar que numa operação de população uma ocupação contígua é
melhor que preencher espaços livres fragmentados ele tomará essa decisão,
daí novos incrementos e mais espaço vazio. Não acho que haverá muitos
incrementos, chegará uma hora que estabilizará num tamanho razoável, mas
quando atigir porque o comportamento do seu programa não mudará, repetirá o
mesmo ciclo.
Fazer o backup/restore fará com que você tenha um banco enxuto com +1
espaço de incremento já aplicado, mas o comportamento do seu programa não
irá mudar,  então quando o ciclo se repetir, você correrá novamente a essa
solução que não é boa porque um banco novo é menos performatico do que um
em pleno uso que já tem estatisticas armazenadas e cache bem ajustado,
A solução ao meu ver, é ajustar melhor esse
parâmetro DatabaseGrowthIncrement com um valor maior para que esses
incrementos  na *minha opinião* ocorram em intervalos de meses.
Seu bd será inicialmente grande, mas terá poucos upgrades de incremento ao
longo da vida util e você concentrará no que na minha opinião é melhor, a
performance.

[]´s


Em qua, 5 de dez de 2018 às 18:58, Sofia Bonato de Moraes - EES <
sbonato em ees.com.br> escreveu:

> Boa tarde pessoal,
>
> O Firebird possui algum comando tipo shrink database para reajustar o
> espaço
> em disco?
>
> Obrigada.
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>


-- 
A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
na Melhoria Continua.

Em março de2018 migramos com sucesso para a nova versão da ISO 9001.

Somos a única Empresa Brasileira de Engenharia de Laboratórios com
certificação com o Escopo Completo; desde Projetos, Engenharia, Construção,
Fabricação e Instalação de Laboratórios.



Mais detalhes sobre a lista de discussão lista