17 Características Do PostgreSQL Que Fazem Falta No Oracle

7
17 características do PostgreSQL que fazem falta no Oracle Publicado por Telles e arquivado em Banco de Dados , Oracle , PostgreSQL , Software Livre Bom… todos sabem que o Oracle possui uma miríade de recursos bacanas e interessantes. Alguns deles o PostgreSQL realmente não tem, e alguns eu acredito que nunca terá (até porquê a equipe do PostgreSQL tem uma visão diferente em vários pontos da Oracle). Não estou dizendo que o PostgreSQL é melhor que o Oracle ou vice versa… estou dizendo apenas que escolher um SGDB não é como escolher uma roupa para dar de presente. Não basta olhar a marca e se deslumbrar com comerciais fantásticos, shows de luzes e coquiteis luxuosos. Você tem que conhecer as funcionalidades de cada um e saber onde está entrando. E o que quero demonstrar aqui é que o PostgreSQL também revela suas qualidades! É comum pessoas perguntando sobre recursos que o PostgreSQL tem que o Oracle não tem… aqui vai uma pequena lista. Por favor sinta-se a vontade para acrescentar novos itens nos comentários. Readline: para quem está acostumado com o bash, sabe como é bacana poder utilizar algumas facilidades providas por esta maravilhosa biblioteca. Completar comandos e histórico de comandos são duas coisas que tornam a experiência em modo texto muito agradáveis. Eu sei que o SQLPLUS tem muitas funcionalidade interessantes, mas o psql é realmente uma ferramenta muito mais agradável devido ao uso do Readline e para mim isto significa perda de produtividade e aumento na curva de aprendizado do SQLPLUS. Maior flexibilidade com as linguagens com as PLs. O PostgreSQL tem suporte ao PL/pgSQL, está implantando o PSM e tem suporte a PL/Python, PL/Ruby, PL/PHP, PL/PERL etc. E ainda tem a possibilidade de cria-las no modo TRUSTED e UNTRUSTED. Isso é uma mão na roda e aproxima muito o time de desenvolvedores dos DBAs.

description

Caracteristicas postgresql

Transcript of 17 Características Do PostgreSQL Que Fazem Falta No Oracle

