Particionamento no Oracle – Parte 4: Funcionalidades adicionais
O artigo trata de técnicas de particionamento de objetos no banco de dados para garantir melhor performance e gerenciamento de informações em ambientes que apresentam tabelas gigantescas ou mesmos em ambientes menores, mas que se beneficiam da estrutura do particionamento. Especificamente serão tratadas funcionalidades adicionais que aumentam mais e mais a versatilidade da utilização de particionamento no banco de dados. Estas funcionalidades adicionais contribuem para o desenho de soluções robustas e também auxiliam na economia espaço físico nos dispositivos de armazenamento.


Em que situação o tema é útil
Em situações em que as funcionalidade básicas de particionamento não oferecem toda a robustez necessária para a aplicação de algumas das funcionalidades adicionais aqui apresentadas. Também é útil em situações onde o espaço físico para armazenamento é limitado e existe a necessidade de economia de espaço, porém o fator desempenho não pode ser deixado de lado. Nestes casos algumas das funcionalidades adicionais aqui apresentadas serão de grande ajuda.

Quando se fala em projetar uma solução completa para ganho de performance ou controle do ciclo de vida de uma informação a Oracle realmente lhe entrega o que promete. Através de uma boa gama de funcionalidades para a utilização de particionamento de tabelas, o banco de dados ganha muita força para alcançar os objetivos determinados.

A possibilidade de utilização de mais de uma coluna como chave de particionamento vem totalmente de encontro com esse objetivo. Caso se depare com uma situação em que uma única chave não é suficiente para definir um particionamento aceitável, outra (ou outras) chave de particionamento pode ser utilizada, além da já conhecida solução de subparticionamento.

Agora imagine uma situação em que a chave de particionamento ideal não é uma das colunas presentes na tabela, mas sim o resultado de uma operação matemática entre duas dessas colunas, por exemplo. Como isso é possível? Através da utilização de colunas virtuais. E como fica o particionamento? Sem problemas, pois o banco de dados Oracle permite que uma coluna virtual seja utilizada como chave de particionamento.

Mas a Oracle se preocupa também com a economia de espaço em disco. Apesar do barateamento cada vez maior de dispositivos de armazenamento, o crescimento do volume de informações armazenadas continua sendo exponencial e, acredite ou não, armazenamento pode ser um fator limitante para uma aplicação. Com base neste cenário, a Oracle disponibiliza a funcionalidade de compressão de dados e índices também para tabelas e índices particionados, auxiliando na solução deste problema de espaço em disco.

E também, ainda nesta mesma linha, o banco de dados Oracle também permite que uma partição seja criada mas que a estrutura de armazenamento seja alocada apenas no momento em que a mesma será efetivamente usada, ou seja, dados sejam inseridos. Do contrário, a estrutura é criada apenas de maneira lógica, no dicionário de dados, mas o espaço em disco não é consumido até que seja realmente necessário.

Na primeira parte desta série de artigos vimos os principais conceitos sobre particionamento no banco de dados Oracle e iniciei a apresentação de estratégias de particionamento. As estratégias apresentadas foram de particionamento de nível único do tipo range (intervalo) e list (lista). No segundo artigo apresentamos a terceira estratégia de particionamento de nível único, do tipo hash e também apresentamos algumas estratégias de particionamento composto dos tipos: range-range, range-list, range-hash e list-list.

Na sequência, apresentamos as cinco estratégias finais de particionamento composto no terceiro artigo da série. Foram as estratégias: list-range, list-hash, interval-range, interval-list e interval-hash. Neste artigo apresentaremos mais funcionalidades presentes quando se fala em trabalhar com particionamento no banco de dados Oracle. O leitor irá perceber que, com estas funcionalidades adicionais, mais versatilidade é oferecida para a construção de uma solução completa e com alto grau de desempenho.

Dentre estas funcionalidades adicionais posso citar:

· Utilização de várias colunas como chave de particionamento;

· Particionamento baseado em colunas virtuais;

· Utilização de compressão de tabelas para tabelas particionadas;

· Utilização de compressão de chaves para índices particionados;

· Utilização de partições com segmentos.

img

Utilizando mais de uma coluna como chave de particionamento

Para tabelas particionadas por range ou por hash é possível especificar até 16 colunas para compor a chave de particionamento. Esta funcionalidade é conhecida como Multicolumn Partitioning Key ou Chave de Particionamento de Várias Colunas. É interessante usar a funcionalidade de ...

Quer ler esse conteúdo completo? Tenha acesso completo