sexta-feira, 4 de outubro de 2024

Raw Tables - Informix

Introdução

No mundo dos bancos de dados, a eficiência e a segurança dos dados são cruciais. O Informix, um sistema de gerenciamento de banco de dados da IBM, oferece diferentes tipos de tabelas para atender a diversas necessidades. Entre elas, as RAW TABLES se destacam por suas características específicas de não registro de operações. Neste artigo, exploraremos o que são RAW TABLES, suas vantagens, limitações e casos de uso.

O que são RAW TABLES?

As RAW TABLES são tabelas permanentes que não registram operações de inserção, atualização ou exclusão. Isso significa que as operações realizadas nessas tabelas não são registradas nos logs de transação do banco de dados. Essa característica as torna semelhantes às tabelas em um banco de dados sem registro.

Vantagens das RAW TABLES

  1. Desempenho Melhorado: Como as operações não são registradas, as RAW TABLES podem oferecer um desempenho superior em comparação com tabelas que registram todas as transações. Isso é particularmente útil durante a carga inicial de grandes volumes de dados.
  2. Simplicidade na Carga de Dados: As RAW TABLES são ideais para a carga e validação inicial de dados. Utilitários de carga, como dbexport, LOAD statement do DB-Access, ou o High-Performance Loader (HPL) em modo expresso, podem ser usados para carregar dados nessas tabelas.

Limitações das RAW TABLES

  1. Falta de Recuperabilidade: Como as operações não são registradas, não é possível recuperar dados de RAW TABLES em caso de falha, a menos que um backup de nível 0 tenha sido realizado após a última atualização.
  2. Restrições de Uso: Não é possível definir restrições de chave primária, chave única ou referencial em RAW TABLES. Além disso, essas tabelas não devem ser usadas dentro de transações.
  3. Incompatibilidade com Replicação: As RAW TABLES não são compatíveis com a replicação de dados e têm restrições em ambientes de cluster de alta disponibilidade.


Casos de Uso

As RAW TABLES são mais adequadas para cenários onde a carga inicial de dados é crítica e o desempenho é uma prioridade e também em procedures onde normalmente essas cargas são diarias. Após a carga e validação dos dados, é recomendável alterar a tabela para o tipo STANDARD e realizar um backup de nível 0 antes de usá-la em transações.

Exemplo de INSERT INTO em RAW TABLE

Vamos considerar um exemplo prático de como inserir dados em uma RAW TABLE. Suponha que temos uma PROCEDURE onde vamos atualizar essa RAW TABLE  constantemente  chamada raw_data com a seguinte estrutura:

  • Criar a tabela na PROC, onde ela será permanente.

CREATE RAW TABLE  IF NOT EXISTS raw_data (

id SERIAL,

name VARCHAR(50),

value INTEGER

);

  • Limpar os dados da tabela, toda vez que a PROC rodar:
TRUNCATE raw_data 

  • Para inserir dados nessa tabela, você pode usar o comando INSERT INTO da seguinte forma:

INSERT INTO raw_data (name, value) VALUES ('Exemplo', 123); ou

INSERT INTO raw_data (name, value)

SELECT name, value

FROM source_data; 

Este comando insere uma nova linha na tabela raw_data com os valores especificados para as colunas name e value.

Conclusão

As RAW TABLES no Informix oferecem uma solução eficiente para a carga inicial de dados, proporcionando um desempenho superior devido à ausência de registro de operações. No entanto, é importante estar ciente de suas limitações e usá-las adequadamente para garantir a integridade e a segurança dos dados. 

 


Nenhum comentário:

Postar um comentário