17 caractersticas do PostgreSQL que fazem falta no OraclePublicado por Telles e arquivado em Banco de Dados, Oracle, PostgreSQL, Software Livre Bom todos sabem que o Oracle possui uma mirade de recursos bacanas e interessantes. Alguns deles o PostgreSQL realmente no tem, e alguns eu acredito que nunca ter (at porqu a equipe do PostgreSQL tem uma viso diferente em vrios pontos da Oracle). No estou dizendo que o PostgreSQL melhor que o Oracle ou vice versa estou dizendo apenas que escolher um SGDB no como escolher uma roupa para dar de presente. No basta olhar a marca e se deslumbrar com comerciais fantsticos, shows de luzes e coquiteis luxuosos. Voc tem que conhecer as funcionalidades de cada um e saber onde est entrando. E o que quero demonstrar aqui que o PostgreSQL tambm revela suas qualidades! comum pessoas perguntando sobre recursos que o PostgreSQL tem que o Oracle no tem aqui vai uma pequena lista. Por favor sinta-se a vontade para acrescentar novos itens nos comentrios. Readline: para quem est acostumado com o bash, sabe como bacana poder utilizar algumas facilidades providas por esta maravilhosa biblioteca. Completar comandos e histrico de comandos so duas coisas que tornam a experincia em modo texto muito agradveis. Eu sei que o SQLPLUS tem muitas funcionalidade interessantes, mas o psql realmente uma ferramenta muito mais agradvel devido ao uso do Readline e para mim isto significa perda de produtividade e aumento na curva de aprendizado do SQLPLUS. Maior flexibilidade com as linguagens com as PLs. O PostgreSQL tem suporte ao PL/pgSQL, est implantando o PSM e tem suporte a PL/Python, PL/Ruby, PL/PHP, PL/PERL etc. E ainda tem a possibilidade de cria-las no modo TRUSTED e UNTRUSTED. Isso uma mo na roda e aproxima muito o time de desenvolvedores dos DBAs. LIMIT e OFFSET, estas duas clusulas no fazem parte do padro SQL, mas a maioria dos SGDBs implementam. Se voc tiver que paginar pginas de uma consulta (coisa que voc sempre deve fazer ao retornar mais de 100 linhas numa pgina web por exemplo) utilizando o ROWNUM, voc ver que o mundo poderia ser mais simples. Uma das primeiras coisas que eu descobri quando comecei a utilizar o Oracle: voc no pode criar uma tabela e colocar uma sequncia como valor padro para um campo. Isto s um pequeno detalhe, mas convenhmos, bem prtico utilizar um insert sem ter de lembrar o nome da sequncia atrelada ao campo; O Dollar Quoting uma caracterstica do PostgreSQLque nos permite evitar situaes incmodas onde precisamos escapar aspas simples e duplas. Quando se utiliza PL, isto pode se tornar um tanto incmodo. Alm disso o Dollar Quoting um bom aliado na luta contra o SQL Injection Algo irritante no Oracle o nome atribudo a objetos criados implicitamente. Se voc cria uma chave primria e no atribui um nome explicitamente, tanto o PostgreSQL quanto o Oracle atribuem um nome para a sua PK. Mas enquanto o nome atribudo pelo Oracle algo como SYS1328909 o PostgreSQL utiliza nomes muito mais inteligentes, atravs de um padro de nomenclaturas inteligvel. Num ambiente de testes onde os desenvolvedores esqueam de atribuir todos os nomes explicitamente, o caos passa a reinar rapidamente nos nomes de objetos do Oracle. Se voc quer uma funcionalidade avanada que o PostgreSQL oferece, ela se chama GiST. O GiST uma infraestrutura para a criao de novos tpos de ndices para novos tipos de dados. Com ele possvel criar aplicaes com demandas muito especficas com um excelente desempenho sem muito esforo. claro que no qualquer um que vai utilizar isso (assim como no qualquer um que utiliza uma srie de funcionalidades avanadas do Oracle), mas o leque de opes que isto abre enorme. Existem algumas implementaes de ndices utilizando o GiST prontos para voc utilizar. Eles mostram o poder de adaptao que o PostgreSQL possui para demandas especficas. Conformidade com o padro SQL2003. Sim o Oracle possui diversas coisas estranhas como usar o VARCHAR2 ao invs de VARCHAR, no utiliza o as vises do catlogo de sistema padro e inmeras coisas estranhas que so heranas antigas do Oracle que parecem que no tem melhorado muito nas ltimas verses. O tipo de dados TIMESTAMP por exemplo, s surgiu na verso 9i. O mais simples tipo de dados, o BOOLEAN simplesmente no existe no Oracle. Se voc quer saber mais sobre isso, compare voc mesmo a lista de compatibilidade do Oracle e do PostgreSQL. Melhor integrao com o SO. Voc j atualizou uma Distribuio Linux com um Oracle instalado? Prepare-se para muita dor de cabea, pois o processo no mnimo delicado. Para quem utiliza uma distribuio Linux como o Debian, isso mal passa pela cabea do DBA. Voc atuliza o SO junto com o PostgreSQL e pronto. Outra coisa interessante que voc pode utilizar os redirecionamentos do shell para jogar a sada de uma exportao direto na entrada de uma importao. Isso economiza tempo de disco. Na verdade o PostgreSQL se ajusta muito bem com o Padro POSIX, enquanto a Oracle insiste em criar suas prprias regras como o OFA (Optimal Flexibe Architeture). Voc pode subir um Oracle num 486?? O Oracle pesado, um verdadeiro drago devorador de recursos. A verso 11g que foi lanada recentemente pede um mnimo de 1GB de memria no servidor. O PostgreSQL bem mais flexvel neste sentido. Voc pode subir um PostgreSQL para testes no seu prprio desktop em 2 minutos e j sair testando sem ter que se preocupar muito com isso. Eu particularmente chego a ter 2 ou 3 verses do PostgreSQL rodando no meu desktop sem problemas. Agora d uma olhada no procedimento de instalao do Oracle e voc ver porqu poucas pessoas sabem colocar ele no ar de maneira adequada! Suporte a um nmero maior de arquiteturas. Por incrvel que parea, o Oracle no roda no FreeBSD por exemplo. Vale a pena comparar as arquiteturas suportadas pelo Oracle e PostgreSQL. Independncia de suporte. Todo mundo pergunta se o PostgreSQL tem suporte confivel no Brasil. Tem sim, no vou me pronunciar a favor de um ou outro aqui, mas temos empresas muito competentes aqui no Brasil. Mas algum j se perguntou como o suporte da Oracle??? Como eles so detentores do cdigo fonte do Oracle, s eles podem lhe oferecer um contrato de suporte mais profundo. Pergunte a um DBA Oracle como o suporte da Oracle e voc ir se surpreender! J no PostgreSQL voc no encontra este problema, voc pode escolher a empresa que vai lhe prestar suporte. Se voc no gostou do suporte de uma empresa chame outra! Est com medo de ningum segurar o rojo quando um problema mais srio acontecer? Quem disse que a Oracle no vai lhe deixar na mo? Bom, quer conhecer o suporte da Oracle, saiba o que mais de 90% das pessoas conhecem por suporte na verdade apenas o acesso ao Metalink. Mas suponhamos que voc precise de algo um pouco especfico mais onde o Oracle no lhe atende? Bom, o mais provvel que a Oracle lhe diga NO ou se voc der sorte estar diante de um oramento monstruoso. Se voc precisar de algo diferente no PostgreSQL, voc pode entrar em contato com qualquer um dos seus desenvolvedores (existem alguns no Brasil) e solicitar uma nova funcionalidade. Voc vai pagar apenas as horas de desenvolvimento dele e se ele achar que a funcionalidade importante, voc provavelmente ver ela implementada na Prxima verso do PostgreSQL e nunca mais ter de se preocupar com isso. Acredite ou no, vrias funcionalidades do PostgreSQL que voc usa hoje, surgiram assim. Veja o exemplo dos SkyTools. Existem empresas menores que tem contratos de manuteno com desenvolvedores do PostgreSQL e utilizam verses modificadas com particularidades mais bizarras e funcionam sem problemas. Um detalhe se voc no gostar do desenvolvedor, voc simplesmente contrata outro, uma vez que voc no precisa estar amarrado a ele. Acesso aos desenvolvedores. Voc j perguntou alguma coisa a um desenvolvedor do Oracle? No postgreSQL isso tranquilo, basta entrar na lista de discusso dos desenvolvedores. Um exemplo de como isso pode ser til saber o que esperar das prximas verses. Todo o ciclo de desenvolvimento transparente, voc sabe o que ser implementado na prxima verso, e o que esto querendo implementar nas prximas. Saber para onde o seu SGDB vai d muita segurana para o DBA. Acesso aos paths de correo independente de pagar licenciamento. Todo mundo fica com o oramento apertado durante algum tempo. Mas se voc deixar de pagar o suporte da Oracle, prepare-se para ficar vulnervel. As atualizaes s esto disponveis para quem est com seus pagamentos em dia; Voc no precisa fazer um curso sobre licenciamento antes de iniciar o uso do PostgreSQL. Independente do custo das licenas, saber quais recursos voc vai precisar licenciar com a Oracle, um verdadeiro tormento. A cada verso as opes de licenciamento mudam e um nmero maior de opes pagas separadamente so oferecidas. O Oracle Forms comeou como uma ferramenta gratita que numa nova verso passou a ser paga e hoje est sendo descontinuada. Muitos oramentos estouram porqu no meio do projeto se descobre que uma funcionalidade importante no foi prevista no contrato de licenciamento. Isso quando voc no instala opes no licenciadas sem querer. Para licenciar um Oracle, voc deve comear lendo Software Investment Guide que um documento de 61 pginas explicando quando uma licena se aplica ou no, dependendo da arquitetura de SGDB que voc quer montar. Depois precisa conhecer a diferena entre as 5 verses bsicas do Oracle: Express Edition, Personal Edition, Standard Edition, Standard Edition One e Enterprise Edition. A voc vai ter que conhecer cada uma das 15 opes do Enterprise Edition que so licenciadas a parte e ver se voc vai precisar de algumas delas no seu projeto. Depois disso voc precisa conhecer as opes de licenciamento e definir a melhor mtrica a ser utilizada: por processador ou por usurios nomeados. Pronto, agora definir o nmero de licenas para a sua arquitetura dentro da mtrica escolhida e multiplicar pelo custo da licena de cada componente que voc vai comprar. No esquea de incluir no mnimo o suporte standard da Oracle que custa em mdia 20% do custo total das suas licenas ao ano. Este custo s lhe d acesso ao metalink, que inclui uma base de conhecimento, acesso aos paths de correo e pedidos de suporte via web. Se voc quiser um suporte de verdade, aquele que voc acha que o PostgreSQL no tem ento voc vai ter que fazer um novo estudo de custos baseado no SLA desejado. Linux Linux, no importa qual distribuio voc utilize. O Oracle roda em qualquer distribuio Linux atual. Eu j utilizei por um bom tempo em Debian e fiquei muito satisfeito com o resultado. Mas se voc deseja ter qualquer nvel de suporte da Oracle, voc s vai poder utilizar 3 ou 4 distribuies homologadas por eles (incluindo a verso da prpria Oracle que uma cpia do Red Hat). Isto no significa que estas so as melhores distribuies Linux do mercado (embora sejam muito boas). A questo que voc no pode escolher. Da mesma forma, no qualquer hardware que voc pode utilizar para para rodar o Oracle, tem que se um hardware homologado. Estes dias vi que a Oracle homologava algumas solues de NFS fornecido por terceiros. Isto significava que se voc comprasse uma soluo de NFS de um dos parceiros homologados pela Oracle, eles lhe dariam suporte. Depois a Oracle desistiu da parceria e deixou de homologar estas solues (pois ela lanou sua prpria verso de NFS). Quem comprou a soluo indicada pela Oracle simplesmente deixou de ter uma soluo homologada, o que significa: nada de suporte para voc. Poder publicar benchmarks! Voc j viu um artigo com uma comparao entre desempenho do PostgreSQL e o Oracle? No? E provavelmente no ver. A Oracle pode processar qualquer um que publique testes de desempenhos comparativos com o Oracle sem a sua autorizao. Isto faz parte do licenciamento do Oracle. Assim fcil dizer que mais rpido sempre! Alis, vou te dizer que o PostgreSQL pode ser utilizado em projetos que envolvam tecnologia militar, pode ser utilizado por cubanos e iraquianos, brasileiros, etc, etc, etcTags:comparison, Oracle, PostgreSQL Artigo publicado em quinta-feira, 30 de agosto de 2007 s 6:37 e arquivado em Banco de Dados, Oracle, PostgreSQL, Software Livre. Comentrios a este artigo podem ser verificados atravs do feed RSS 2.0. Voc pode deixar um comentrio ou fazer um trackback de seu prprio site.