Em 13 de agosto de 2016 11:31, Matheus Saraiva
<[email protected]> escreveu:
> Em 12-08-2016 20:50, Tiago José Adami escreveu:
>>
>> Abro um parênteses: Conexões diretas ao banco via VPN? Não seria
>> melhor alguma forma de colocar a interface do lado do servidor para
>> evitar expor o banco de dados? O desempenho disso não vai ser muito
>> bom, já vi várias tentativas frustradas de conexões remotas com VPN,
>> em especial porque há um overhead significativo para compressão e
>> criptografia dos dados.
>
> Eu quis expor de forma direta, não entrei em detalhes pois não é o foco da
> pergunta, mas sim, a ideia é ter uma camada interfaceando o banco na web.
> Também já levei em consideração o desempenho, por isso decidi mandar o banco
> pra nuvem. Não tenho como mandar a aplicação pra nuvem por se tratar de um
> front-end desktop.

Exatamente por isso que eu me fiz este comentário. Se o front-end é
Desktop há a possibilidade de usar um servidor de aplicações remotas,
como Windows Terminal Server ou Citrix Metaframe. O custo efetivo de
se usar um servidor de aplicações remotas é muito menor, pois não
haverá necessidade de investir em banda larga muito alta (de ambos os
lados cliente/servidor) e o gerenciamento é mais fácil. Presto suporte
para diversas empresas que trabalham desta forma com ERP "for Windows"
sem maiores problemas.

> Pois é, eu faço uso pool via aplicação, mas já li por ai (e acho que tem um
> pouco de lógica) que controle de pool na aplicação em sistemas desktop é
> desnecessário, visto que aplicações desktop geralmente são cliente/servidor
> e necessitam de apenas uma conexão por tarefa, salvo casos de multi-thread.

Sim, concordo. Quando me referi em controlar o pool de conexões na
aplicação foi pensando em um middle-tier ou web container.

> Já para aplicações WEB acho que realmente seria um problema.
> Eu sempre utilizei o próprio driver para fazer pooling, nunca usei
> utilitários de pool "externos" fazendo interface com o banco.
>
> Minha ideia atualmente é colocar o banco e o webserver em um VPS. E o ERP
> desktop instalado localmente acessando o banco na nuvem. Nesse caso acho que
> um pool independente interfaceando os acesos do site e do ERP é a melhor
> opção.

Se eu entendi corretamente, neste caso o pgBouncer vai te ajudar
muito. Porém, geralmente os aplicativos Desktop tem o péssimo hábito
de criar uma conexão ao banco de dados quando o programa é iniciado e
só fecham a conexão quando o programa é fechado. Isso precisará ser
modificado para que o programa abra e feche diversas transações (se já
não estiver funcionando corretamente). Já nos aplicativos Web,
"geralmente" já fazem certo.

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

Responder a