Em 10 de setembro de 2012 12:15, Émerson Eng. <[email protected]> escreveu: > O DB2 é o Postgres com 2 diferenças principais: compressão de dados em tempo > de execução
O que o PostgreSQL faz 'de graça' o DB2 cobra para que você tenha a "Compression Feature" [1][2] enquanto o PostgreSQL é livre: "... Long strings are compressed by the system automatically, so the physical requirement on disk might be less ..." [3]. A diferença é que o DB2 tende a comprimir outros tipos de dados e não somente texto. Isso realmente dá muita diferença, reduz o tamanho no cache e reduz I/O, mas nem pergunte o custo, e só existe na versão Enterprise (que já é a mais cara). > e compatibilidade(POG*) com ferramentas e códigos desenvolvidos para Oracle. Particularmente eu considero isso um absurdo do ponto de vista técnico. Existe também uma skin para torná-lo compatível com o Sybase ASE em alguns aspectos. Quando comparo DB2, Sybase e Oracle, o DB2 é muito mais organizado e fácil de usar - IMNSHO. Só pela ótica comercial isto é válido. > O foco da IBM é pegar os usuários Oracle e pôr o DB2 no lugar. E os MS SQL Server, Sybase, PostgreSQL, Firebird... > As aplicações atuais feitas para Oracle rodam normalmente no DB2. Nah! Mesmo com a Skin e suporte 'quase-nativo' à PL/SQL, são necessários alguns ajustes. A começar pelo tipo de licenciamento de conexão que você tem no DB2. Tudo depende do tamanho da sua aplicação - e os recursos 'Oracle' utilizados. > O Postgres é um banco completo por si só, não precisa ser compativel com > outros. De acordo. Novamente, na minha opinião, os únicos itens que o DB2 tem de melhor que o PostgreSQL são: 1) a facilidade para criar Backups On-Line, incremental ou delta, em um único arquivo, mais as ferramentas para criá-lo e restaurá-lo. 2) A questão da separação dos buffer pools (que na verdade deveria se chamar 'cache pools') por tablespace e o seu tamanho em memória, que no DB2 segue à risca o valor definido (diferente do PostgreSQL que usa mais o cache do SO). Conto como vantagem mesmo sem saber se realmente é, ainda não consegui qualificar ou criar um teste que ponha isto à prova. O que eu conto como grande vantagem também é a robustez do DB2 que, mesmo em casos de desastres de hardware é possível recuperar dados "do osso" com ferramentas próprias - se você não possui backup, como 'db2dart', ou restaurar um backup velho e fazer um PIT com os Logs que sobraram intactos. Mas com um PostgreSQL em um servidor Linux/Unix bem configurado, talvez você nunca necessite isso... Quanto ao desempenho, o DB2 tem alguns problemas quando você usa funções SQL/PL em códigos SQL/DML - os níveis de CPU vão às alturas! Mas isso vem melhorando progressivamente. O PostgreSQL desde que eu o conheço na versão 7.4, usar uma função PL/SQL nunca foi problema - e mesmo assim o desempenho só melhorou. Resumindo a ópera, só compensa usar DB2 se você tem muita grana pra gastar com o seu licenciamento e seus add-ons que você não sabia que precisava até conhecer o DB2. [1] http://www.ibm.com/developerworks/data/library/techarticle/dm-0605ahuja/index.html [2] http://www-01.ibm.com/software/data/db2/linux-unix-windows/storage-compression.html [3] http://www.postgresql.org/docs/9.1/static/datatype-character.html -- TIAGO J. ADAMI http://www.adamiworks.com _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
