[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