Re: [pgbr-geral] Benchmark PostgreSQL x MySQL

2014-03-31 Por tôpico Tiago José Adami
Em 30 de março de 2014 17:20, Itamar Reis Peixoto
ita...@ispbrasil.com.br escreveu:
 On 03/30/2014 01:16 PM, Eduardo Alexandre wrote:

 Boa tarde,


 Estou precisando muito de comparação e, de preferência benchmarks sérios
 entre MySQL e PostgreSQL para definição de qual utilizar para um projeto.
 Na internet encontrei apenas alguns esboços.
 Alguém tem material a respeito ou indicação de link?

 vá de oracle-mysql e seja feliz,

Mesmo se quiseres usar uma arquitetura pronta e preguiçosa com
siglas já conhecidas (LAMP, WAMP, etc) sem escalabilidade e com
licença de uso restrita (MySQL não é tão livre quanto o PostgreSQL)
essa afirmação /talvez/ fosse verdadeira. Apesar que, o conceito de
felicidade é relativo e eu respeito a opinião alheia.

É muito difícil comparar os dois produtos. O MySQL é mais um
repositório de dados enquanto o PostgreSQL oferece todas as funções
de um SGBDR. Depende muito do escopo do seu projeto. Se eu tivesse que
usar o MySQL ao invés do PostgreSQL, ainda assim procuraria usar algum
outro SGBDR que fosse mais SQL Compliant, como HSQLDB ou até mesmo
SQLite.

Pela minha experiência, em poucas situações eu não usaria PostgreSQL:
1) Para um banco de dados embarcado; 2) Com servidor Windows - nesse
último caso por causa da vulnerabilidade e inconsistência do SO.


TIAGO J. ADAMI
http://www.adamiworks.com
@tiadami
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Benchmark PostgreSQL x MySQL

2014-03-31 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2014-03-30 18:16 GMT-03:00 Guimarães Faria Corcete DUTRA, Leandro
l...@dutras.org:
 2014-03-30 13:16 GMT-03:00 Eduardo Alexandre eduardog...@gmail.com:

 Estou precisando muito de comparação e, de preferência benchmarks sérios
 entre MySQL e PostgreSQL para definição de qual utilizar para um projeto.

 Difícil, porque o MySQL não é sério.  É mais uma brincadeira que saiu
 de controle.  Nem roda código ISO SQL, então as comparações
 necessariamente já têm de ser ajustadas para favorecer o MySQL.

Não fiquei satisfeito com minha própria resposta, então vai um complemento.

Comparativos sérios são difíceis, porque SGBDs são extremamente
complexos e seus usos, muito variados.  Os comparativos publicados
geralmente são, portanto e naturalmente, geralmente incompletos.

Quanto a desempenho, há alguns comparativos padronizados, mas há
várias ressalvas.  Primeiro, organizações como a Oracle (atual
proprietária do MySQL) costumam probir a divulgação; segundo, os
comparativos padronizados costumam colocar exigências bem oneroras, e
aí o povo do PostgreSQL costuma achar que não vale muito a pena, até
porque quem sabe pouco costuma não entender esses testes, suas
condições e resultados, e quem sabe mais costuma olhar outras maneiras
de comparar; terceiro, um comparativo padronizado costuma ser
irrelevante para as situações específicas.

O certo seria uma comparação bem focada na tua situação.  Mas isso
exigiria que já houvesse código aplicativo, uma massa de dados de
testes representativa (mesmo que artificialmente gerada) e código de
testes para carga.  Além de ser um custo razoável para investir na
decisão, há o problema de que o MySQL é tão ruim em termos de
linguagem ISO SQL que ou dará mais trabalho que o razoável para criar
o código aplicativo, ou acabará conduzindo a criar programas num
mínimo denominador comum, um subconjunto do ISO SQL que favorece o
MySQL ao deixar de explorar as capacidades de um SGBD robusto como o
PostgreSQL.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Benchmark PostgreSQL x MySQL

