Em 9 de março de 2016 10:36, Flavio Henrique Araque Gurgel <[email protected]
> escreveu:

> Em 9 de março de 2016 09:32, Flavio Henrique Araque Gurgel
>> <[email protected] <mailto:[email protected]>> escreveu:
>>
>>
>>     Colocar um servidor Web para fazer uma camada REST sobre o protocolo
>>     do PostgreSQL, só vai colocar MAIS UMA camada por cima. A libpq
>>     continua lá.
>>
>>
>> ​Aqui não continua, uso jdbc type 4, não usamos libpq. O drive jdbc do
>> Postgres tem sido mais rápido do que acessar com a libpq em C++ em todos
>> os testes que fizemos. ​
>>
>
> Desculpe, não havia JDBC na pergunta original do colega, ele usa Delphi.
> Não tenho parâmetros de comparação JDBC/libpq, mesmo se eu use ambos todos
> os dias.
>
>
​Legal, ele usa Delphi, mas você falou de REST certo?​ Falou ainda de
servidor Web para a camada REST, logo você praticamente excluiu o Delphi
dai. Apesar de você conseguir fazer isto em Delphi, não é comum ver alguém
fazendo.


    Foro na solução - técnicas para eliminar viagens de rede - são
>>     inúmeras, citei algumas.
>>
>> ​Solicitações utilizando um serviço remoto que responde em algum
>> protocolo, HTTP no caso de REST também é uma técnica para eliminar
>> viagens de rede.​ Usar um ORM também é uma boa técnica para isto já que
>> você pode fazer dezenas de instruções Sql que somente irão ser enviadas
>> ao banco "flush" no momento do "commit".
>>
>
> Desculpe, ORM é uma entidade desacreditada no mundo dos bancos de dados e
> só tenho a discordar. Vide movimentos pelo jOOQ (mundo Java) e Pomm (mundo
> PHP).
> Passo meus dias a tirar consultas de um ORM "padrão de mercado"(Hibernate)
> e passando para SQL direto numa aplicação e resolvendo pelo menos um
> problema de desempenho por semana fazendo isso.
> E, por favor, explique-me como fazer uma transação complexa de banco de
> dados em REST.
>

​ORM não faz parte do mundo dos bancos de dados, ORM faz parte do mundo dos
aplicativos que utilizam banco de dados relacionais. Se ORM fosse
desacreditada, então não teríamos 100% dos projetos utilizam ORM hoje em
dia, já temos ORM até para Delphi. E aqui não importa se os programadores
sabem ou não SQL, ou se deveriam ou não saber SQL, importa que todos os
projetos hoje em dia utilizam ORM. Outra coisa, Hibernate não é sinônimo de
ORM, aqui por exemplo não usamos Hibernate porque ele não gera boas sql`s.
Talvez você não saiba, mas qualquer ORM aceita consultas sql nativas do
banco de dados, não precisa ser utilizado a linguagem do ORM, desta forma,
seus programadores só precisariam verificar se as Sql's geradas pelo seu
ORM; se percebessem alguma coisa anormal, escrever a consulta em sql
nativo. Em fim, ORM ajuda em 99% dos casos e no momento que ele é 1%
vagabundo, basta usar sql nativa, portanto não estão desacreditados, estão
na verdade sendo cada vez mais usados, tornando-se quase uma condição *sine
qua nom*.​

​Uma transação complexa pode ser feita normalmente em rest, basta que tudo
esteja emcapsulado em uma única chamada, e esta é exatamente a beleza da
coisa.​

​De ​qualquer forma, não estou aqui indicando REST e ORM para todo mundo,
só acho que não adianta ficar fazendo bulling sem conhecer as ferramentas.
Nada funciona 100% para tudo. Às vezes contornar um pequeno problema para
ter um grande ganho vale a pena. Ninguém deixa de usar carro só porque tem
que perder tempo comprando gasolina ou porque tem que fazer manutenção de
tempos em tempos, ou mesmo porque ele não voa quando temos um
engarrafamento.

​ps: Nem sabia da existência de JOOQ, muito menos Pomm​, mas olhando os
dois não vi nada de muito legal. Se eu já posso usar sql`s nativas num ORM
qualquer, porque eu perderia 99% do benefício só porque ele resolve 1% do
problema?


​Abraço,​

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

Responder a