Espero que muitos de vocês estejam trabalhando com sites direcionados a bancos de dados de alto tráfego, e é provável que seus principais problemas de escalabilidade estejam no banco de dados. Eu notei algumas coisas ultimamente:
A maioria dos bancos de dados grandes exige uma equipe de DBAs para escalar. Eles lutam constantemente com as limitações dos discos rígidos e acabam com soluções muito caras (SANs ou RAIDs grandes, janelas de manutenção freqüentes para desfragmentar e reparticionar etc.). O custo anual real da manutenção desses bancos de dados está na faixa de US $ 100 mil a US $ 1 milhão. muito íngreme para mim :)
Finalmente, temos várias empresas como Intel, Samsung, FusionIO etc. que começaram a vender discos rígidos SSD extremamente rápidos e acessíveis, com base na tecnologia SLC Flash. Essas unidades são 100 vezes mais rápidas em leitura / gravação aleatória do que as melhores unidades de disco giratório do mercado (até 50.000 gravações aleatórias por segundo). O tempo de busca é praticamente zero, portanto o custo da E / S aleatória é o mesmo da E / S sequencial, o que é incrível para os bancos de dados. Essas unidades SSD custam entre US $ 10 e US $ 20 por gigabyte e são relativamente pequenas (64 GB).
Portanto, parece haver uma oportunidade para evitar os enormes custos de escalar bancos de dados da maneira tradicional, simplesmente criando uma matriz RAID 5 grande o suficiente de unidades SSD (o que custaria apenas alguns milhares de dólares). Então, não nos importamos se o arquivo do banco de dados está fragmentado e podemos pagar 100 vezes mais gravações de disco por segundo sem precisar distribuir o banco de dados por 100 eixos. .
Alguém mais está interessado nisso? Estou testando algumas unidades SSD e posso compartilhar meus resultados. Se alguém neste site já resolveu o gargalo de I / O com SSDs, adoraria ouvir suas histórias de guerra!
PS. Eu sei que existem muitas soluções caras por aí que ajudam na escalabilidade, por exemplo, as SANs baseadas em RAM e comprovadas pelo tempo. Quero deixar claro que até US $ 50 mil são muito caros para o meu projeto. Preciso encontrar uma solução que não custe mais que US $ 10 mil e não leve muito tempo para ser implementada.
Dave, NXC e Burly,
Obrigado por suas respostas! Gostaria de esclarecer que a palavra "barato" é muito importante na minha situação. Então, eu tenho que usar servidores Dell baratos (US $ 4K 2950s que possuem apenas 8 bancos de memória). Já tenho 32 GB de RAM instalada, portanto não posso continuar dimensionando dessa maneira. Além disso, adicionar RAM não o salva dos gargalos WRITE do disco, que é o meu principal problema no momento.
Eu costumava me preocupar com a vida útil dos SSDs, mas depois de ler sobre os algoritmos modernos de nivelamento de desgaste, tenho certeza de que essas unidades durarão o tempo suficiente. Meu banco de dados grava 300 GB por dia e projeta ultrapassar 1 TB por dia em 2009. Os SSDs corporativos foram projetados para lidar com cerca de 10 TB de gravações por dia em vários anos.
Eu discordo do argumento de Burly de que é preciso muito trabalho para migrar do SAS para o SSD. Meu banco de dados é um espelho síncrono, para que eu possa atualizar um lado do espelho, observá-lo por alguns meses e, se explodir, posso executar o failover no segundo servidor que ainda possui os bons discos rígidos SAS antigos ...