[firebase-br] shrink database

Eder edercotta em gmail.com
Qui Dez 13 13:24:11 -03 2018


Obrigado pela resposta.

No caso mencionado anteriormente a tabela é exclusiva para BLOB.

Utilizamos o campo BLOB para armazenar arquivos .XML de NFs.  O detalhe é
que a tabela possui dois campos BLOBs, XML de envio e retorno.

Fiz alguns testes para identificar o impacto desta tabela no tamanho do
banco.

O tamanho físico do banco era de 16GB.
Page Size configurado com valor 4096.

O Database Analyst mostrou que o size da tabela é 748mb.

Fiz BACKUP e RESTORE no banco, reduziu de 16GB para 13GB em disco. O Database
Analyst mostrou que o size da tabela caiu para 723mb.

Para entender o quanto essa tabela representa em disco, executei o DROP,
realizei BACKUP e RESTORE no banco. O tamanho do banco reduziu de 13GB para
2GB.

Conclusão: a tabela está ocupando cerca de 11GB em disco.

Se puder me apontar uma direção para reduzir o tamanho em disco,
agradeço muito.

Abraços!

Em qui, 13 de dez de 2018 às 10:47, Carlos H. Cantu <listas em warmboot.com.br>
escreveu:

> Em resumo: transações presas por muito tempo impedem a coleta de lixo,
> portanto, o lixo vai acumulando e o espaço ocupado por ele só será
> reaproveitado após a coleta de lixo ser executada com sucesso.
>
> Blobs podem fragmentar os dados nas páginas do banco. Se esse é o
> caso, o recomendado é criar uma tabela só para armazenar os blobs, e
> fazer um link de 1 para 1 com a outra tabela relacionada.
>
> PS: Transações ReadCommited + ReadOnly não impedem a coleta de lixo.
>
> PS/2: Por questões de segurança, a lista não permite anexos.
>
>
> []s
> Carlos H. Cantu
> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>
> E> Bom dia a todos,
>
>
> E> Carlos H. Cantu, poderia citar um exemplo de mau uso do controle
> E> transacional que poderia causar o aumento demasiado de tamanho do banco
> de dados?
>
>
> E> Gostaria de entender melhor como otimizar o uso de espaço para
> E> tabelas com campo BLOB. Não encontrei tópicos falando especificamente
> do assunto.
>
>
> E> Tenho casos em que o Database Analyst apontou que o RealFill da
> E> tabela está com valor 4. Se aumentar o tamanho da página consigo
> E> reduzir o espaço alocado em disco para um banco de dados já populado?
>
>
> E> Em anexo o resultado da ferramenta Database Analyst.
>
>
> E> Abraços!
>
>
>
>
> E> Em sáb, 8 de dez de 2018 às 11:00, Carlos H. Cantu
> E> <listas em warmboot.com.br> escreveu:
>
> E> O fato do banco não "enxugar" não é um problema, e sim um benefício. É
> E>  sempre mais rápido reaproveitar um espaço previamente alocado do que
> E>  solicitar ao SO pra alocar mais espaço no disco.
>
> E>  Se o seu banco está aumentando de tamanho demasiadamente, sugiro que
> E>  reveja seu controle transacional, pois possivelmente a coleta de lixo
> E>  não está conseguindo fazer seu papel satisfatoriamente, impedindo que
> E>  o espaço ocupado pelo "lixo" seja reaproveitado como deveria.
>
> E>  []s
> E>  Carlos H. Cantu
> E>  eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
> E> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>
>  GB>> Também gostaria que existisse algo nesse sentido, pois o banco nunca
> reduz
>  GB>> o tamanho, apenas aumenta e vai ficando "inchado". Aqui na empresa,
>  GB>> acabamos tendo que agendar um procedimento de backup/restore para os
>  GB>> clientes maiores, executado no início do dia no servidor a cada X
> dias
>  GB>> (conforme a quantidade de movimentações).
>
>  GB>> Seria interessante não ter que recriar todo o banco, o que considero
> um
>  GB>> procedimento drástico, visto que se acontecer qualquer imprevisto no
>  GB>> restore, o cliente fica com um banco incompleto e inutilizável.
>
>  GB>> Em qua, 5 de dez de 2018 20:55, centriscorps em gmail.com <
>  GB>> centriscorps em gmail.com escreveu:
>
>  >>> Você consegue reajustar o espaço em disco fazendo o famoso backup e em
>  >>> seguida restore.
>  >>>
>  >>> Renato
>  >>>
>  >>> Em qua, 5 de dez de 2018 às 18:57, 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
>  >>> >
>  >>> ______________________________________________
>  >>> 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
>  >>>
>  GB>> ______________________________________________
>  GB>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>  GB>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>  GB>> http://www.firebase.com.br/fb/artigo.php?id=1107
>  GB>> Para consultar mensagens antigas:
>  GB>> http://www.firebase.com.br/pesquisa_lista.html
>
>
> E>  ______________________________________________
> E>  FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> E>  Para saber como gerenciar/excluir seu cadastro na lista, use:
> E> http://www.firebase.com.br/fb/artigo.php?id=1107
> E>  Para consultar mensagens antigas:
> E> http://www.firebase.com.br/pesquisa_lista.html
>
>
>
>
> ______________________________________________
> 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
>


-- 

*Eder Pelinçari*
Software engineer / Project Manager
"Se você esperar pelas condições perfeitas, nunca vai fazer nada."



Mais detalhes sobre a lista de discussão lista