Boa tarde companheiro....

2010/1/22 MARCIO CASTRO <marciomouracas...@yahoo.com.br>

> Caro Euler:
>
> a -
> "Discordo. Não *generalize* as coisas; já vi várias instalações PostgreSQL
> com
> performance superior a anterior (aka Or*cle)."
>
>   Não estou generalizando; é verdade mesmo. Por favor; não vamos começar
> uma discussão infundada, que de nada acrescentará à lista. Mas você pode nos
> enviar a estrutura deste "eu já ví", e então poderemos repetir os mesmos
> testes, ok?
>
>
> b -
> "Você _não_ mostrou a função em PL/SQL e nem a equivalente em PL/pgSQL."
>
>   Se você procurar o histórico da lista, verificará as duas funções
> utilizadas como exemplo, que são muito simples. E irá verificar também que
> um outro membro desta compilou e rodou a rotina do Post em seu próprio
> servidor. Mas se estas não se adequam, por favor, envie suas próprias
> funções, tabelas ou demais objetos; acaso cometido algum erro, pedirei
> desculpas a todos.
>
>
> c -
> "Oracle mais rápido? Eu *não* vi esses resultados em [1][2]. Você só
> mostrou os
> resultados do Oracle e _não_ do PostgreSQL com a função em C"
>
>   Como explicado, tentamos migrar uma aplicação com milhares de linhas de
> código em PL/SQL (Oracle) para o Postgres (PG/plSQL). Quem efetuou este
> pedido foi O PRÓPRIO CLIENTE, que, com certeza, estava querendo diminuir os
> custos portando a sua aplicação para o PostgreSQL. O cliente NÃO QUERIA
> REESCREVER TUDO EM C ou em qualquer outra linguagem, mas aproveitar ao
> máximo o código existente!
>
>
> d -
> "A conclusão daquela discussão foi que você estava "batendo em espantalho";
> use
> os métodos adequados para obter melhor desempenho."
>
>   Continuo sem saber o que significa "batendo em espantalho" (nem me
> interessa saber), e se você não for capaz de dar maiores explicações sobre o
> que você chama de "métodos adequados", ninguém irá entender.
>
>
> e -
> "Para isso precisamos pagar um bom $$$ para associarmos e termos direito de
> fazer tais testes. E, é claro, termos hardwares disponíveis para realizar
> os
> testes. (Sem uma grande empresa com acesso aos vendedores de hardware, fica
> difícil realizarmos tal tarefa)."
>
>   Sim, é verdade. Mas que empresa de hardware irá recomendar um produto sem
> ganhar nada em cima? A mesma pode até "vender o peixe" com o Postgres, mas
> será que a mesma declararia que tal produto é mais rápido do que o banco A
> ou B, sem possuir nenhuma comprovação de tal fato?
>   Mas se você GARANTE, ótimo, é só comprovar, ok? Aliás, na semana passada
> eu conhecí um cara que GARANTE que "o Caché é o banco mais rápido do mundo".
> Perguntado sobre como comprovar esta declaração, este respondeu que a mesma
> "é baseada em vivência e experiância profissional". Perguntado se o mesmo já
> havia trabalhado com outros bancos, o mesmo respondeu "nenhum"...
>
>   Termino esta repetindo que você, ou qualquer outro membro da lista, pode
> escrever as rotinas que julgar mais adequadas ("métodos adequados", tabelas,
> ou seja o que for), que irei testá-las com o maior prazer. Aliás, se mais
> alguém quiser acompanhar estes testes in loco, é só chegar aquí na empresa -
> estou em BH, na Floresta. Os servidores serão os mesmos dos testes
> anteriores, e a única exigência é que tudo possa rodar com um mínimo de
> alterações.
>   E se alguém quiser verificar por sí só no Oracle, é só baixar
> gratuitamente o software no site da mesma - não são necessárias licenças
> para estudar, efetuar testes ou criação de protótipo.
>   Abaixo as rotinas utilizadas, no Postgres e no Oracle.
>
>
>
> Atenciosamente,
>
> Márcio de Figueiredo Moura e Castro
>
>
> --------------------------------------------------
> -- FIB
> --------------------------------------------------
>
> -- FIB NO ORACLE
> create or replace
> FUNCTION fib(fib_for integer)
>   RETURN integer AS
> BEGIN
>   IF fib_for < 2 THEN
>       RETURN fib_for;
>   END IF;
>   RETURN fib(fib_for - 2) + fib(fib_for - 1);
> END;
>
>
> -- FIB NO POSGRES
> CREATE OR REPLACE FUNCTION fib(fib_for integer)
>   RETURNS integer AS
> $BODY$
>     BEGIN
>         IF fib_for < 2 THEN
>             RETURN fib_for;
>         END IF;
>         RETURN fib(fib_for - 2) + fib(fib_for - 1);
>     END;
> $BODY$
>   LANGUAGE 'plpgsql' IMMUTABLE;
> ALTER FUNCTION fib(integer) OWNER TO postgres;
>
>
> --------------------------------------------------
> -- FUNCTION1
> --------------------------------------------------
>
>
> -- FUNCTION1 NO ORACLE
> create or replace
> FUNCTION FUNCTION1 return number AS
>   i INTEGER;
>   s integer;
>   v_tempo number;
> BEGIN
>   SELECT (EXTRACT(minute FROM current_timestamp) * 60) + EXTRACT(second
> FROM current_timestamp) into v_tempo FROM dual;
>   FOR i IN 1 .. power(10,8) LOOP
>      s := s + 1;
>   END LOOP;
>   SELECT ((EXTRACT(minute FROM current_timestamp) * 60) + EXTRACT(second
> FROM current_timestamp)) - v_tempo into v_tempo FROM dual;
>   RETURN v_tempo;
> END FUNCTION1;
>
>
> -- FUNCTION1 NO POSTGRES
> CREATE OR REPLACE FUNCTION function1()
>   RETURNS integer AS
> $BODY$
> DECLARE
>   i INTEGER;
>   s integer;
> BEGIN
>   FOR i IN 1 .. power(10, 8) LOOP
>      s := s + 1;
>   END LOOP;
> RETURN 0;
> END;
> $BODY$
>   LANGUAGE 'plpgsql' IMMUTABLE;
> ALTER FUNCTION function1() OWNER TO postgres;
>
>
>
> ------------------------------
> *De:* Euler Taveira de Oliveira <eu...@timbira.com>
> *Para:* Comunidade PostgreSQL Brasileira <
> pgbr-geral@listas.postgresql.org.br>
> *Enviadas:* Sexta-feira, 22 de Janeiro de 2010 13:07:27
> *Assunto:* Re: [pgbr-geral] Res: Digest pgbr-geral, volume 35, assunto 94
>
> MARCIO CASTRO escreveu:
> >  Trabalho com o Postgres e com o Oracle, e relato que a diferença entre
> > os mesmos é abismal.
> Discordo. Não *generalize* as coisas; já vi várias instalações PostgreSQL
> com
> performance superior a anterior (aka Or*cle).
>
> >  Tentamos inclusive importar um sistema com milhares de funções e
> > procedimentos em PL/SQL (Oracle 10g) para o PL/pgSQL, mas os primeiros
> > testes nos revelaram que a performance cairia demais, tornando o projeto
> > inviável.
> Você _não_ mostrou a função em PL/SQL e nem a equivalente em PL/pgSQL.
>
> >  Na época, cheguei até a buscar auxílio na lista, escrevendo dois
> > pequenos exemplos para isto. Alguns até me auxiliaram, propondo que as
> > rotinas fossem reescritas em C, mas mesmo assim o Oracle foi mais rápido.
> Oracle mais rápido? Eu *não* vi esses resultados em [1][2]. Você só mostrou
> os
> resultados do Oracle e _não_ do PostgreSQL com a função em C.
>
> A conclusão daquela discussão foi que você estava "batendo em espantalho";
> use
> os métodos adequados para obter melhor desempenho.
>
> > PS: http://www.tpc.org/tpcc/results/tpcc_perf_results.asp
> > Continuo torcendo para que um dia vejamos o Post nesta lista!
> >
> Para isso precisamos pagar um bom $$$ para associarmos e termos direito de
> fazer tais testes. E, é claro, termos hardwares disponíveis para realizar
> os
> testes. (Sem uma grande empresa com acesso aos vendedores de hardware, fica
> difícil realizarmos tal tarefa).
>
>
> [1]
>
> http://listas.postgresql.org.br/pipermail/pgbr-geral/2009-September/017497.html
> [2]
>
> http://listas.postgresql.org.br/pipermail/pgbr-geral/2009-September/017498.html
>
>
> --
>   Euler Taveira de Oliveira
>   http://www.timbira.com/
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> ------------------------------
> Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
> 10<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/>-
> Celebridades<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/>-
> Música<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/>-
> Esportes<http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/>
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
Eu juro que queria entender:

O QUE ESSE FAZ AQUI ?

#SET MODE DESABAFO ON

Euler não perde teu tempo.

#SET MODE DESABAFO OFF

-- 
Marcelo Costa
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a