Postgres vs MySQL: Qual deles é mais difícil de escalar?

8

Da sua experiência, qual banco de dados é mais difícil de dimensionar? MySQL ou Postgres? Eu sei que o MySQL tem vários recursos de escalonamento / armazenamento prontos para uso, mas com o Postgres não há nenhum que seja pronto para uso. CMIIW.

EDITAR :

Desculpe pela confusão aqui, minha pergunta está se referindo ao dimensionamento horizontal (escalonamento horizontal), ou seja, armazenamento em cluster, fragmentação etc. Eu sei que ambos podem ser dimensionados horizontalmente, mas qual deles é mais fácil de implementar?

Obrigado por compartilhar.

    
por Joshua Partogi 22.11.2010 / 13:45

3 respostas

1

O MySQL é MUITO mais fácil de escalar, o clustering e a replicação são nativos e muito fáceis de gerenciar e implementar (mesmo para alguém que realmente não tem conhecimento de banco de dados).

O PostgreSQL só suporta replicação básica por enquanto, e nada oficial sobre clustering (tecnicamente você pode via ferramentas de terceiros, mas se torna um inferno para gerenciar).

Eu nunca escolheria o Postgresql se eu planejasse expandir.

Edit: very old answer take with a grain of salt as postgres and mysql have changed a lot since this was answered.

    
por 30.11.2010 / 00:38
8

Embora essa questão pareça contrariar o princípio "Evite fazer perguntas subjetivas ou argumentativas" do site, não resisto a uma resposta.

Depende.

Estão falando sobre uma configuração de servidor único que é dimensionada para conjuntos de dados muito grandes?
Ambos podem funcionar nessa situação, dependendo do conjunto de dados, mas nenhum deles provavelmente terá um desempenho muito bom sem configuração personalizada e planejamento adequado. Na minha experiência ao trabalhar em grandes conjuntos de dados com muitas gravações, descobri que o Postgres tem menos condições que causam bloqueio e o desempenho geral é melhor.

Você está falando sobre configurações multi-servidor que escalam para muitos escravos para muitos leitores?
O MySQL tem sido historicamente considerado o líder neste espaço, já que ele vem com replicação assíncrona embutida. Isso não é mais o caso se você não se opuser a usar o mais novo software de banco de dados; O Postgres agora também está integrado com o lançamento do 9.0. Minhas experiências com a replicação do MySQL foram mais que adequadas a este ponto.

Você está falando sobre configurações de vários servidores que são escaladas para muitos mestres para muitos escritores?
Essa é, de longe, a maneira mais difícil de dimensionar o produto e, muitas vezes, pode ser evitada com o uso de servidores de failover. Se você realmente precisa escalar para alta disponibilidade de servidores master, addons / instalações alternativas não podem ser evitados. Para o MySQL existe o MySQL Cluster NDB que tem uma opção de código aberto ou um versão comercial . Para o Postgres, existem muitos addons que podem obter níveis variados de HA e pooling

A longo prazo, o escalonamento de seu banco de dados geralmente se resume ao planejamento de projetos. Se o seu aplicativo for projetado tendo em mente a escala, o sistema de banco de dados que melhor corresponda aos seus desenvolvedores é geralmente a melhor opção.

    
por 22.11.2010 / 18:49
3

O PostGre tem mais recursos e opções de configuração.

Assim, é mais difícil escalar, mas também é provável que seja dimensionado melhor, isto é, se configurado corretamente.

Geralmente, o MySQL provavelmente ainda será mais rápido, por outro lado, a verdadeira questão é quanto você valoriza a integridade dos dados, e de quais recursos você precisa, e você quer depender do Oracle (agora possui o MySQL)?

Além disso, existem questões de licenciamento, como você realmente quer comprar uma licença MySQL só porque você não quer publicar sua aplicação sob a GPL?
Com o PostGreSQL, isso não é problema, o que é uma grande vantagem.

    
por 22.11.2010 / 14:00