"Eu juro que queria entender: O QUE ESSE FAZ AQUI ?"
De nada adianta este tipo de atitude, pelo contrário; tal só vem a dirimir a
lista.
Esta não deve servir para "desabafos", mas para auxílios e troca de
conhecimentos. Se você tem o conhecimento e quer compartilhá-lo, fique à
vontade. Mas se não quer ajudar, ou não tiver como contribuir, então não
responda, e não atrapalhe, ok?
________________________________
De: Marcelo Costa <[email protected]>
Para: Comunidade PostgreSQL Brasileira <[email protected]>
Enviadas: Sexta-feira, 22 de Janeiro de 2010 14:46:34
Assunto: Re: [pgbr-geral] Res: Res: Digest pgbr-geral, volume 35, assunto 94
Boa tarde companheiro....
2010/1/22 MARCIO CASTRO <[email protected]>
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 <[email protected]>
>Para: Comunidade PostgreSQL Brasileira <[email protected]>
>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
>[email protected]
>https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
>________________________________
Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 -
Celebridades - Música - Esportes
>_______________________________________________
>>pgbr-geral mailing list
>[email protected]
>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
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral