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

Responder a