Olá pessoal
Desculpe mas o termo "Hash Cluster" inseri incorretamente. O que preciso
não seria indice clusterizado não e sim tabelas clusterizada, mas não 1
tabela isolada, e sim várias juntas fisicamente. Vou explicar o que preciso
através desse cenário.
Tabela DEPT :
DEPTO NOME_DEPTO
10 Contabil
20 Financeiro
Tabela EMP :
COD_DEPTO ID NOME SALARIO
10 1 FULANO 100,00
10 2 BELTRANO 200,00
20 3 CICLANO 300,00
20 4 TEOBALDO 400,00
20 5 MARIAZINHA 500,00
Se essas duas tabelas são clusterizadas, fisicamente nos blocos os dados
ficariam assim:
bloco 1: 10 Departamento 1 FULANO 100,00 2 BELTRANO 200,00
bloco 2: 20 departamento 3 CICLANO 300,00 4 TEOBALDO 400,00 5 MARIAZINHA
500,00
Na clusterização não tem o armazenamento duplicado para as chaves.
Outro ponto, que seria uma desvantagem da clusterização seria os comando
DML.Quando temos INSERTs na tabela, o SGBD não pode simplesmente fazer como
faz normalmente e jogar os dados no primeiro espaço em branco do primeiro
bloco que ver pela frente, ele TEM que analisar a chave e colocar o dados
sendo inserido no bloco exato a que pertence. Caso não tenha espaço então o
SGBD terá que mover dados pra outros blocos para poder inserir um NOVO dado
na sequência exata aonde a chave está
Essa solução é somente para tabelas que são acessadas juntas e que não
sofram quase nunca DML.
Parece ruim para ambientes OLTP, mas para Datawarehouse seria interessante,
pois as cargas de dados não são diárias e não se tem UPDATES.
Precisava saber se no PostgreSQL daria para implementar isso, e como?
[]'s Wiliam
Em 1 de outubro de 2014 13:58, Matheus de Oliveira <
[email protected]> escreveu:
>
> 2014-10-01 13:32 GMT-03:00 Wiliam Balan <[email protected]>:
>
>> Sei que daria para criar essas tabelas em Cluster para melhorar a
>> performance, pois os dados ficariam fisicamente ordenadas pelas duas
>> tabelas juntas, além de economizar espaço por precisar de manter somente
>> uma coluna, caso seja a chave (primária e estrangeira na outra tabela).
>>
>> Sei que tem como criar um Hash Cluster, mas teria outra opção de criar
>> essas tabelas em Cluster, digo outro tipo de cluster exceto Hash cluster?
>>
>
>
> Olá Wiliam,
>
> Acho que seria melhor você explicar melhor os termos que está usando.
> Primeiro, não conheço nada relacionado à "Hash Cluster" no PostgreSQL. E
> quando você fala de Cluster, se refere à tabelas clusterizadas (a.k.a
> Indexed Organized Tables ou Clustered Indexes)? Ao comando CLUSTER [1]?
>
> [1] http://www.postgresql.org/docs/current/static/sql-cluster.html
>
> Atenciosamente,
> --
> Matheus de Oliveira
> Analista de Banco de Dados
> Dextra Sistemas - MPS.Br nível F!
> www.dextra.com.br/postgres
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral