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
