RANGE-HASH e RANGE-LIST



Documentos relacionados
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

Data Transformation Services (DTS) por Anderson Ferreira Souza

LOGs e ALERTAS de DESEMPENHO

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

Disciplina: Unidade III: Prof.: Período:

DATA WAREHOUSE. Introdução

Gerenciamento de Estúdios de Tatuagem. MANUAL DO USUÁRIO (Versão do manual: 2009.a)

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

AULA 5 Sistemas Operacionais

Profº Aldo Rocha. Banco de Dados

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

Arquitetura de Rede de Computadores

Google Drive: Acesse e organize seus arquivos

Orientação a Objetos

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

Tarefa Orientada 15 Manipulação de dados

PARANÁ GOVERNO DO ESTADO

Técnicas de Caixa Preta de Teste de Software

Múltiplas Tabelas. Disciplina de Banco de Dados

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

GERAÇÃO DE NOTA FISCAL PAULISTA BEMATECH RESTEQ RESOLVE TECNOLOGIA BEMATECH 1

Implantando Controle de Medicamentos Controlados no FACILITE SNGPC Sistema Nacional de Gerenciamento de Produtos Controlados

RESULTADO COM MERCADORIAS!!!

Curso de Instalação e Gestão de Redes Informáticas

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

O Gerenciamento de Documentos Analógico/Digital

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Controle do Arquivo Técnico

CRIANDO UM BANCO DE DADOS

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

Processo de Controle das Reposições da loja

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Importação de Dados no Sphinx

Ter um site na internet traz muitas vantagens para uma confeitaria:

1-Outras Informações, 2-Balanço (Ativo e Passivo), 3-DRE (Custos, Despesas e Resultado), 4- DLPA, 5-REFIS e 6-PAES.

EVANDRO SISTEMAS E ASESSORIA EM INFORMATICA CEL.: (19) evandropf@bol.com.br

OCOMON PRIMEIROS PASSOS

Tutorial do ADD Analisador de Dados Dinâmico.

Construção do Boxplot utilizando o Excel 2007

Área de Venda (gôndola):

Como incluir artigos:

AULA 1 Iniciando o uso do TerraView

Celebre este natal e ano novo junto aos seus amigos e familiares distantes.

Cálculo utilizando variáveis do tipo DATA

Manual de utilização

Guia do uso consciente do crédito. Dicas e informações para você usar o crédito sem perder o sono.

Aritmética Binária e. Bernardo Nunes Gonçalves

Data Warehouse. Debora Marrach Renata Miwa Tsuruda

Guia Site Empresarial

Manual de Utilização do Sistema Financeiro Opções Disponíveis a partir da versão do Sistema Micropost

MANUAL DO LAUDO DE ANALISE

APOSTILA DE EXCEL 2007

Particionamento no Banco de Dados Oracle 11g. Um artigo técnico da Oracle Junho de 2007

Tarefa Orientada 11 Junção Interna

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Bases de Dados. Lab 1: Introdução ao ambiente

BETA CONTAS A RECEBER Sistema desenvolvido pela Peris Consultoria Empresarial Instruções de uso:

Manual de Utilização

Administração e Optimização de BDs

Integração ADMRH com AGROSYS

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

Persistência de Dados

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

O que é Água Filtrada?

Procedimento passo a passo para gerar o arquivo da Nota Fiscal Paulista utilizando o aplicativo da Bematech WINMFD2

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

CONFIGURAÇÃO Cobian Backup Programa gratuito e de qualidade para realizar seus backups automáticos

CRIANDO MDT. Para criar o MDT Selecione o botão Modelagem ou clique na área esquerda da do programa onde se terá a opção criar Nova Modelagem.

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

Organização e Arquitetura de Computadores I

COMO PARTICIPAR EM UMA RODADA DE NEGÓCIOS: Sugestões para as comunidades e associações

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

2 echo "PHP e outros.";

Banco de Dados Microsoft Access: Criar tabelas

1. Domínio dos Atributos

Autor: Marcelo Maia

Treinamento Sistema Condominium Módulo III

DocuWare Mobile ProductInfo. Gerenciamento móvel de documentos. Benefícios

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Módulo 4. Construindo uma solução OLAP

Tarefa Orientada 14 Subconsultas

OGRINES. Também iremos dar algo completamente novo: acesso premium quando você quiser, onde você quiser!

SisResEv Sistema de Reserva de Salas para Eventos. Instruções de uso

O QUE É MAKEMONEYROBOT?

FAT32 ou NTFS, qual o melhor?

Gestão. Práticas. Editorial. Geovanne. Acesse online: 01. Indicador de motivo de não venda 02. DRE (demonstração dos resultados do exercício) 03 e 04

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Instalação FreeBSD Inicialização do CD/DVD! Ao colocar o CD/DVD como boot principal na BIOS, aparecerá a seguinte tela:

Noções Básicas de Excel página 1 de 19

Sistema de Registros de Pesquisas Eleitorais PesqEle Módulo Empresas

Transcrição:

RANGE-HASH e RANGE-LIST O COMPOSITE PARTITION é um método de particionamento composto, unindo os três métodos discutidos anteriormente. Como os métodos Range, Hash e List Partition. Existem dois tipos de combinação de particionamento, como o RANGE-HASH (Método Range Partition + Método Hash Partition) e RANGE-LIST (Método Range Partition + Método List Partition). O método Range Partition sempre deverá ser o primeiro na criação do particionamento e não existe a composição HASH-LIST. Caso tente realizar essa operação, irá acusar erro durante a criação da tabela. Porém, algumas dúvidas já vão surgindo quando vamos nesse novo método de particionameto, com a seguinte pergunta: Mas, o que pode me ajudar o Composite Partition em relação aos outros? Primeiramente, todos os pontos positivos dos outros métodos de particionamento serão utilizados e,também, a organização dos dados fisicamente fica muito mais fácil de se gerenciar. Por exemplo, imaginamos que existe um tabela de 500 GB, particionada somente por Range Partition, afim de armazenar histórico de datas de vendas de produtos para uma determinada loja. Então, como cada partição (segmento) da tabela é para um dia do ano (365 Partições), em cada partição da tabela teremos uma tablespaces específica ou tablespaces para cada mês, até agora maravilha, conseguimos fazer um distribuição dos dados entre os FileSystems e diminuição de I/O. Agora, imagine os meses que existem datas comemorativas, como, por exemplo, Junho e Dezembro, que temos os Dias dos Namorados e Natal. Um grande crescimento de inserções de registros é esperado, podendo ocasionar "gargalos" nas partições dos respectivos dias, dependendo também dos outros datafiles que podem estar no mesmo FileSystem. A fim de melhorar essa distribuição, podemos particionar a tabela utilizando o método composite partition usando Range-Hash partition. Assim, para cada dia do ano ou mês, podemos ter uma partição por Range e subpartiticionar por hash para efeitos de balanceamento dos dados entre os datafiles em diferentes FileSystems, evitando totalmente esses "gargalos" de I/O vindos das transações. É uma composição que ajudaria em muito ter ganhos de performace. Tudo bem, percebemos que o Composite Partition usando Range-Hash foi muito útil, então, para que particionar utilizando Range-List partition? Isso irá depender muito da regra de negócio da sua empresa, por exemplo, acima utilizamos Range-Hash partition, para uma tabela de histórico de vendas de produtos para uma única loja. Agora, se sua empresa tem várias lojas pelo Brasil, poderia utilizar sem problemas o Range-List, álias, seria o mais adequado, pois para cada dia

