Salve Galera muito bom dia [?]

Primeiramente desculpe não ter respondido antes, mas estava muito sem tempo
para a questão que gostaria de salientar e dizer...

Era inclusive para ter participado da pesquisa de PostgreSQL feita pelo
nosso amigo Telles e também ter enviado duas palestras minhas para a equipe
de avaliação, mas devido a falta de tempo não pude... Enfim, trabalho no MEC
e temos vários bancos de alta disponibilidade e acredito eu que já possuímos
a maior base em PG do Brasil tavez da América Látina inclusive eu precisaria
de confirmação disso para uma palestra que será realizada aqui...

Não só em acordo com os padrões do governo federal de software livre usamos
básicamente PG em tudo por aqui, mas sim por sua estabilidade,
escalabilidade e usabilidade...

"*A questão é que muitas pessoas confundem replicação com clustering. A
confusão não é a tôa… a palavra Cluster possui vários significados
diferentes dependendo do contexto. Temos a idéia de tabelas clusterizadas,
que possuem significado diferente no Oracle e PostgreSQL por exemplo e por
sua vez não tem nada haver com o conceito de cluster de SGDB. O PostgreSQL
chama de Cluster o conjunto de banco de dados gerenciados por uma única
instância (conjunto de datafiles, arquivos de controle e processos no
servidor que formam um SGDB). O PGCluster apesar do nome, é uma solução de
replicação e não de clustering! Algumas soluções proprietárias também gostam
de adotar o status de Cluster, quando na verdade se tratam de soluções de
replicação. O princípio da replicação é a de ter cópias de dados em mais de
um banco de dados que possam ser sincronizadas entre si. O princípio do
cluster é ter vários SGDBs se comportando como se fossem uma só instância de
forma transparente para a aplicação. Veja por exemplo que o conceito de
Grid, que a Oracle adotou como buzz word, não existe de fato em banco de
dados!*

*Quando falamos em Cluster de banco de dados, pensamos em 3 tipos de
clusters:*

   - *Shared All: Onde a memória (shared buffers) e os discos (datafiles)
   são compartilhados por cada nó do cluster;*
   - *Shared Disc: Onde apenas os disco são compartilhados pelos nós do
   cluster;*
   - *Shared Nothing: Onde cada nó tem a sua própria memória e discos;*

*Quando falamos em Replicação de banco de dados, pensamos em 4 tipos de
replicação orientados por 2 paradigmas distintos:*

   - *Replicação sincrona: onde todas as réplicas possuem sempre os mesmo
   dados;*
   - *Replicação assíncrona: onde as réplicas podem ser sincronizadas depois
   que um alteração nos dados é realizada;*


   - *Replicação MultiMaster: onde é possível realizar leitura e gravação em
   qualquer réplica;*
   - *Replicação Master/Slave: onde apenas a réplica master permite
   gravação, enquanto as demais réplicas só permitem leitura;*

*Vejamos algumas diferenças entre replicação e cluster:*

*A replicação pode ser parcial ou total (em relação aos objetos do banco de
dados), enquanto o cluster é sempre total em relação a uma instância do
banco de dados (no caso do PostgreSQL seria em relação a um cluster criado
pelo initdb).*

   - *A replicação pode ocorrer em apenas uma parte dos dados de cada
   réplica enquanto no cluster toda a instância (datafiles + processos no
   servidor) do SGDB de cada nó deve fazer parte do cluster;*
   - *A replicação pode ser assincrona ou síncrona enquanto o cluster sempre
   trabalha de forma síncrona.*


   - *A replicação pode ser MultiMaster ou Master/Slave, e no Cluster todos
   os nós podem realizar operações de leitura e escrita (o equivalente a um
   MultiMaster).*


   - *Técnicas de replicação, em geral não são boas para aumentar a
   escalabilidade horizontal de bancos de dados com alto volume de gravação
   (OLTP) enquanto os clusters shared all tem esta capacidade;*
   - *A replicação guarda uma cópia dos dados replicados em cada instância
   do banco de dados enquanto o cluster mantém apenas uma cópia dos dados
   compartilhado para todos os nós do cluster. Note que, em algumas
   implementações de clusters, técnicas de replicação são combinadas para se
   evitar o Storage como ponto vulnerável no caso de tolerância a falha.*

