4D v16.3

Armazenamento externo dos dados

Página Inicial

 
4D v16.3
Armazenamento externo dos dados

Armazenamento externo dos dados  


 

 

Pode escolher onde guardar os dados de cada campo de tipo BLOB, Imagem e Texto. Além das opções de armazenamento internas (no registro ou no arquivo de dados), pode optar por armazenar estes campos fora do arquivo de dados. Neste caso, seus dados são guardados como arquivos externos que são gerenciados por 4D e podem ser gerenciados pelas aplicações de terceiros, sempre e quando você tenha a precaução de conservar a integridade dos dados.

Este princípio é transparente para o usuário: o acesso aos dados é o mesmo, independentemente de sua localização.

O armazenamento externo dos dados permite otimizar o funcionamento da aplicação, permitindo por exemplo transportar grandes volumes de dados ou acessar desde o sistema operativo aos textos ou as imagens contidas na base, inclusive quando não está aberta.

O suporte para o armazenamento externo de dados pode ser realizado de duas maneira:

  • Modo automático: neste modo, 4D cria e gerencia uma pasta por padrão, estruturada em uma forma específica e que contém todos os dados de armazenamento externo. Neste caso, estes dados se administram de maneira transparente e têm as mesmas funções e o funcionamento automático que para os campos armazenados internamente.
    Para ativar este modo automático, você pode:
    • Configurar o armazenamento externo no editor de estrutura (parâmetros guardados com a estrutura da base). Esta opção se descreve no .
    • Utilizar o comando SET EXTERNAL DATA PATH com uma cadeia vazia no parâmetro rota (configuração válida para a sessão). 
  • Modo personalizado: neste modo, você decide livremente o lugar onde se armazenam os arquivos externos para cada campo e cada registro. Neste caso, 4D conserva unicamente a relação entre o campo e seus dados e alguns dos mecanismos de base de dados já não estão disponíveis.
    O modo personalizado se ativa utilizando o comando SET EXTERNAL DATA PATH e indicando uma pasta (diferente a pasta por padrão) no parâmetro rota.

A seguinte tabela compara as funções e automatizações disponíveis nos modos automático e personalizado:

Modo automáticoModo personalizado
Configuração da pasta de armazenamentoNome e lugar definidos por 4D, só uma pasta por padrão para toda a baseNome e localização livres, pode ser diferente para cada campo
Criação, carga e registro dos arquivos externosAutomáticoAutomático
Supressão do arquivo externo se o registro é eliminadoSimNão
Supressão do arquivo externo se o valor nulo for atribuído ao campoSimNão
Integração automática quando é guardada a baseSimSim (rota externa)
Suporte automático durante a integração do arquivo de históricoSimSim (rota externa)
Suporte dos índices padrões (campos texto)NãoNão
Suporte dos índices de palavras chave (campos texto e imagem)SimNão
Suporte das transaçõesSimNão

Os dados armazenados fora do arquivo de dados são organizados de acordo com os seguintes princípios:

  • Para cada registro, os dados são armazenados em um arquivo externo chamado xxx.txt (campo de texto), xxx.blob (campos BLOB e objeto) ou xxx.jpg, xxx.tiff ... (campo de imagem, a extensão depende do tipo Imagem), onde xxx for um identificador exclusivo (UUID) gerido por 4D.
  • No modo automático, todos os dados externo são colocados em uma pasta chamada <NomDoBanco>. ExternalData onde <NomDoBanco> for substituído pelo nome da estrutura de banco de dados de arquivo. Esta pasta está localizada ao lado do arquivo de dados do banco (arquivo .4 DD).
  • Dentro dessa pasta, 4D cria uma pasta para cada tabela que possui dados externos (chamado "Tabela  + número da tabela"), então uma subpasta para cada campo externo (chamado "Campo + número do campo"). Os primeiros 100 elementos de campo são armazenados no primeiro nível desta pasta, os seguintes são armazenadas em subpastas numeradas a partir de "2", com cada subpasta contendo 100 itens. Por exemplo, se o campo No. 5 da tabela No.3 do banco de dados "Contabilidade" for armazenadado fora do arquivo de dados, a seguinte estrutura árvore for criada por 4D:
  • Contabilidade.4DD
    [Contabilidad
    .ExternalData]
        Tabela3
            Campo5
                Data_1B7F3A 56F6544B45951EFA60426D5ABC.txt
                Data_1B7F3A 56F6544B45951EFA60426D5CCC.txt
                ...
                2
                    Data_2ADBFBA478AAE4409DA9C2D13C90A53B.txt
                    Data_32F8A30B87EE7E4BBC802468D553DC43.txt
                    ...
  • Em modo personalizado, o nome e a localidade da pasta puder ter sido configurada livremente e se puder ter sido especificada separadamente para cada campo que for armazenado de forma externa vía o comando SET EXTERNAL DATA PATH. Esta configuração não for guardada na estrutura do banco de dados.

