Espero que muchos de ustedes estén trabajando con sitios web basados en bases de datos de alto tráfico, y es probable que sus principales problemas de escalabilidad estén en la base de datos. Noté un par de cosas últimamente:
La mayoría de las bases de datos grandes requieren un equipo de DBA para escalar. Luchan constantemente con las limitaciones de los discos duros y terminan con soluciones muy caras (SAN o RAID grandes, ventanas de mantenimiento frecuentes para desfragmentar y volver a particionar, etc.) El costo anual real de mantener tales bases de datos está en el rango de $ 100K- $ 1M que es demasiado empinado para mí :)
Finalmente, tenemos varias compañías como Intel, Samsung, FusionIO, etc. que acaban de comenzar a vender discos duros SSD extremadamente rápidos pero asequibles basados en la tecnología SLC Flash. Estas unidades son 100 veces más rápidas en lectura / escritura aleatoria que los mejores discos duros giratorios del mercado (hasta 50,000 escrituras aleatorias por segundo). Su tiempo de búsqueda es prácticamente nulo, por lo que el costo de las E / S aleatorias es el mismo que la E / S secuencial, lo cual es increíble para las bases de datos. Estas unidades SSD cuestan alrededor de $ 10- $ 20 por gigabyte, y son relativamente pequeñas (64 GB).
Entonces, parece haber una oportunidad para evitar los ENORMES costos de escalar bases de datos de la manera tradicional simplemente construyendo una matriz RAID 5 lo suficientemente grande de unidades SSD (que costaría solo unos pocos miles de dólares). Entonces no nos importa si el archivo de la base de datos está fragmentado, y podemos permitirnos 100 veces más escrituras de disco por segundo sin tener que distribuir la base de datos en 100 ejes. .
¿Alguien más está interesado en esto? He estado probando algunas unidades SSD y puedo compartir mis resultados. Si alguien en este sitio ya ha resuelto su cuello de botella de E / S con SSD, ¡me encantaría escuchar sus historias de guerra!
PD. Sé que existen muchas soluciones costosas que ayudan con la escalabilidad, por ejemplo, las SAN basadas en RAM probadas con el tiempo. Quiero dejar en claro que incluso $ 50K es demasiado caro para mi proyecto. Tengo que encontrar una solución que no cueste más de $ 10K y que no tome mucho tiempo implementarla.
Dave, NXC y Burly,
Gracias por tus respuestas! Me gustaría aclarar que la palabra "barato" es muy importante en mi situación. Entonces, tengo que usar servidores Dell baratos ($ 4K 2950 que tienen solo 8 bancos de memoria). Ya tengo 32 GB de RAM instalados, así que no puedo seguir escalando de esta manera. Además, agregar RAM no lo salva de los cuellos de botella de ESCRITURA del disco, que es mi principal problema en este momento.
Solía preocuparme por la vida útil de los SSD, pero después de leer sobre los algoritmos modernos de nivelación de desgaste, estoy bastante seguro de que estas unidades durarán lo suficiente. Mi base de datos escribe 300GB por día, y se proyecta que supere los 1TB por día en 2009. Los SSD Enterprise están diseñados para manejar alrededor de 10TB de escrituras por día durante varios años.
No estoy de acuerdo con el punto de Burly de que se necesita demasiado trabajo para migrar de SAS a SSD. Mi base de datos es un espejo síncrono, así que puedo actualizar un lado del espejo, luego mirarlo durante unos meses, y si falla, puedo conmutar por error al segundo servidor que todavía tiene los viejos discos duros SAS buenos ...