2014-03-31 Por tôpico Eduardo Alexandre
Em 31 de março de 2014 09:30, Guimarães Faria Corcete DUTRA, Leandro 
l...@dutras.org escreveu:

 2014-03-30 18:16 GMT-03:00 Guimarães Faria Corcete DUTRA, Leandro
 l...@dutras.org:
  2014-03-30 13:16 GMT-03:00 Eduardo Alexandre eduardog...@gmail.com:
 
  Estou precisando muito de comparação e, de preferência benchmarks sérios
  entre MySQL e PostgreSQL para definição de qual utilizar para um
 projeto.
 
  Difícil, porque o MySQL não é sério.  É mais uma brincadeira que saiu
  de controle.  Nem roda código ISO SQL, então as comparações
  necessariamente já têm de ser ajustadas para favorecer o MySQL.

 Não fiquei satisfeito com minha própria resposta, então vai um complemento.

 Comparativos sérios são difíceis, porque SGBDs são extremamente
 complexos e seus usos, muito variados.  Os comparativos publicados
 geralmente são, portanto e naturalmente, geralmente incompletos.

 Quanto a desempenho, há alguns comparativos padronizados, mas há
 várias ressalvas.  Primeiro, organizações como a Oracle (atual
 proprietária do MySQL) costumam probir a divulgação; segundo, os
 comparativos padronizados costumam colocar exigências bem oneroras, e
 aí o povo do PostgreSQL costuma achar que não vale muito a pena, até
 porque quem sabe pouco costuma não entender esses testes, suas
 condições e resultados, e quem sabe mais costuma olhar outras maneiras
 de comparar; terceiro, um comparativo padronizado costuma ser
 irrelevante para as situações específicas.

 O certo seria uma comparação bem focada na tua situação.  Mas isso
 exigiria que já houvesse código aplicativo, uma massa de dados de
 testes representativa (mesmo que artificialmente gerada) e código de
 testes para carga.  Além de ser um custo razoável para investir na
 decisão, há o problema de que o MySQL é tão ruim em termos de
 linguagem ISO SQL que ou dará mais trabalho que o razoável para criar
 o código aplicativo, ou acabará conduzindo a criar programas num
 mínimo denominador comum, um subconjunto do ISO SQL que favorece o
 MySQL ao deixar de explorar as capacidades de um SGBD robusto como o
 PostgreSQL.



Olá,

Agradeço pelos comentários e posso dizer que concordo com sua opinião.
No final de semana pensei a respeito disso e estou pretendendo fazer
aproximadamente o que mencionou: criar uma massa de dados de teste
representativa para a necessidade.
Claro que não é possível cobrir e garantir sem sombra de dúvida qual é o
melhor mas, dá para se ter uma ideia de como é o comportamento e tempo de
resposta de ambos em uma determinada situação.
Se tiver novidades, aviso na lista.


Abraços,
___
Eduardo Alexandre
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Benchmark PostgreSQL x MySQL

2014-03-31 Por tôpico Flavio Henrique Araque Gurgel

Agradeço pelos comentários e posso dizer que concordo com sua opinião.
No final de semana pensei a respeito disso e estou pretendendo fazer
aproximadamente o que mencionou: criar uma massa de dados de teste
representativa para a necessidade.
Claro que não é possível cobrir e garantir sem sombra de dúvida qual é o
melhor mas, dá para se ter uma ideia de como é o comportamento e tempo
de resposta de ambos em uma determinada situação.


Só tome cuidado porque desempenho não é o único fator de escolha sobre 
um gerenciador de banco de dados: questões de manutenção, backup, 
escalabilidade, isolação e controle de transações (MVCC), pessoal 
técnico, estabilidade, tempos de restauração, capacidade de replicação, 
ferramentas e ecossistema, enfim, a lista não acaba.


 Se tiver novidades, aviso na lista.

Serus resultados serão bem vindos aqui com certeza, mas tome cuidado com 
o que virá da contraparte.


[]s
Flavio Gurgel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Benchmark PostgreSQL x MySQL