No modo automático, a escrita de campo em um arquivo externo é feita no momento do registro no disco (após a validação da transação se necessário):

  • Se o arquivo externo não existir: no modo automático, ele é criado; em modo personalizado, é devolvido um erro;
  • Se um arquivo externo já existir, 4D vai substitui-lo por um novo.
    Se você
    deseja manter o arquivo , você pode especificar um caminho diferente (usando o
    SET EXTERNAL DATA PATH), ou utilizando o comando RELOAD EXTERNAL DATA para carregar na memória o conteúdo do campo de seu arquivo externo antes de salvá-lo em disco novamente. Essa opção é útil quando o arquivo tenha sido modificado por outro aplicativo depois de carregar o registro.

O armazenamento de dados é um parâmetro local, em cada banco de dados. Durante a sincronização ou replicação (ver Replicação via SQL, estes parâmetros podem variar entre o banco de dados local e o banco de dados remoto Neste caso, o armazenamento está em conformidade com os parâmetros de cada banco de dados;. a sincronização ou replicação não as modifica.

Por exemplo, se um campo imagem do banco de dados remoto é salvo normalmente fora do arquivo de dados e este mesmo campo no banco de dados local é armazenado no arquivo de dados, quando ocorre a replicação, quaisquer dados adicionados a este campo no banco de dados local (no arquivo de dados) são armazenados fora do arquivo de dados no banco de dados remoto.

Arquivos de armazenamento externos são acessíveis em modo de leitura / escrita em outros aplicativos diferentes de 4D (sistemas operacionais, editores de texto ou gráficos, etc.). No entanto, isto deve ser feito com cuidado, já que eles podem alterar o funcionamento da aplicação:

  • Se um armazenamento externo arquivo é excluído, renomeado ou movido pelo sistema operacional ou uma aplicação de terceiros, 4D considera que o campo tem o valor nulo e no modo automático, o arquivo será criado de novo (se não for nulo) quando o registro for salvo. Em modo personalizado, um erro é gerado quando o comando SET EXTERNAL DATA PATH for executado.
  • Se você usar índices e  se os arquivos de armazenamento forem modificados por um aplicativo de terceiros, sem que os registros pai sejam reescritos no disco, os índices não são atualizados.

Nota: Os arquivos de texto externos são salvos no formato UTF-8 sem BOM. Se eles são abertos por um aplicativo de terceiros e, em seguida, salvos com BOM, ainda podem ser reaberto por 4D, mas serão salvos sem BOM.

Note-se que o carregamento de um registro em modo  "read-only"  não bloqueia os
arquivos externos dos campos deste registro. Esses arquivos ainda podem ser modificados no disco por 4D ou aplicativos de terceiros, embora o seu conteúdo tenha sido carregado na memória para 4D.

 
PROPRIEDADES 

Produto: 4D
Tema: Criar uma estrutura de banco de dados

 
HISTÓRIA 

Criado por: 4D v13

 
ARTICLE USAGE

Manual de Desenho 4D ( 4D v16)
Manual de Desenho 4D ( 4D v16.1)
Manual de Desenho 4D ( 4D v16.3)