Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

O que é a compressão de dados?

Este é um recurso que pode ser utilizado com o Protheus para melhorar a performance e otimizar o consumo de espaço em disco do banco de dados. Com isto, você pode reduzir o tamanho do banco de dados em até 70%, ganhando agilidade na leitura, escrita e no tempo de restore. 

Nota
titleAtenção: Tipos de compressão

Alguns dos métodos utilizados no teste e expostos nesta página fazem parte do pacote Oracle Advanced Compression (disponível a partir da versão 12c), que deve ser contratado à parte com o fabricante. Confira a página do fornecedor sobre a compressão avançada e o data sheet disponibilizado. Além destas páginas também há um artigo no blog da Oracle sobre a compressão.

Tipos de compressão de dados no Oracle

Oracle Advanced Compression

Esta feature está disponível a partir da versão 9i, tendo alguns métodos disponíveis a partir da versão 12c. 

A compressão basic é disponibilizada com a licença Enterprise do Oracle, e não representa custos à parte deste licenciamento para uso; já o pacote Oracle Advanced Compression contempla diferentes tipos de compressão. Dentre estes, foram avaliados os tipos Advanced Row Compression e Advanced Index Compression, nos níveis Low e High.

Aviso

Não há opções de compressão para edições Standard das databases. Antes de realizar qualquer operação de compressão, verifique junto ao fornecedor se isto representará algum custo adicional. A TOTVS não se responsabiliza por custos adicionais causados pelo uso das features descritas nesta página.

Expandir
titleTipo Tipos de compressão e licenciamento

Conforme constatado abaixo, não há opção de compressão para databases Standard. Para mais informações sobre features e licenciamento, consulte a documentação do fabricante.

Exibindo Nota fotográfica


Quais são os benefícios da compressão de dados?

Há uma redução significativa no espaço em disco consumido, bem como diminuição de quantidade de I/O, otimizando o desempenho de instruções SELECT e DELETE.

Quais os impactos da compressão de dados?

Além do descrito acima, é provável o aumento do consumo de CPU na máquina de banco de dados. 

O tipo de compressão escolhida influencia na frequência de manutenções e execuções de script na base de dados. Antes de executar qualquer manutenção, meça o esforço necessário para o gerenciamento da base com compressão aplicada.

Qual tipo de compressão utilizar?

Foram avaliadas as seguintes opções: Basic Table Compression, Advanced Row Compression e Advanced Index Compression.

Totvs custom tabs box
tabsCompressão básica, Compressão avançada, Removendo a compressão
ids01,02,03
Informações

Os scripts disponibilizados realizam um select em sua base de dados. Selecione o resultado do select e, com acompanhamento de um DBA, execute o retorno para que a compressão seja efetuada.

Totvs custom tabs box items
defaultyes
referencia01

A compressão básica para tabelas (Basic Table Compression) é disponibilizada com a versão Enterprise do Oracle e não tem custo adicional para ser utilizada. Esta atua somente em cargas diretas (ALTER TABLE), e não nos dados carregados com operações DML (Insert, Updates) que é o padrão de alteração de um ERP. Portanto, é importante ressaltar que isto demandará manutenções frequentes na base de dados. Caso seja possível realizar paradas frequentes em seu ambiente para manutenções periódicas, este tipo de compressão pode atender, tendo o custo do esforço para executá-la. Sempre consulte um DBA para avaliação do ambiente e estudo do impacto de uma alteração em sua base de dados.  


Expandir
titleScript para a compactação básica de tabelas
Bloco de código
languagesql
set pagesize 0
set feedback off
select 'ALTER TABLE '||owner||'.'||table_name||' MOVE COMPRESS;' 
from dba_tables 
where OWNER='%schema%';
Totvs custom tabs box items
defaultno
referencia02
Aviso
titleAtenção

A compressão avançada é uma feature adicional, contratada separadamente com o fornecedor.

Este tipo de compressão se adequa melhor à ambientes OLTP (On-Line Transaction Processing), ou seja, sistemas transacionais, e compacta dados manipulados por quaisquer operações SQL.

Expandir
titleScripts para a compactação avançada
Bloco de código
languagesql
titleRebuild com compressão avançada de índices
set pagesize 0
set feedback off
select 'alter index '||owner||'.'||index_name||' rebuild COMPRESS ADVANCED HIGH;' 
from dba_indexes
where OWNER='%schema%'
and index_name not LIKE '%$$%';
Bloco de código
languagesql
titleCompressão avançada de tabelas
set pagesize 0
set feedback off
select 'ALTER TABLE '||owner||'.'||table_name||' MOVE ROW STORE COMPRESS ADVANCED;'
from dba_tables 
where OWNER='%schema%';
Totvs custom tabs box items
defaultno
referencia03

A remoção da compressão de dados pode ser necessária em determinados casos, por exemplo, ao migrar uma base de dados para outra versão ou para uma instalação que não possua o licenciamento necessário desta feature. Nestes casos, disponibilizamos os scripts para a remoção da compressão.

Expandir
titleScripts para a remoção da compactação
Bloco de código
languagesql
titleRebuild de índices removendo a compressão
set pagesize 0
set feedback off
select 'alter index '||owner||'.'||index_name||' rebuild NOCOMPRESS;' 
from dba_indexes
where OWNER='%schema%'
and index_name not LIKE '%$$%';
Bloco de código
languagesql
titleRemovendo a compressão de tabelas
set pagesize 0
set feedback off
select 'ALTER TABLE '||owner||'.'||table_name||' MOVE NOCOMPRESS;' 
from dba_tables
where OWNER='%schema%';