2014-03-31 Por tôpico Fábio Telles Rodriguez
Algumas dicas se vai fazer testes:

1) Vai ter suporte a transações? O MySQL usa MyISAM como padrão, que não
tem suporte a transações. Se for usar isso no MySQL, use unlogged tables no
PostgreSQL para ter uma comparação mais justa. Não é a mesma coisa, mas é
mais justo.
2) Crie uma massa de dados com tabelas com pelo menos 4x o tamanho da RAM
disponível no servidor.
3) Use um servidor dedicado, se for usar windows, deixe ele descansar uns
30 minutos após subir o SGDB e inicie o teste.
4) Zere o cache da memória antes de cada bateria de testes. Se possível
reinicie o SGDB também.
5) Refaça cada teste 3x para ver se o número é consistente.
6) Cada teste deve rodar por pelo menos uns 30 minutos, para o efeito do
checkpoint ser levado em consideração. 60 minutos é o recomendado.
7) Faça um tuning no SO e no SGDB para não usar as configurações padrão.
Senão fica difícil de comparar, uma vez que você não está utilizando o
melhor de cada um.
8) Faça um crash teste no meio também: no meio do teste puxe o servidor da
tomada e veja se a base sobreviveu... não adianta nada ser velocidade e não
ter segurança, né?
9) Atualize as estatísticas das tabelas antes de cada teste isso parece
óbvio, mas tem muita gente que esquece desse detalhe e trabalha com planos
de execução terríveis.
10) Não adianta testar apenas uma ou outra consulta e ver quanto tempo
leva, tem de simular uma operação real, com volume de dados factíveis e
concorrência também. Um dos maiores desafios de uma aplicação é lidar com
alta concorrência, com centenas de pessoas querendo transacionar (INSERT,
UPDATE, DELETE) nas mesmas tabelas ao mesmo tempo.


11



Em 31 de março de 2014 09:38, Eduardo Alexandre eduardog...@gmail.comescreveu:


 Em 31 de março de 2014 09:30, Guimarães Faria Corcete DUTRA, Leandro 
 l...@dutras.org escreveu:

 2014-03-30 18:16 GMT-03:00 Guimarães Faria Corcete DUTRA, Leandro
 l...@dutras.org:
  2014-03-30 13:16 GMT-03:00 Eduardo Alexandre eduardog...@gmail.com:
 
  Estou precisando muito de comparação e, de preferência benchmarks
 sérios
  entre MySQL e PostgreSQL para definição de qual utilizar para um
 projeto.
 
  Difícil, porque o MySQL não é sério.  É mais uma brincadeira que saiu
  de controle.  Nem roda código ISO SQL, então as comparações
  necessariamente já têm de ser ajustadas para favorecer o MySQL.

 Não fiquei satisfeito com minha própria resposta, então vai um
 complemento.

 Comparativos sérios são difíceis, porque SGBDs são extremamente
 complexos e seus usos, muito variados.  Os comparativos publicados
 geralmente são, portanto e naturalmente, geralmente incompletos.

 Quanto a desempenho, há alguns comparativos padronizados, mas há
 várias ressalvas.  Primeiro, organizações como a Oracle (atual
 proprietária do MySQL) costumam probir a divulgação; segundo, os
 comparativos padronizados costumam colocar exigências bem oneroras, e
 aí o povo do PostgreSQL costuma achar que não vale muito a pena, até
 porque quem sabe pouco costuma não entender esses testes, suas
 condições e resultados, e quem sabe mais costuma olhar outras maneiras
 de comparar; terceiro, um comparativo padronizado costuma ser
 irrelevante para as situações específicas.

 O certo seria uma comparação bem focada na tua situação.  Mas isso
 exigiria que já houvesse código aplicativo, uma massa de dados de
 testes representativa (mesmo que artificialmente gerada) e código de
 testes para carga.  Além de ser um custo razoável para investir na
 decisão, há o problema de que o MySQL é tão ruim em termos de
 linguagem ISO SQL que ou dará mais trabalho que o razoável para criar
 o código aplicativo, ou acabará conduzindo a criar programas num
 mínimo denominador comum, um subconjunto do ISO SQL que favorece o
 MySQL ao deixar de explorar as capacidades de um SGBD robusto como o
 PostgreSQL.



 Olá,

 Agradeço pelos comentários e posso dizer que concordo com sua opinião.
 No final de semana pensei a respeito disso e estou pretendendo fazer
 aproximadamente o que mencionou: criar uma massa de dados de teste
 representativa para a necessidade.
 Claro que não é possível cobrir e garantir sem sombra de dúvida qual é o
 melhor mas, dá para se ter uma ideia de como é o comportamento e tempo de
 resposta de ambos em uma determinada situação.
 Se tiver novidades, aviso na lista.


 Abraços,
 ___
 Eduardo Alexandre

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,
Fábio Telles Rodriguez
blog: http:// http://www.midstorm.org/~telles/shttp://tellesr.wordpress.com/
avepoint.blog.br
e-mail / gtalk / MSN: fabio.tel...@gmail.com
Skype: fabio_telles

