>   Puxa; você escreveu sobre um outro problema que estou tendo aquí:
> determinados cálculos são feitos na aplicação (Java), e estão demorando dias
> - isto mesmo, dias - para finalizar.
>   Parte disso é devido ao overhead do servidor de aplicação com o servidor
> do banco. Já realizamos inclusive um teste com ambos na mesma máquina, e a
> performance melhorou de forma significativa, mas ainda está muito lenta.
>   Achei então que, se eu portasse a mesma para PL/pgSQL, a performance seria
> superior, o que não se comprovou.

Bom Márcio, eu recomendaria fazer um estudo e tentar mudar alguns processos.
Com base no trabalho atual e com base no conhecimento obtido será
muito mais fácil encontrar uma solução melhor.

Onde trabalho existe 1 banco muito mal desenhado, fruto do trabalho de
uma galera despreparada.
Já falei para os responsáveis deste que é preciso mudar pois se não,
as queries que hoje demoram horas, começaram a durar dias.
A mudança é inevitável. Não da para contornar o problema investindo em
hardware mas o pessoal é relutante e vejo o
problema como uma bomba prestes a explodir.

Com o banco que trabalho hoje tive que refatorar algumas coisas, ficou
muito bom. Funciona muito bem.
Tem coisas que não tem solução e precisam mudar. É uma evolução.
Todo trabalho gasto pra melhorar é recompensado depois.


>   No mundo Oracle, é comum deixar muita coisa por conta do PL/SQL,
> justamente devido à performance e para evitar o overhead da rede.

Ah é verdade! Eu estou me graduando, fazendo Sistemas de Informação. O
nosso professor deixou bem claro como a galera costuma fazer com o
Oracle.
Eu já lí muito sobre este assunto e existem muitos prós e contras que
equilibram a decisão de onde ficará as regras de negócio.
Sou muito flexível quanto a isso e não vejo problema em colocar a
lógica no banco desde que seja bem feito e resolva a situação.
Particularmente no banco só coloco os dados e as constraints como as
chaves estrangeiras, unicidades e checks que impedem a "degradação" do
banco como duplicidades...
Uso procedures para unir comandos que uso constantemente e deixo a
lógica junto da aplicação.

Faço desta maneira porque foi assim que aprendi desde os meus tempos
com PHP e MySQL e porque acho que separando a
lógica do banco de dados, posso separar as duas coisas em maquinas
distintas ganhando com isso.
Meu professor disse que é bem simples. Basta gastar muito com uma
única boa máquina ou Grid.

Mas provavelmente colocaria tudo no banco se o Oracle aparecesse
primeiro pra mim.
Ai vira questão de gosto.


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

Responder a