----------------------------------------
> Date: Sun, 16 Oct 2011 20:33:00 -0200
> From: lean...@dutras.org
> To: pgbr-geral@listas.postgresql.org.br
> Subject: Re: [pgbr-geral] NoSQL (era: Configurando Timezones por databases)
>> (...)
> > E lembrei que uma vez um DBA Oracle comentava que não adiantava se ter
> > um Oracle se você não utilizar os recursos do banco, no caso ele não
> > se referia a Archive Logs ou outros, ele falava de Stored's e afins.
>
> Hm… imagino que queiras dizer programação procedural em PL/SQL. Na
> verdade, isso depõe contra o Oracle, que tem apenas uma linguagem
> proprietária para programar procedimentos armazenados, em vez de
> implementar o ISO SQL/PSM. No caso do PostgreSQL, além de termos uma
> versão do PL/SQL chamada PL/PgSQL, temos a ISO SQL/PSM e toda uma
> variedade de outras linguagens disponíveis.
>
Só um detalhe com relação ao Oracle. Apesar de ser off-topic talvez seja de 
interesse. Em [1] explica como utilizar procedimentos externos no Oracle, 
desenvolvidos em outras linguagens de programação. E em [2] mostra como 
chamar Java Stored Procedures no Oracle.

[1] http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_extern_proc.htm
[2] http://download.oracle.com/docs/cd/B19306_01/java.102/b14187/chthree.htm


E sobre a conformidade a ISO SQL/PSM, em [3] diz:

"Oracle Compliance with SQL/PSM:2003

Oracle's PL/SQL provides functionality equivalent to SQL/PSM:2003, with minor 
syntactic differences, such as the spelling or arrangement of keywords."

[3] http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/ap_standard_sql006.htm

> Outra coisa que depõe contra o Oracle é que várias vezes se usam> 
> procedimentos armazenados e outras técnicas não declarativas, como
> /hints/ (dicas dadas pelo programador para forçar um caminho de
> execução) para contornar deficiências do SGBD. No PostgreSQL,
> procura-se aperfeiçoar o comportamento do planejador e incrementar o
> suporte à modelagem, ou seja, à programação declarativa. Ainda faltam
> muitas coisas para se aproximar do ideal relacional, e o SQL em si
> atrapalha ao violar o modelo, mas é uma abordagem muito mais sã.
>

Sobre a questão dos "hints" acho que iniciar uma discussão sobre isso vai ser 
off-topic, mas já que foi deixada uma visão sobre isso, não vou comentar sobre 
ela. Só vou deixar a minha e não tocarei mais no assunto:  no Oracle, é algo 
interessante se bem usado, só que tem vezes que usam isso para resolver 
problemas de SQLs mal escritos e bancos mal configurados, e acabam se tornando 
mais problema do que solução.

Tem algumas discussões interessantes sobre "hints" no PostgreSQL, cujos links 
deixo abaixo:
[4] http://it.toolbox.com/blogs/database-soup/why-postgresql-doesnt-have-query-hints-44121?rss=1
[5] http://thoughts.j-davis.com/2011/02/05/why-postgresql-already-has-query-hints/
[6] http://blog.2ndquadrant.it/mt/mt-search.cgi?tag=postgresql%20performance%20hints&IncludeBlogs=3

Atenciosamente,

Marçal de Lima Hokama                                     
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a