[firebase-br] Duvida com 2 bancos interligados.

Douglas Silva forum_firebird em daunebr.com
Seg Jan 18 12:34:05 -03 2010


I love this forum. Thank you.




________________________________
From: Sandro Souza <escovadordebits em gmail.com>
To: FireBase <lista em firebase.com.br>; Douglas Silva <forum_firebird em daunebr.com>
Sent: Mon, January 18, 2010 11:17:48 AM
Subject: Re: [firebase-br] Duvida com 2 bancos interligados.

Bom dia/tarde Douglas.

Grande Douglas, porque você não utiliza o NBackup para gerar backups incrementais (diferenciais)?

O primeiro backup seria o completo (nível 0) e os demais seriam apenas incrementais/diferenciais, contendo apenas as diferenças ocorridas desde o momento do último backup do nível anterior, fazendo com que você gaste muito menos tempo e espaço em disco.

Em uma empresa, eu desenvolvi uma ferramenta (em Delphi) que automatizou esse processo de backups, podendo atuar em mais de um banco de dados, cada um com o seu próprio conjunto de backups incrementais/diferenciais.

Inicialmente, ao cadastrar um novo banco de dados nessa ferramenta, ela já gerava um backup completo do banco (nível 0), e após isso, gerava os backups incrementais de acordo com cada período, ficando da seguinte forma:

O nível 1 era utilizado para os backups incrementais anuais, contendo apenas a diferença do banco em relação ao backup completo.

O nível 2 era utilizado para os backups incrementais mensais, contendo apenas a diferença do banco em relação ao último backup anual (nível 1).

O nível 3 era utilizado para os backups incrementais diários, contendo apenas a diferença do banco em relação ao último backup mensal (nível 2).

O nível 4 era utilizado para os backups incrementais horários, contendo apenas a diferença do banco em relação ao último backup diário (nível 3).

Dessa forma, o tempo gasto e o tamanho desses backups eram muito pequenos, principalmente se compararmos ao tempo e espaço em disco gastos em um backup completo.

Essa ferramenta também permitia a restauração do banco de dados para qualquer momento desejado, desde que fosse posterior ao momento inicial do backup inicial.

Na operação de restauração de banco, a ferramenta utiliza o próprio NBackup, informando a sequência correta de arquivos de backup a serem utilizados na restauração, para que o banco fique como estava exatamente naquele momento selecionado.

Na mesma linha de comando em que o NBackup é executado, era informado primeiramente o backup principal/completo (nível 0), depois o backup incremental do ano desejado (nível 1), depois o backup incremental do mês desejado (nível 2), depois o backup incremental do dia desejado (nível 3), e finalmente o backup incremental da hora desejada (nível 4).

O Nbackup restaura o backup principal (o primeiro informado) e vai aplicando as diferenças dos outros backups informados, na sequência em que foram informados.

Dessa forma, você poderia restaurar qualquer um dos bancos cadastrados, a qualquer hora desejada (após o momento do primeiro backup, é claro).

Espero que isso sirva de inspiração para idéias melhores, e que lhe seja útil de alguma forma.

Espero ter ajudado mais que atrapalhado. :D

Douglas Silva escreveu:
> Pessoal,
> 
> Eu tenho uma base de dados (1 banco) de 8gb. Ela embute 40 tabelas de dados mais 5 tabelas só de arquivos. Estas tabelas de arquivos contem blobs de tudo qto é tipo: pdf, xls, doc, jpg, bmp, png, gif, exe, zip, etc, enfim, qualquer tipo, sem restricao. Sao digamos arquivos relativos a documentos. Exemplo: um cliente pode ter logo ou um arquivo excel q é relacionado a ele. Um produto pode ter um desenho CAD, uma foto ou um arquivo excel com as medidas.
> 
> Tudo tem funcionado muito bem nestes 2 anos. Muito rapido, eficiente e simples pra quem usa. Mas o banco cresceu e estou tendo dificuldade para fazer os backups. Gosto de manter backups a cada 60min (24 arquivos), 24h (365 arquivos), semanal (4 arquivos), mensal (12 arquivos). Obviamente está impraticavel.
> 
> Eu estava pensando em dividir o banco em 2: dados & arquivos. Isto me deixaria 2 bancos: um banco com 100mb (dados) e ou outro com 7.9gb (files). No entanto na hora de dividir os dois, fico sem consistencia check na tabela de arquivos, uma vez que a Foreign Key tem q ser do mesmo banco. Exemplo: pra gravar um arquivo na tabela CLIENTES_FILES, o codigo do cliente (CLIENTE_ID) precisa ser checado na tabela CLIENTES.
> 
> Alguem ja passou por isto? Alguma dica?
> 
> Douglas.
> ______________________________________________
> 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://firebase.com.br/pesquisa
> 
>  


Mais detalhes sobre a lista de discussão lista