*Em princípio, parece que uma uma replicação MultiMaster síncrona é
equivalente a um Cluster Shared Nothing. No entanto, note que um Cluster
Shared Nothing cada nó possui apenas uma fatia do banco de dados em seu
storage enquanto na replicação MultiMaster síncrona, cada nó possui uma
cópia completa dos dados. Cada técnica de cluster e replicação tem diversos
tipos de implementações servindo para diferentes propósitos e com diferentes
limitações. Saber distinguir cada um deles é fundamental para saber por onde
começar a procurar por uma solução adequada para cada tipo de problema, seja
ele de alta disponibilidade, balanceamento de carga ou de bancos de dados
distribuídos.*

*O PostgreSQL conta hoje com várias soluções de Replicação Assíncrona
Master/Slave que vai do Stand By (implementado no PostgreSQL padrão), Slony
I e outros. O PgPool I e II é não são exatamente soluções de replicação e
sim de pool de conexões com suporte a um tipo de replicação síncrona. A
única solução de replicação MultiMaster Síncrona existente hoje é o
PGCluster. O projeto do Slony II pretendia ser uma nova implementação deste
tipo mas foi abandonado devida a alta complexidade do projeto. O PGCluster
II pretende ser uma implementação de Cluster Shared All (no mesmo estilo do
Oracle RAC), mas o projeto ainda é muito recente para se saber se ele será
bem sucedido.*"
Por fim, o que estamos tentando desenvolver aqui eu e mais uma pessoa é um
sistema próprio de clusterização o que estou responsável já testei várias
dessas do mercado sempre falta alguma coisa então estamos tentando tornar
viável algumas coisas e claro que assim que terminar será LIVRE :) Logo
estarei disponibilizando via GNU e etc...

Mas em questão específica da pergunta do nosso colega. Embora nossos
servidores tenham 18 procesadores e 250gb de ram para o PG estamos tentando
disponibilizar "cluster" com 4 nós principalmente para disponibilidade e
mais ainda para o caso das falhas... Aqui tinhamos licença Oracle o que já
não temos mais e isso dá uma idéia do que o PG é capaz para ter idéia o ENEM
em picos recebe mais de 5 mil conexões simultaneas por minuto... E o PG
TRANQUILO :) Ainda sugiro a você o PG!

Cordialmente,

------------------------------------

Kauí Aires Oliveira
Arquiteto de Banco de Dados, Especialista em Oracle e PostgreSQL e Analista
de Segurança.
Tel.: (61) 9325-8016 - (61) 8614-3857
E-Mail.: [email protected]
Skype: kauiaires
MsN: [email protected]

------------------------------------



Esta mensagem eletrônica pode conter informações privilegiadas e/ou
confidenciais, portanto fica o seu receptor notificado de que qualquer
disseminação, distribuição ou cópia não autorizada é estritamente proibida.
Se você recebeu esta mensagem indevidamente ou por engano, por favor,
informe este fato ao remetente e a apague de seu computador imediatamente.

This e-mail message may contain legally privileged and/or confidential
information, therefore, the recipient is hereby notified that any
unauthorized dissemination, distribution or copying is strictly prohibited.
If you have received this e-mail message inappropriately or accidentally,
please notify the sender and delete it from your computer immediately.

2009/7/24 jorge sanfelice <[email protected]>

> Ola Pessoal,
>
>   Usamos postgresql em muitos ambientes críticos de minha empresa (só
> usamos software livres), mas devido a uma demanda extremamente grande,
> vieram me questionar sobre a compra de licenças para um dos “dois
> grandes do mercado” que inclusive já comecei a realizar testes.
>
>   O maior problema que levou a esse interesse, foi a questão de
> trabalhar com “cluster” para ambientes de alta disponibilidade, entre
> outras coisas como compressão muito eficiente de dados.
> Funcionalidades que existem em Oracle e em DB2.
>
>   Aguem sabe nos dizer se tem como fazer cluster de servidores com
> postgresql e se existe algo referente a compressão de dados das
> tabelas?
>
> Abraços.
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>

<<333.png>>

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a