Estou trabalhando em um site que pode ter um banco de dados muito grande. O site será uma comunidade artística até o deviantART. Vou fazer muitas pesquisas para analisar como o site é usado. Espero que algumas das consultas eliminem o banco de dados porque não sei como otimizar as consultas SQL (ainda). Estou começando com um pequeno VPS linux e mudaria para servidores físicos no futuro.
Qual banco de dados escalaria melhor dada essa situação?
Antes de tomar uma decisão com base na escalabilidade, você pode querer ler estas duas páginas e decidir o quanto você valoriza sua sanidade:
Primeiro, deixe-me prefixar minha resposta com o fato de que sou fortemente inclinado para o PostgreSQL. Eu uso o PostgreSQL e o MySQL intensamente em sites bastante grandes. Eu, de vez em quando, tenho problemas com o MySQL caindo no desempenho. Quando isso acontece, costumo reiniciá-lo e as coisas voltam ao normal. Também é importante notar que executamos PostgreSQL em tudo de 8 a 32 caixas principais e nosso cluster do MySQL é executado em um conjunto de 8 caixas principais. Monty, quando estava na Sun, afirmou que o MySQL não pode ser escalado em uma única caixa além de 4 núcleos.
Existem alguns tópicos bastante decentes sobre isso no estouro de pilha:
https://stackoverflow.com/questions/110927/do-you-recommend-postgresql-over-mysql
https://stackoverflow.com/questions/216601/postgressql-mysql-Oracle-diferences
https://stackoverflow.com/search?q=postgres+mysql
Esse site de dicas também é ótimo :)
Na verdade, depende do tipo de consultas que você executará. A menos que você esteja executando consultas muito complexas, também será adequado para um site muito grande. Existem bons exemplos de ambos os bancos de dados executando sites de grande escala