Qual é melhor plataforma para banco de dados de grande escala

votos
4

Entre MySQL e PostgreSQL, que é suite para escala muito grande de data..for exemplo, milhões de registro ... eu penso, eu deveria usar o PostgreSQL ... qualquer caras sugestão?

Publicado 27/08/2009 em 03:36
fonte usuário
Em outras línguas...                            


4 respostas

votos
5

Eu usei tanto em situações semelhantes, e tamanho da DB não parece afectar o seu dimensionamento de formas substancialmente diferentes. PostgreSQL é muito mais completo e sólido, e será muito melhor suporte consultas complexas e sua otimização, enquanto MySQL pode brilhar em termos de velocidade de recuperação para consultas extremamente simples; mas estes aspectos são independentes da questão tamanho.

Respondeu 27/08/2009 em 03:44
fonte usuário

votos
4

Postgres tem um conjunto mais rico de habilidades e uma melhor otimizador; a sua capacidade de fazer hash muitas vezes torna muito mais rápido do MySQL para junta. MySQL é rumores de ser mais rápido para varreduras de tabela simples. O mecanismo de armazenamento que você usa por baixo importa muito, também.

Em algum ponto, a escala torna-se uma escolha entre duas opções: escala, comprando maior hardware, ou escala através da introdução de novas máquinas (que você pode caco os dados, a utilização como réplicas de escravos, ou tente uma configuração master-master - tanto Posgres e MySQL tem soluções de vários níveis de qualidade para esses tipos de coisas).

Alguns milhões de linhas de dados da tabela caber na memória de um servidor padrão nos dias de hoje; se isso é tudo que você está fazendo, você não precisa se preocupar com essas coisas - basta otimizar qualquer banco de dados que você está mais confortável com, para garantir os índices adequados são criados, tudo é armazenado em cache (e algo como memcached é usado se for o caso) , e assim por diante.

Pessoas mencionar que o Facebook usa MySQL; esse é o tipo de verdade. Tipo de porque o que eles estão realmente fazendo é usando centenas (milhares agora?) De bancos de dados MySQL, todos eles responsáveis ​​pela sua própria pequena seção transversal dos dados. Se você acha que pode carregar facebook em um MySQL (ou postgres, ou Oracle) instância ... bem, eles provavelmente adoraria ouvir de você ;-).

Uma vez que você entrar na terra terabyte, as coisas ficam difíceis. Existem soluções especializadas como Vertica, Greenplum, Aster Data. Há os vários armazenamentos de dados "NoSQL", como Cassandra, Voldemort, e HBase. Mas eu duvido que você precisa ir a tal extremo. Basta comprar um pouco mais memória RAM.

Respondeu 27/08/2009 em 04:32
fonte usuário

votos
4

Eu acho que isso depende muito do que você entende por "melhor". Você provavelmente deve identificar as suas necessidades antes de escolher um ou outro.

Mais rápido? Mais confiável? Permite a replicação? Pode fazer consultas mais complexas? É a sua aplicação passíveis de "fragmentação", caso em que você provavelmente quer um banco de dados que pode agrupar e ser administrada mais facilmente, ou você precisa de tudo em um conjunto enorme de tabelas vinculadas, caso em que você provavelmente vai querer um bom suporte para vários núcleos e grande memória. Você tem uma autenticação complexo configurar ou é um simples "um usuário" aplicação web? É a maior parte dos dados em objetos binários, ou é simples números e strings? Como você vai fazer seus backups?

MySQL e PostgreSQL ambos parecem ser bases de dados muito capazes, e ambos têm sido utilizados com sucesso em grande escala, então eu sugiro que você precisa identificar as necessidades específicas de sua aplicação em primeiro lugar.

Minha inclinação seria para com PostgreSQL, mas isso é principalmente porque eu tinha alguns desastres com MySQL perda de dados de alguns anos atrás e eu não vim para confiar nele novamente. PostgreSQL tem sido muito bom em termos de ser capaz de fazer backups facilmente.

Respondeu 27/08/2009 em 04:17
fonte usuário

votos
2

Bem, em última análise, depende do que você está mais confortável com. De acordo com o MySQL, não há limite teórico imposta ao tamanho do banco de dados ... isso depende da capacidade do hardware apoiá-lo. Com o número de linhas, usando InnoDB, o limite teórico é de 256 terabytes. A razão que eu continuo jogando fora teórica é que, provavelmente há uma pequena chance de que você poderia possivelmente índice de 256 terabytes de dados, o que é que eles estão aproximando pode haver um limite. Se você bater esse máximo, você tem problemas maiores. Os usuários atuais do MySQL em produção, que eu posso pensar, são YouTube e Facebook. Essas são provavelmente as duas maiores ... e parece que eles estão se saindo bem.

Mas mais uma vez, como eu disse acima. É o que você está mais confortável com.

Respondeu 27/08/2009 em 03:44
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more