Timbira - A empresa brasileira de Postgres
http://www.timbira.com.br
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Benchmark PostgreSQL x MySQL

2014-03-31 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2014-03-31 9:42 GMT-03:00 Flavio Henrique Araque Gurgel fha...@gmail.com:

 Só tome cuidado porque desempenho não é o único fator de escolha sobre um
 gerenciador de banco de dados

Nem de longe!  Nem sequer o mais importante.  Eu colocaria, antes de
desempenho: segurança, estabilidade, gestão (afinal, é um SGBD),
escalabilidade… e a ordem depende dos requisitos funcionais e não
funcionais do sistema aplicativo e da organização usuária.

Eu nem testaria desempenho, para falar a verdade.  O MySQL, nesses
outros requisitos, nem é comparável ao PostgreSQL.  É um brinquedo de
escovador de bits, mesmo.

Sem desprezar as questões colocadas pelo Flávio, que são
importantíssimas.  É só que as classifiquei de outra maneira,
basicamente muitas dentro de ‘gestão’, o que é claramente uma
generalização grosseira de minha parte:


 questões de manutenção, backup,
 escalabilidade, isolação e controle de transações (MVCC), pessoal técnico,
 estabilidade, tempos de restauração, capacidade de replicação, ferramentas e
 ecossistema, enfim, a lista não acaba.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Benchmark PostgreSQL x MySQL

2014-03-31 Por tôpico Marcal Hokama
 From: fabio.tel...@gmail.com 
 Date: Mon, 31 Mar 2014 13:52:14 -0300 
 
 Algumas dicas se vai fazer testes: 
 
 1) Vai ter suporte a transações? O MySQL usa MyISAM como padrão, que 
 não tem suporte a transações. Se for usar isso no MySQL, use unlogged 
 tables no PostgreSQL para ter uma comparação mais justa. Não é a mesma 
 coisa, mas é mais justo.

Só um detalhe no que o Fabio escreveu acima: a partir da versão 5.5 do MySQL o 
storage engine padrão do MySQL é o InnoDB, e não o MyISAM [1].
[1] http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.html
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


Re: [pgbr-geral] Benchmark PostgreSQL x MySQL

2014-03-31 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2014-03-31 17:05 GMT-03:00 Marcal Hokama mhok...@hotmail.com:

 Só um detalhe no que o Fabio escreveu acima: a partir da versão 5.5 do MySQL 
 o storage engine padrão do MySQL é o InnoDB, e não o MyISAM

Meno male.  Mas continua sendo proprietário (e pago) o componente de
cópias de segurança a quente do InnoDB?

Não se aplica diretamente ao assunto original, mas imagino que durante
muitos e muitos anos ainda velhos programetas e ferramentas criados
para MySQL ≤5.4, ou simplesmente codificados com a antiga mentalidade,
causarão estragos ‘tuchando’ MyIsam indiscriminadamente.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral