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

8

De acordo com sua experiência, qual serviço de banco de dados é mais difícil de escalar? MySQL ou Postgres? Eu sei que o MySQL possui vários recursos de escalonamento / cluster prontos para o uso, mas com o Postgres, não há nenhum que saia pronto para uso. CMIIW.

EDIT :

Desculpe a confusão aqui, minha pergunta está se referindo à expansão horizontal (horizontal), ou seja, agrupamento, fragmentação, etc. Eu sei que ambos podem ser dimensionados horizontalmente, mas qual é mais fácil de implementar?

Obrigado por compartilhar.

Joshua Partogi
fonte

Respostas:

1

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

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

Eu nunca escolheria o Postgresql se pretender expandir.

Edit: resposta muito antiga leva com um grão de sal, pois o postgres e o mysql mudaram muito desde que isso foi respondido.

Kedare
fonte
Então o Postgres é bom apenas para banco de dados monolítico?
Joshua Partogi
Ambos são bons no banco de dados de servidor único, para você ver quais recursos específicos do MySQL ou PostgreSQL você precisa
Kedare
2
O MySQL é certamente muito mais fácil, mas o problema com o MySQL é que ele não verifica a integridade dos dados. Além disso, o PostGreSQL suporta totalmente clustering e replicação. Veja: wiki.postgresql.org/wiki/Clustering e wiki.postgresql.org/wiki/…
Quandary
7
Certamente existem muitas soluções para expandir o PostgreSQL "out", e muitos dos maiores sites e sistemas do mercado usam exatamente isso. O MySQL será mais fácil de expandir, se você já conhece o mysql , e o postgresql será mais fácil de expandir, se você já conhece o postgresql . Se você não conhece, eles provavelmente são praticamente iguais quanto à dificuldade, e você deve examinar as outras propriedades dos bancos de dados para escolher um.
Magnus Hagander
Gostaria de saber se esta resposta ainda é relevante, foi respondida há quase 8 anos
CommonSenseCode
8

Embora esta pergunta pareça contrária ao princípio "Evite fazer perguntas subjetivas ou argumentativas" do site, não resisto a tentar uma resposta.

Depende.

Estão falando de uma única configuração de servidor que pode ser dimensionada para conjuntos de dados muito grandes?
Ambos podem funcionar nessa situação, dependendo do conjunto de dados, mas provavelmente não terão um desempenho muito bom sem a configuração personalizada e o 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 foi melhor.

Você está falando de configurações de vários servidores que escalam para muitos escravos para muitos leitores?
Historicamente, o MySQL é considerado o líder nesse espaço desde que veio com a replicação assíncrona incorporada. Esse não é mais o caso se você não se opuser ao uso do mais novo software de banco de dados; O Postgres agora também tem isso incorporado com o lançamento do 9.0. Minhas experiências com a replicação do MySQL foram mais do que adequadas a este ponto.

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

A longo prazo, o dimensionamento do seu banco de dados normalmente se resume ao planejamento do design. Se o seu aplicativo for projetado com escala em mente, o sistema db que melhor corresponda aos seus desenvolvedores geralmente é a melhor opção.

Ed.
fonte
3

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

Portanto, é provável que seja mais difícil dimensionar, mas também é provável que ele seja dimensionado melhor, ou seja, 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 quais recursos você precisa e deseja depender do Oracle (agora possui o MySQL)?

Além disso, existem questões de licenciamento, como você realmente deseja comprar uma licença do MySQL apenas porque não deseja publicar seu aplicativo na GPL?
Com o PostGreSQL, isso não é problema, o que é uma vantagem muito grande.

Dilema
fonte