[firebase-br] Duvida com 2 bancos interligados.

Sandro Souza escovadordebits em gmail.com
Seg Jan 18 11:17:48 -03 2010


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