Anterior Próximo Sumário Fale conosco! OpenBASE! o Banco de Dados inteligente.

Recursos adicionais do ambiente OpenBASE

Replicação assíncrona e backup incremental

Bancos de Dados OpenBASE podem ser espelhados (copiados) para uma outra máquina, funcionando como um backup incremental.

Sintaxe

No esquema do Banco, deve-se definir o arquivo conforme a seguinte sintaxe:

nome: arquivo e replicacao

Utilização

Ao se definir um esquema com a cláusula REPLICACAO ao lado do nome do arquivo, serão criados automaticamente três novos itens nesse arquivo conforme a seguinte tabela:

Nome do item

Tipo do item

DAT

T8

DEL

L1

CHA (0)

D7 pos (DAT+1)

Você poderá observar que:

Daí a necessidade de os arquivos replicáveis serem do tipo entidades (chave primária) ou do tipo relacionamento com pelo menos um item chave única.

Funcionamento

No servidor (máquina para onde serão replicados os dados)

nohup bdsrep &.

No cliente (máquina de onde vem os dados replicados)

bdcrep –h<host servidor> -b [percurso bd origem] <banco bd origem>
-r [percurso bd destino] <banco bd destino> [-s<seg>] [-n<nivel>]

Observações

Banco de dados distribuído com replicação

Para compreender os exemplos a seguir, imagine que os arquivos arq1, arq2 e arq3 estão presentes nas máquinas h1, h2 e h3 respectivamente e o arquivo arq1 também esta presente no servidor h2.

O esquema dist.esq referente ao Banco de Dados distribuído (denominado dist neste exemplo) é descrito a seguir.

banco dist 1    arqrecup distrib=h1

nome: arq1 e servidor=h1 replicação=h2

C1 (1)        N3

nome:arq2    R     servidor=h2

C2 (arq1)    N3

nome:arq3     E     servidor=h3

C3(0)        U03

O esquema dist.esq será compilado executando com o comando:

deficli –h h1 dist.esq

onde: h1 é o nome do servidor onde foi especificada a cláusula distrib.

Após a compilação do esquema, serão gerados os seguintes arquivos.

dist.B    Arquivo de bloqueio de banco de dados gerado nos servidores h1, h2, h3.

dist.R    Arquivo de recuperação gerados nos servidores h1,h2,h3.

dist.h    Dicionário de dados distribuídos. Gerados nos servidores h1,h2,h3.

dist.L    Arquivo de log que registra as transações ocorridas nos arquivos distribuídos pelos

servidores que compõem o banco distribuído, estando presente apenas no servidor h1.

O Banco de Dados distribuído presente no servidor h1, utiliza arquivos do servidor h1 (arq1), h2 (arq1/arq2) e h3 (arq3), sendo que o arquivo arq1, presente no servidor h1 é replicado, ou seja, qualquer alteração neste arquivo, é refletido no arquivo arq1, presente no servidor h2. Com isso, o arquivo arq1 do servidor h2, funciona como um backup on-line do arquivo arq1 no servidor h1, sendo útil em caso de pane no servidor h1.

Para funcionar corretamente a implementação de bancos distribuídos com replicação é necessário que o arquivo bdserv, esteja carregado em todas as máquinas (hosts) que participam do esquema do banco de dados distribuído. O arquivo bdsera, também deve ser carregado no servidor onde será compilado o banco de dados distribuído caso haja necessidade de se garantir a integridade referencial dos arquivos (presença de chave estrangeira).

Arquivos transpostos

O OpenBASE …

O que é arquivo transposto …

Um arquivo transposto é definido especificando-se ao lado do nome e tipo a opção transposto ou especificando-se $CONTROLE TRANSPOSTO quando todos os arquivos serão transpostos.

O arquivo de dados será criado com o cabeçalho e 1 byte para indicar registros excluídos. Para cada item será criado um arquivo com nome nnn<arq>. O formato do arquivo será relativo acessando-se um valor na posição (n-1)*t onde n é o número do registro e t o tamanho dos valores em bits.

Definição de itens em arquivos transpostos

Na definição do item pode ser especificado um "domínio" para definir a compressão dos valores. O domínio pode ser uma lista de valores ou intervalo para itens numéricos.

Se especificada uma lista de valores (para tipos U, I, N, P e D) serão atribuídos bits para representar estes valores: 1-2 valores 1 bit, 3-4 valores 2 bits, etc.

Se especificado um intervalo (para tipos N, I, P e D) será compactado o valor segundo o intervalo, 1-2 1 bit, 3-4 2 bits etc.

Exemplo

nome: arqtran e transposto

item1 (0)    n3

sexo    u1 valores (m,f)

idade    n2 intervalo (0-99)

Anterior Próximo Sumário Fale conosco! OpenBASE! o Banco de Dados inteligente.