do ano ou mês, você teria subpartições para cada loja ou um conjunto de lojas. Ganhando performance nas consultas e futuros processos de carga. Abaixo seguem algumas simples estruturas e descrições das opções das tabelas utilizando as duas variações de particionamento do Composite Partition. Composite Partition : Range-Hash Partition. SQL > CREATE TABLE HIST_VND_PROD_SP 4 dt_saida date default sysdate) 5 PARTITION BY RANGE (dt_saida) SUBPARTITION BY HASH (txtnome) SUBPARTITIONS 4 STORE IN (TBS1,TBS2) 6 (PARTITION P23_12_2006 VALUES LESS THAN (TO_DATE('24-12-2006','DD- 7 PARTITION P24_12_2006 VALUES LESS THAN (TO_DATE('25-12-2006','DD- STORE IN (TBS3,TBS4), 8 PARTITION P25_12_2006 VALUES LESS THAN (TO_DATE('26-12-2006','DD- 9 (SUBPARTITION SP_25_12_2006 TABLESPACE TBS5, 10 SUBPARTITION SP_25_12_2006 TABLESPACE TBS6)); Observe que utilizamos várias formas de armazenamento das subpartições em diferentes tablespaces, para organização física extrema dos dados e para maiores ganhos de performance. Na linha 5, mencionamos a cláusula SUBPARTITIONS 4 STORE IN (TBS1,TBS2), onde será criada automaticamente pelo sistema 4 subpartições para cada partição, armazenadas nas tablespaces específicas após a opção STORE IN. Na linha 7, mudamos sua origem de armezenamento de forma explícita. Nas linhas 9 e 10, especificamos o nome de cada subpartição, para identificar ao máximo o local de acesso. E facilita o optimizador em consultas usando SELECT... FROM tabela PARTITION (nome_da_particao). Caso não queira colocar um nome para subparticionamentos, o Oracle automaticamente cria nomes seguindo seu padrão SYS_SUBPn (Onde N é um número natural sequêncial), como feito nas linhas 6 e 7. Continuando nas tabelas Range-Hash, existe um opção de criar templates de subpartições, como no exemplo abaixo: SQL > CREATE TABLE HIST_VND_PROD_SP

4 dt_saida date default sysdate) 5 PARTITION BY RANGE (dt_saida) SUBPARTITION BY HASH (txtnome) 6 SUBPARTITION TEMPLATE 7 (SUBPARTITION SP_TESTE1 TABLESPACE TBS1, 8 SUBPARTITION SP_TESTE2 TABLESPACE TBS2, 9 SUBPARTITION SP_TESTE3 TABLESPACE TBS3, 10 SUBPARTITION SP_TESTE4 TABLESPACE TBS4) 11 (PARTITION P1 VALUES LESS THAN (TO_DATE('23-9-2006','DD- 12 PARTITION P2 VALUES LESS THAN (MAXVALUE)); Essa opção cria um conjunto de subpartições para cada partição, então, todas as partições do exemplo serão armazenadas nas tablespaces TBS1, TBS2, TBS3 e TBS4. Recomendo que utilize essa opção para tabelas que tenha pouco acesso e pouco volume de dados. Com o Range-Hash, primeiramente os dados são separados usando o algoritmo do Range-Partition e depois o Oracle usa o algoritmo HASH para distribuir os dados de forma uniforme, sempre mantendo um balanceamento, assim diferentes dos métodos anteriores, o Oracle cria diversos segmentos de dados para uma única partição e distribui o volume de dados entre eles. Usando o Range-List, perceba poucas diferenças: Composite Partition : Range-List Partition. SQL > CREATE TABLE HIST_VND_PROD 4 txtloja char(2) not null, 5 dt_saida date default sysdate) 6 PARTITION BY RANGE (dt_saida) SUBPARTITION BY LIST (txtloja) 7 (PARTITION P25_12_2006 VALUES LESS THAN (TO_DATE('26-12-2006','DD- 8 (SUBPARTITION NORDESTE VALUES ('BA','PE','AL') TABLESPACE 9 SUBPARTITION SUDESTE VALUES ('SP','RJ') TABLESPACE TBS_SUDESTE, 10 SUBPARTITION SUL VALUES ('RS','SC') TABLESPACE TBS_SUL), 11 (PARTITION P01_12_2006 VALUES LESS THAN (TO_DATE('02-01-2007','DD- 12 (SUBPARTITION NORDESTE VALUES ('BA','PE','AL') TABLESPACE 13 SUBPARTITION SUDESTE VALUES ('SP','RJ') TABLESPACE TBS_SUDESTE, 14 SUBPARTITION SUL VALUES ('RS','SC') TABLESPACE TBS_SUL));

É mais fácil analisar essa estrutura de tabela, pois percebemos que todos os valores estão definidos e para cada subpartição criada está especificado seu lugar de armazenamento. Isso facilita em muito a administração dos dados e suas partições, assim, como excelentes ganhos de performance nas consultas. Seguindo o mesmo estudo do Range-Hash, o Oracle também irá vários segmentos de dados para Range-List, porém, não haverá mistura dos dados, pois como estamos utilizando método de List Partition, para cada segmento das subpartições terá valores definidos, assim, pode acontecer de segmentos terem valores diferentes para cada ocasião. Nas tabelas particionadas por Range-List também podem utilizar template para facilitar a criação, seguindo o mesmo exemplo das Range-Hash, segue: SQL > CREATE TABLE HIST_VND_PROD 4 txtloja char(2) not null, 5 dt_saida date default sysdate) 6 PARTITION BY RANGE (dt_saida) SUBPARTITION BY LIST (txtloja) 7 SUBPARTITION TEMPLATE 8 (SUBPARTITION NORDESTE VALUES ('BA','PE','AL') TABLESPACE 9 SUBPARTITION SUDESTE VALUES ('SP','RJ') TABLESPACE TBS_SUDESTE, 10 SUBPARTITION SUL VALUES ('RS','SC') TABLESPACE TBS_SUL) 11 (PARTITION P25_12_2006 VALUES LESS THAN (TO_DATE('26-12-2006','DD- 12 PARTITION P26_12_2006 VALUES LESS THAN (TO_DATE('27-12-2006','DD- 13 PARTITION P27_12_2006 VALUES LESS THAN (TO_DATE('28-12-2006','DD- ); Seguindo a mesma estrutura de template do Range-Hash, as quatro subpartições serão criados para cada partição, sem muitos segredos e dificuldades. Dica: Assim como existe tabelas particionadas, também existem índices particionados, quando forem utilizar o método Composite Partition, sempre utilizem Índices locais (INDEX LOCAL), por questões de manutenção e organização. Vamos ficando por aqui, com essa última coluna sobre tabelas particionadas, conseguimos uma visão geral sobre todas suas estruturas e funcionamento. A Composite Partition é um resumo da utilização em conjunto de todos os três tipos de particionamentos. Agregando suas funcionalidades e pontos positivos que podem ajudar em muito questões de manutenção e performance.

Assim como nessa coluna e nas outras três sobre Particionamento, existem muitas opções que podem ser exploradas, a utilização desses recursos para ambientes de Data WareHouse (DW) e OLTP são indiscutiveis. Vale a pena dar uma olhada na documentação da Oralce que pode ser encontrada em : http://download-east.oracle.com/docs/cd/b19306_01/server.102/b14231/toc.htm