[firebase-br] Fazendo uma 'TableAspiração'
Guilherme Machado
guilherme.machado em faep.com.br
Seg Set 17 15:23:36 -03 2007
*Olá pessoal,*
Em nossa última reunião do departamento sentimos a necessidade de fazer
uma /TableAspiração/ em nosso banco de dados Firebird. Entendam por
/TableAspiração /o processo para redução de objetos sem uso na base de
dados.
Não temos um DBA responsável pela manutenção do banco, portanto, cada um
de nós assume a responsabilidade de se criar e apagar /tables,
procedures, triggers, domains, generators,/ etc. conforme a necessidade.
Isso é bom pois isso compartilha o conhecimento entre todos os
envolvidos no desenvolvimento e manutenção dos sistemas, por outro lado,
faz com que um número excessivo de objetos sejam criados com objetivos
de atender tarefas eventuais (como por exemplo desenvolvimento
relatórios que serão utilizados uma única vez). Quando nos atentamos a
isso normalmente apagamos essas /tabelas/procedures/ temporárias mas
muitas vezes essa tarefa de limpeza acaba no esquecimento.
Para terem uma pequena visão de nosso banco, de 5.1 GB, segue abaixo
alguns detalhes dos objetos mais numerosos:
- Número de tabelas: 360
- Número de procedures: 443
- Número de Triggers: 211
Para fazermos a /TableAspiração/ devemos identificar quais objetos foram
criados temporariamente para alguma tarefa eventual e quais objetos
estão relacionados a sistemas antigos que não estão mais em uso. Todos
esses objetos tem em comum um baixo número de acessos além de terem sido
acessados pela última vez há muito tempo (talvez 2 anos ou +).
Então pergunto se existe alguma estatística do Firebird que nos traga
detalhadamente o acesso aos objetos do banco de dados. Se não existir
que acham de sugerirmos isso aos desenvolvedores do Firebird?
Grande abraço e muito obrigado,
Guilherme Machado
Curitiba / PR
Mais detalhes sobre a lista de discussão lista