[Cascavel-pm] Bases de Dados[off-topic]

Luis Motta Campos luismottacampos em yahoo.co.uk
Terça Março 27 03:00:00 PDT 2007


On Mar 27, 2007, at 3:27 AM, Nilson Santos Figueiredo Junior wrote:
> On 3/26/07, Luciano Giordani Bassani <lgbassani em terra.com.br> wrote:
>>  Eu uso os dois SGDB, inclusive em um mesmo servidor (sei que isso  
>> não é
>> recomendável, mas não foi aprovado uma descentralização). Ambos  
>> são usados
>> em projetos "grandes" e a única coisa que eu posso dizer é que meu  
>> sonho é
>> algum dia conseguir migrar a base de dados que roda no MySQL para o
>> PostgreSQL. Só lamento ter "caído" neste "papo" do desempenho na  
>> época da
>> escolha do MySQL.
>
> Desempenho não é "papo" quando você realmente precisa dele. Em um
> servidor Pentium 3 933Mhz com 1GB de RAM o MySQL usando MyISAM
> consegue agüentar mais de 20mil queries por segundo em um benchmark.

   Quando a gente fala sobre MySQL, desempenho é "papo", sim.
   Qualquer base de dados bem configurada consegue 20K queries por  
segundo sobre hardware PC padrão.
   Se você precisa de performance, tentar otimizar software é jogar  
dinheiro fora. Comece determinando se o seu hardware é capaz de te  
dar performance. Custa muito mais barato comprar um monte de Ferro  
Grande™ da IBM ou da HP do que tentar manter a sua base de dados / 
fine/ /tunned/ o bastante para suportar a carga.

> Agora mesmo estou olhando um servidor em produção que fica sob uma
> carga de +/- 2mil queries por segundo constantemente (~1650 leitura,
> ~350 escrita). Isso é uma situação real, com queries complexas, etc.

   Isso é perto de 1% do que eu exijo do meu cluster (2 máquinas) de  
base de dados neste momento, segundo o DBA local.
   Claro, aqui a base de dados está rodando em cima de Ferro Muito  
Grande™ by HP, e ninguém se deu ao trabalho de fazer /fine/ /tunning/  
para melhorar a performance.

> É claro que o Postgres oferece mais recursos e é uma plataforma muito
> mais agradável para se programar. Contudo, provavelmente, pra uma
> carga que satura um servidor MySQL/MyISAM você provalvelmente
> precisaria de 2 ou 3 servidores Postgres.

   Sem problemas, eu compenso o custo do Ferro Grande™ com outras  
facilidades permanentes, como descartar a necessidade de um DBA  
permanentemente otimizando cada linha de SQL que os 8 desenvolvedores  
aqui escrevem todos os dias. Apenas poder descartar um DBA  
qualificado aqui, por ano, me enconomiza perto de 50.000,00€, o que  
dá para comprar 5-6 servidores HP muito grandes, todos os anos.

> Mas é relativamente raro alguém precisar de um servidor que realize
> milhares de queries por segundo. Por isso, na maioria dos casos, o
> Postgres é uma ótima escolha.

   O meu caso não é assim tão "raro", mas certamente eu optaria por  
um Postgres, se eu pudesse escolher.
   Como a opção foi feita por uma pessoa "desinformada" quando do  
startup da empresa, muitos anos atrás, não tenho mais esta  
hipótese... mas ainda posso sugerir outras coisas.

   Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}




Mais detalhes sobre a lista de discussão Cascavel-pm