Oracle Advanced Compression

Propaganda
Oracle Advanced Compression
White paper Oracle
Abril de 2008
Oracle Advanced Compression
Introdução.......................................................................................................2
Oracle Advanced Compression.......................................................................2
Compactação de dados relacionais...............................................................3
Algoritmo inovador..............................................................................3
Benefícios da Compressão de Tabelas..............................................................4
Mínimo impacto na performance............................................................4
Compactação de dados não-estruturados.........................................................6
Desduplicação do SecureFiles.......................................................................6
Compactação do SecureFiles........................................................................7
Compactação de dados de backup...................................................................8
Compactação com o Oracle Data Pump........................................................................8
Compactação com o Oracle Recovery Manager...........................................................9
Compactação do tráfego de rede...........................................................10
Conclusão........................................................................................................11
Oracle Advanced Compression
INTRODUÇÃO
As empresas estão vivenciando uma explosão no volume de dados necessários para administrar os
negócios com eficácia. Essa tendência no crescimento dos dados pode ser atribuída a vários fatores
cruciais. Recentes mudanças no panorama regulamentar, como as legislações Sarbanes-Oxley e HIPAA,
estão intensificando essa tendência, obrigando as empresas a reter vastas quantidades de informações
por longos períodos. A distribuição em massa de conteúdo rico e multimídia na Internet, possibilitada
graças aos avanços das tecnologias de banda larga, também facilitam o crescimento do volume geral dos
dados. Impulsionando ainda mais a tendência exponencial desse crescimento está o advento da Web 2.0,
em que os aplicativos colaborativos promovem enormes quantidades de conteúdo gerado pelo usuário.
Segundo várias estimativas, o volume dos dados praticamente dobra a cada 2 a 3 anos.
Essa repentina explosão no volume de dados apresenta um desafio de gerenciamento aterrorizante para
os administradores de TI. O grande desafio são os custos de armazenamento crescentes. É verdade que
o custo por MB de armazenamento vem despencando nos últimos anos, mas o enorme crescimento no
volume de dados que precisam ser retidos online torna o armazenamento um dos maiores componentes
de custo do orçamento de TI. Além disso, a escalabilidade e performance dos aplicativos precisa
continuar atendendo às demandas dos negócios – mesmo diante da explosão no volume de dados.
O Banco de Dados Oracle 11g introduz o opcional Advanced Compression para ajudar os clientes a
lidar com esses desafios. As inovações nas tecnologias de compactação da Oracle ajudam os clientes a
diminuir os recursos e custos de gerenciamento de grandes volumes de dados. A introdução dessas
novas e fascinantes tecnologias vem em momento oportuno, à medida que os bancos de dados com
tamanho na casa dos terabytes, antes considerados uma novidade, estão se tornando predominantes nos
data centers empresariais.
ORACLE ADVANCED COMPRESSION
O opcional Advanced Compression do Banco de Dados Oracle 11g introduz um conjunto completo de
recursos de compactação para ajudar os clientes a maximizar a utilização de recursos e reduzir os custos.
Ele permite aos administradores de TI reduzir significativamente o tamanho do armazenamento de
banco de dados geral, possibilitando a compactação de todos os tipos de dados – sejam dados
relacionais normais (estruturados), não-estruturados (documentos, planilhas etc.) ou de backup. Além
disso, apesar de a economia no custo de armazenamento em geral ser vista como o benefício mais
palpável da compactação, as inovadoras tecnologias inclusas no opcional Advanced Compression foram
projetadas para reduzir os recursos necessários e os custos de tecnologia em todos os componentes da
infra-estrutura de TI, incluindo memória e largura de banda da rede.
Compactação de dados relacionais
A Oracle é uma das pioneiras na introdução da tecnologia de compactação de banco de dados. O Banco
de Dados Oracle 9i introduziu a Compactação de Tabelas há vários anos para permitir que os dados
fossem compactados durante operações de carregamento em massa, como carregamento de caminho
direto, CREATE TABLE AS SELECT…. (CTAS), etc. Esse formato de compactação era perfeito para
ambientes de data warehousing, em que a maioria dos dados é carregada no banco de dados usando
processos em lote. O Banco de Dados Oracle 11g introduz um novo recurso chamado Compactação de
Tabelas OLTP, que permite que os dados sejam compactados durante todos os tipos de operações de
manipulação, incluindo DML convencional, como INSERT e UPDATE. Além disso, o novo recurso
melhora significativamente a performance reduzindo o impacto das operações de gravação, sendo
adequado também para ambientes transacionais ou OLTP. Assim, essa inovação revolucionária estende
os benefícios da compactação a todas as cargas de trabalho dos aplicativos.
Convém observar que o recurso de Compactação de Tabelas introduzido no Banco de Dados Oracle 9i
é um recurso básico do Enterprise Edition (EE) e continua assim inclusive no Banco de Dados Oracle
11g. Entretanto, o novo recurso de Compactação de Tabelas OLTP faz parte do opcional Oracle
Advanced Compression, que precisa ser licenciado além do Enterprise Edition.
Algoritmo inovador
A Oracle usa um algoritmo de compactação exclusivo projetado especificamente para trabalhar com
dados relacionais. O algoritmo funciona eliminando valores duplicados em um bloco de banco de dados,
inclusive entre várias colunas. Os blocos compactados contêm uma estrutura chamada tabela de
símbolos que mantém os metadados de compactação. Quando um bloco é compactado, os valores
duplicados são eliminados primeiramente adicionando uma única cópia do valor duplicado à tabela de
símbolos. Cada valor duplicado é substituído por uma breve referência à entrada apropriada na tabela de
símbolos. Através desse design inovador, os dados compactados ficam autocontidos no bloco do banco
de dados, pois os metadados usados para converter os dados compactados em seu estado original ficam
contidos no bloco. Em comparação com os algoritmos de compactação da concorrência que mantêm
uma tabela de símbolos do banco de dados global, a abordagem exclusiva da Oracle oferece benefícios
de performance significativos porque não envolve I/O adicional ao acessar dados compactados.
Figura 1. Comparação entre o bloco compactado e o bloco não-compactado
Benefícios da Compactação de Tabelas
A proporção de compactação atingida em um determinado ambiente depende da natureza dos dados
sendo compactados, especificamente da cardinalidade dos dados. Em geral, os clientes podem esperar
reduzir o consumo do espaço de armazenamento em 2 a 4 vezes usando o recurso de compactação de
tabelas, ou seja, a quantidade de espaço consumido por um volume de dados descompactados será de
duas a quatro vezes maior do que a dos dados compactados. Os benefícios da compactação vão além
das meras economias no armazenamento em disco. Uma vantagem importante é a capacidade do Oracle
de ler os blocos compactados diretamente sem precisar antes descompactar o bloco. Portanto, não há
diminuição mensurável da performance ao acessar dados compactados. Aliás, em muitos casos a
performance pode melhorar devido à redução de I/O, já que o Oracle terá de acessar menos blocos.
Além disso, você pode obter um cache de buffer mais eficiente armazenando mais dados no cache sem
precisar aumentar o tamanho da memória.
Mínimo impacto na performance
Conforme mencionado acima, o recurso de Compactação de Tabelas não causa impacto negativo nas
operações de leitura. Entretanto, a compactação exige um esforço adicional durante a gravação dos
dados, tornando inevitável eliminar o impacto na performance para operações de gravação. A Oracle
empreendeu esforços significativos para minimizar esse impacto para a Compactação de Tabelas OLTP.
O Oracle compacta um bloco em modo de lote, em vez compactar dados toda vez em que ocorre uma
operação de gravação. Um bloco recém-inicializado permanece descompactado até que os dados no
bloco atinjam um limite controlado internamente. Quando uma transação faz com que os dados no
bloco alcancem esse limite, todo o conteúdo do bloco é compactado. Posteriormente, à medida que
mais dados são adicionados ao bloco e o limite é atingido mais uma vez, o bloco inteiro é recompactado
para atingir o nível mais alto de compactação. Esse processo se repete até que o Oracle determine que o
bloco não pode mais se beneficiar de compactação adicional. Somente as transações que disparam a
compactação do bloco sofrerão o mínimo impacto na compactação. Portanto, a maioria das transações
OLTP em blocos compactados terá exatamente a mesma performance que teria com os blocos
descompactados.
Figura 2. Processo de compactação de blocos
Bloco vazio
Bloco inicialmente descompactado
Bloco compactado
Bloco parcialmente compactado
Bloco compactado
Legenda
Dados de cabeçalho
Espaço livre
Dados descompactados
Dados compactados
Os gráficos a seguir ilustram o impacto da Compactação de Tabelas OLTP na performance de um
aplicativo real. Esses testes foram conduzidos nas dez maiores tabelas de um banco de dados de ERP:
Figura 3. Impacto da compactação na performance
Performance da varredura de tabelas
Tempo (segundos)
2,5 vezes mais rápido
Economia de armazenamento
MB
3 vezes menor
Performance de DML
Tempo (segundos)
Impacto inferior a 3%
Como fica evidente nesses gráficos, o Advanced Compression proporciona não só economias de
armazenamento significativas, como também melhorias de performance para cargas de trabalho com
leituras intensas. Para operações de DML, ele tem um impacto baixíssimo devido ao algoritmo de
compactação em lote exclusivo descrito anteriormente.
Como habilitar a Compactação de Tabelas
O exemplo a seguir mostra como a Compactação de Tabelas OLTP pode ser habilitada:
CREATE TABLE emp (
emp_id NUMBER
, first_name VARCHAR2(128)
, last_name VARCHAR2(128)
) COMPRESS FOR ALL OPERATIONS;
Da mesma maneira, a Compactação de Tabelas pode ser habilitada em ambientes de data warehousing
conforme mostrado a seguir. Esta é a sintaxe de compactação padrão:
CREATE TABLE emp (
emp_id NUMBER
, first_name VARCHAR2(128)
, last_name VARCHAR2(128)
) COMPRESS [FOR DIRECT_LOAD OPERATIONS];
Compactação de dados não-estruturados
O SecureFiles, um novo recurso do Banco de Dados Oracle 11g, oferece a melhor combinação de
arquiteturas para armazenar conteúdo não-estruturado, como documentos, planilhas e arquivos XML. O
SecureFiles foi projetado especificamente para oferecer alta performance em dados de arquivos
equivalente à de sistemas de arquivos tradicionais, ao mesmo tempo mantendo as vantagens do banco
de dados Oracle. O SecureFiles foi projetado como um superconjunto da norma ANSI LOB e oferece
fácil migração originária de antigos LOBs ou BasicFiles. Com o SecureFiles, as organizações agora
podem gerenciar todos os dados relacionais e dados de arquivos associados no Oracle usando um único
modelo de segurança/auditoria, um processo unificado de backup e recuperação, além de executar
pesquisa em todas as informações. O opcional Advanced Compression do Banco de Dados Oracle 11g
inclui tecnologias que reduzem drasticamente o tamanho do armazenamento dos dados do SecureFiles.
Desduplicação do SecureFiles
É extremamente comum os aplicativos armazenarem réplicas exatas dos arquivos. Um exemplo típico é
um aplicativo de e-mail em que vários usuários podem receber o mesmo anexo. A Desduplicação do
SecureFiles é uma tecnologia inteligente que elimina cópias duplicadas dos dados do SecureFiles. O
Oracle armazena uma única imagem dos dados do SecureFiles e substitui as cópias duplicadas pelas
referências a essa imagem. Considere um aplicativo de e-mail em que dez usuários recebem um e-mail
com o mesmo anexo de 1 MB. Sem a Desduplicação do SecureFiles, o sistema armazenaria uma única
cópia do arquivo para cada um dos dez usuários – exigindo 10 MB de armazenamento. Se o aplicativo
de e-mail de nosso exemplo tivesse usado a Desduplicação do SecureFiles, teria armazenado o anexo de
1 MB apenas uma vez. Isso representa economias de 90% nos requisitos de armazenamento. Além das
economias de armazenamento, a Desduplicação do SecureFiles também aumenta a performance do
aplicativo. Especificamente, as operações de gravação e cópia são muito mais eficientes porque somente
são gravadas referências à imagem do SecureFiles. Além disso, as operações de leitura podem melhorar
se os dados duplicados do SecureFiles já existem no cache de buffer.
Figura 4. Desduplicação do SecureFiles
Hash seguro
Como habilitar a Desduplicação do SecureFiles
A desduplicação pode ser habilitada para o SecureFiles conforme a seguir:
CREATE TABLE images (
image_id NUMBER,
image BLOB)
LOB(image) STORE AS SECUREFILE
(TABLESPACE lob_tbs DEDUPLICATE);
Compressão do SecureFiles
O opcional Advanced Compression do Banco de Dados Oracle 11g oferece mais um mecanismo para
controlar o tamanho dos dados do SecureFiles. Além da Desduplicação tratada anteriormente, a
Compactação do SecureFiles utiliza algoritmos de compactação para minimizar ainda mais o
armazenamento necessário aos dados do SecureFiles. A compactação de arquivos típicos, como
documentos ou arquivos XML, tem uma redução de 2 a 3 vezes no tamanho. Usando inteligência
incorporada, a Compactação do SecureFiles evita automaticamente a compactação de dados que não
obteriam benefícios – por exemplo um documento que foi compactado com uma ferramenta de
terceiros antes de ser inserido no banco de dados como SecureFile.
Atualmente, dois níveis de compactação são suportados, sendo que o nível mais alto atinge maior
compactação, porém exige mais utilização de CPU. O impacto típico da Compactação do SecureFiles na
CPU fica entre 3 e 5%. Os aplicativos ainda são capazes de executar leituras e gravações aleatórias nos
dados compactados do SecureFiles, porque os dados compactados estão divididos em pequenas
porções. Isso pode melhorar em grande medida a performance em comparação com a compactação de
arquivos inteiros antes de inseri-los no banco de dados.
Como habilitar a Compactação do SecureFiles
O exemplo a seguir mostra como a compactação pode ser habilitada para o SecureFiles:
CREATE TABLE images (
image_id NUMBER,
image BLOB)
LOB(image)STORE AS SECUREFILE
(TABLESPACE lob_tbs COMPRESS);
Compactação de dados de backup
Além de compactar dados armazenados no banco de dados, o Oracle Advanced Compression também
inclui o recurso de compactar dados de backup. O Oracle Recovery Manager (RMAN) e o Oracle Data
Pump são as duas ferramentas mais usadas para fazer backup dos dados armazenados no Banco de
Dados Oracle. O RMAN faz um backup de cada bloco dos dados do banco de dados, também
conhecido como backup “físico”, que pode ser usado para executar recuperação de banco de dados,
tablespace ou em nível de bloco. Em contrapartida, o Data Pump é usado para executar um backup
“lógico” descarregando dados de uma ou mais tabelas em um arquivo simples. O Oracle Advanced
Compression inclui a capacidade de compactar os dados de backup gerados por uma dessas ferramentas.
Compactação com o Oracle Data Pump
A capacidade de compactar os metadados associados a um trabalho do Oracle Data Pump é oferecida
no Banco de Dados Oracle 10g Release 2. No Banco de Dados Oracle 11g, esse recurso de compactação
foi estendido para que os dados de tabela possam ser compactados na exportação. A compactação com
o Data Pump é uma operação em linha, por isso o tamanho reduzido do arquivo de despejo significa
uma economia considerável no espaço em disco. Diferentemente de utilitários de compactação do
sistema de arquivos ou sistema operacional, a compactação do Data Pump é totalmente em linha na
importação também, por isso não é necessário descompactar um arquivo de despejo antes de importálo. Os conjuntos de arquivos de despejo compactados são descompactados automaticamente durante
uma operação de importação, sem exigir quaisquer etapas adicionais do administrador de banco de
dados.
No seguinte exemplo de compactação do banco de dados Oracle de amostra, os esquemas OE e SH
foram exportados enquanto compactavam simultaneamente todos os dados e metadados. O tamanho
do arquivo de despejo foi reduzido em 74,67%.
Três versões do utilitário gzip (GNU zip) e um utilitário de compactação UNIX foram usados para
compactar o conjunto de arquivos de depuração de 6,0 MB. A redução no tamanho dos arquivos foi
equivalente à da compactação com o Data Pump. Observe que a redução no tamanho dos arquivos de
despejo varia dependendo dos tipos de dados e de outros fatores.
A funcionalidade total do Data Pump está disponível usando um arquivo compactado. Qualquer
comando usado em um arquivo normal também funcionará em um arquivo compactado. Os usuários
têm as seguintes opções para determinar quais partes de um conjunto de arquivos de despejo devem ser
compactados:
• ALL permite a compactação de toda a operação de exportação.
• DATA-ONLY permite a gravação de todos os dados no arquivo de despejo em formato
compactado.
• METADATA-ONLY possibilita que todos os metadados sejam gravados no arquivo de
despejo em formato compactado. Esse é o padrão.
• NONE desabilita a compactação para toda a operação de exportação.
Para obter mais informações sobre o Oracle Data Pump, acesse
http://www.oracle.com/technology/products/database/utilities/index.html
Como habilitar a compactação com o Data Pump
O exemplo a seguir mostra como a compactação pode ser habilitada para o Data Pump:
expdp hr FULL=y DUMPFILE=dpump_dir:full.dmp COMPRESS;
Compactação com o Oracle Recovery Manager
O crescimento contínuo dos bancos de dados empresariais cria um enorme desafio para os
administradores de bancos de dados. Os requisitos de armazenamento para manter os backups de banco
de dados e a performance dos procedimentos de backup são afetados diretamente pelo tamanho do
banco de dados. O Oracle Recovery Manager (RMAN), um utilitário de backup e recuperação da
Oracle, introduziu recursos de compactação no Banco de Dados Oracle 10g. A compactação com o
RMAN oferece uma drástica redução no armazenamento necessário para backups. Devido à forte
integração do RMAN com o Banco de Dados Oracle, os dados de backup são compactados antes de
serem gravados em disco ou fita e não precisam ser descompactados antes da recuperação, oferecendo
uma enorme redução nos custos de armazenamento. Entretanto, a performance do backup é afetada
devido à grande proporção de compactação, resultando em maiores intervalos de backup.
O Oracle Advanced Compression introduz novos recursos de compactação que melhoram a
performance do RMAN, ao mesmo tempo reduzindo drasticamente o armazenamento necessário para
backups. Com base no algoritmo de compactação ZLIB padrão de mercado, os backups compactados
no RMAN são até 40% mais rápidos do que os backups compactados no Banco de Dados Oracle 10g. A
Oracle atinge essa drástica melhoria na performance enquanto reduz a proporção de compactação em
menos de 20%. A rápida compactação do RMAN é uma solução perfeita para backups incrementais
ocorridos durante o expediente de trabalho normal.
Os gráficos a seguir ilustram o impacto da compactação no tamanho e performance do backup do
RMAN. Esses testes foram conduzidos em um banco de dados de ERP real.
Figura 4. Compactação com o RMAN
Comparação do tamanho do backup
A compactação reduziu o tamanho do backup em 6 vezes.
Sem compactação
Compactação no 10g
Compactação no 11g
Comparação de velocidade do backup – I/O rápido (disco)
A compactação no 11g é quase 2,5 vezes mais rápida do que a compactação no 10g
Sem compactação
Compactação no 10g
Compactação no 11g
Comparação de velocidade do backup – I/O lento (fita)
A compactação no 11g reduz o tempo de backup em quase 3 vezes
Sem compactação
Compactação no 10g
Compactação no 11g
Esses gráficos demonstram que o opcional Advanced Compression do Banco de Dados Oracle 11g
oferece backups de RMAN compactados muito mais rápidos em comparação com o Banco de Dados
Oracle 10g. Isso ajuda a manter o intervalo de backup curto e reduzir o tamanho dos backups.
Como habilitar a compactação com o RMAN
A sintaxe para a rápida compactação no RMAN é esta:
RMAN> CONFIGURE COMPRESSION ALGORITHM ‘zlib’;
A compactação do RMAN pode ser executada da seguinte maneira:
RMAN> backup as COMPRESSED BACKUPSET database archivelog all;
Compactação do tráfego de rede
O Oracle Data Guard oferece a infra-estrutura de software de gerenciamento, monitoração e automação
para criar, manter e monitorar um ou mais bancos de dados de standby, a fim de proteger os dados
empresariais contra falhas, catástrofes, erros e corrupções de dados. O Data Guard mantém a
sincronização de bancos de dados principais e de standby usando dados de redo (as informações
necessárias para recuperar uma transação). Como as transações ocorrem no banco de dados principal, os
dados de redo são gerados e gravados nos arquivos de log de redo locais. Os Serviços de Transporte de
Redo do Data Guard são usados para transferir esses dados para o(s) local(is) de standby.
Indisponibilidades na rede ou no servidor de standby podem impedir que os dados de redo sejam
transportados para o servidor de standby. Quando a indisponibilidade é resolvida, o Oracle executa
automaticamente uma resolução de lacunas de redo, transportando todos os dados de redo necessários
para sincronizar o banco de dados de standby. O Oracle Advanced Compression introduz o recurso de
compactar os dados de redo conforme são enviados pela rede durante a resolução de lacunas. Através
dessa compactação, a largura de banda da rede é maximizada para aumentar a taxa de transferência da
resolução de lacunas, que pode ficar até duas vezes mais rápida com a compactação, garantindo que o
banco de dados de standby seja sincronizado rapidamente e a alta disponibilidade seja alcançada.
Para obter mais informações sobre o Oracle Data Guard, acesse
http://www.oracle.com/technology/deploy/availability/index.html
CONCLUSÃO
A explosão no volume de dados vivenciada pelas empresas apresenta desafios importantes. As empresas
precisam se adaptar rapidamente às mudanças no panorama dos negócios sem afetar os resultados finais.
Os gerentes de TI precisam gerenciar com eficiência sua infra-estrutura existente para controlar custos e
ainda continuar oferecendo extraordinária performance nos aplicativos.
O opcional Advanced Compression do Banco de Dados Oracle 11g fornece um conjunto robusto de
recursos de compactação que permitem aos gerentes de TI obter sucesso nesse complexo ambiente.
Utilizando o opcional Advanced Compression, as empresas podem gerenciar de maneira eficiente o
aumento nos requisitos de dados em todos os componentes do data center, minimizando os custos e ao
mesmo tempo continuando a alcançar os mais altos níveis de performance dos aplicativos.
Banco de Dados Oracle 11g
Oracle Advanced Compression
Abril de 2008
Autor: William Hodak
Colaboradores: Carol Palmer, Timothy Chien, Sushil Kumar, Ajeet Singh
Oracle Corporation
Filial Brasil
Av. Alfredo Egídio de Souza Aranha, 100 – 5º andar
Chácara Santo Antônio – São Paulo – SP – 04726-170
Brasil
Telefone para contato: 0800-891-4433
Internet: www.oracle.com/br
Copyright © 2007, Oracle. Todos os direitos reservados.
Este documento é fornecido com propósito meramente informativo, e as informações aqui contidas estão sujeitas a alterações sem prévio aviso.
Este documento pode não estar isento de erros, nem está sujeito a nenhuma outra garantia ou condição, seja expressa oralmente ou implícita pela
lei, incluindo garantias implícitas e condições de comercialização ou adequação a um propósito específico. A Oracle especificamente se isenta de
qualquer responsabilidade com respeito a este documento. Nenhuma obrigação contratual é estabelecida direta ou indiretamente por este
documento. Este documento não pode ser reproduzido ou transmitido de forma ou meio algum, seja mecânico ou eletrônico, para nenhuma
finalidade, sem autorização prévia expressa por escrito.
Oracle é uma marca registrada da Oracle Corporation e/ou de suas afiliadas. Outros nomes podem ser marcas comerciais de seus respectivos
proprietários.
Download