2014-07-03 7:35 GMT-03:00 Bruno Silva <[email protected]>:

> Então vem a minha dúvida, há algum projeto de paralelismo no Postgres?
> Isso não seria interessante para o SGBD?
>

Bem. Na verdade, ao contrário do que muitos pensam, há alguns trabalhos
sendo feitos no PostgreSQL para atingir algum nível de paralelismo, mas me
parecem que estão indo bem devagar e um pouco longe:

- "Custom Plan API" - essa implementação daria a possibilidade de extensões
definirem planos de execução próprios, que poderia envolver paralelismo
[1]. Estão definindo a API, mas ainda não há implementação de paralelismo.
- Há algumas disussões sobre uso de background workers para execução de
"jobs" assíncronos (mas não me parece muito com o que você quer)
- Houve algumas discussões no IRC (acho que teve algo na -hackers, se
procurar talvez ache) sobre implementação de FDW assíncrono, ao menos para
operações de Append (e.g. UNION ALL de várias tabelas estrangeiras seriam
executadas paralelamente e "juntadas" no final).

Além disso, há algumas extensões para trabalhar com GPUs, como a PGStrom
[2] e a PgOpenCL [3].

De qualquer forma, eu tenho a impressão de que esses trabalhos irão seguir
um modelo bastante comum no PostgreSQL. Será desenvolvida infra-estrutura
dentro do PostgreSQL para que extensões possam usar de várias formas, como
implementação de paralelismo de consultas.


> Estou num projeto de DW que estamos usando o Backend Postgres e surgiu
> essa argumentação/comparação com o Oracle.
>

meh... Primeiro, o PostgreSQL está atendendo seu DW? Se sim, não se
preocupe com isso.

Agora, se chegar num nível onde a falta de paralelismo e a arquitetura do
PostgreSQL façam com que o desempenho seja rum. **E** ainda, o projeto está
com bastante dinheiro. Gaste então num banco de dados realmente
especializado para DW. Dos mais famosos (e que são de fato considerados os
melhores para tais ambientes) que consigo listar de cabeça, temos (não vou
linkar, pede pro Google):

-  Greenplum
- Amazon (AWS) RedShift
- Vertica
- ParAccel
- Postgres-XC e Postgres-XL

Agora, uma "não surpresa". Todos esses que citei são baseados no PostgreSQL
(veja esses e outros em [4]), e compartilham de sua sólida estrutura. =)

Logo, a minha dica é: use o PostgreSQL e extraia o máximo dele. Quando, ou
melhor, **SE** você chegar num momento onde ele não te atende
adequadamente, considere um dos carinhas acima, como são baseados no
PostgreSQL, a migração para eles é "suave". Mas saiba que há vários
ambientes DW em vários terabytes de dados que rodam muito bem no
PostgreSQL, basta definir bem o modelo, se preocupar com indexação,
melhores consultas, e claro, usar um hardware decente (o PG saiu de graça,
então investe em hardware, já que qualquer solução comercial já ia requirir
um "super-hardware" logo de começo).

[1]
http://www.postgresql.org/message-id/cadyhkswd0d583rbbjzgzr4xkwlf3tzgewkaz_3dvgcaj2n4...@mail.gmail.com
[2] http://blog.notapaper.de/article5.html
[3] http://wiki.postgresql.org/images/6/65/Pgopencl.pdf
[4] https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases

-- 
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

Responder a