25 votos

El escalado de las bases de datos con hoteles de SSD, unidades de disco duro

Espero que muchos de ustedes están trabajando con alto tráfico de bases de datos de sitios web, y lo más probable es que sus principales problemas de escalabilidad en la base de datos. Me di cuenta de un par de cosas últimamente:

  1. La mayoría de las grandes bases de datos requieren de un equipo de Administradores de bases de datos en orden a escala. Ellos luchan constantemente con las limitaciones de las unidades de disco duro y terminar con muy caros (SANs o grandes Redadas, mantenimiento frecuente de windows para desfragmentar y volver a particionar, etc.) El real costo anual de mantenimiento de bases de datos está en $100 MIL-1 millón de DÓLARES de la gama que es demasiado fuerte para mí :)

  2. Por último, tenemos varias empresas como Intel, Samsung, FusionIO, etc. que sólo comenzó a vender muy rápido y asequible SSD, unidades de disco duro basado en Flash SLC tecnología. Estas unidades son 100 veces más rápido en lectura aleatoria/escribe que el mejor de girar los discos duros en el mercado (hasta 50.000 escrituras aleatorias por segundo). Su tiempo de búsqueda es casi nulo, por lo que el costo de e/S aleatorias es la misma que la e/S secuencial, que es impresionante para bases de datos. Estas unidades SSD, cuesta alrededor de $10-$20 por gigabyte, y son relativamente pequeña (64 GB).

Así, parece ser una oportunidad para evitar los ENORMES costos de la ampliación de las bases de datos de la forma tradicional por la simple construcción de una lo suficientemente grande como RAID 5 matriz de discos SSD (la cual tendría un costo de unos pocos miles de dólares). Entonces no nos importa si el archivo de base de datos está fragmentado, y podemos darnos el lujo de 100 veces más que las escrituras en disco por segundo sin tener que difundir la base de datos a través de 100 ejes. .

¿Hay alguien más interesado en esto? La he estado probando un par de discos SSD y que pueda compartir mis resultados. Si alguien en este sitio ya ha resuelto sus I/O cuello de botella con los Ssd, me encantaría escuchar sus historias de la guerra!

PS. Sé que hay un montón de soluciones costosas, hay que ayudar con la escalabilidad, por ejemplo, la probada en el tiempo, basada en RAM SANs. Quiero ser claro que hasta $50K es demasiado caro para mi proyecto. Tengo que encontrar una solución que no cuesta más de $10K y no toma mucho tiempo para poner en práctica.


Dave, NXC, y Fornidos,

Gracias por sus respuestas! Me gustaría aclarar que la palabra "barato" es muy importante en mi situación. Así que, tengo para uso turístico en los servidores de Dell ($4K 2950s que tienen sólo 8 bancos de memoria). Ya tengo 32GB de RAM instalada, así que no puedo mantener el escalamiento de esta manera. Además, la adición de RAM no te salva de ESCRITURA de disco cuellos de botella, que es mi principal problema ahora mismo.

Yo solía ser de que se trate con vida de los Ssd, pero después de leer acerca de los modernos algoritmos de nivelación de desgaste estoy bastante seguro de que estas unidades va a durar el tiempo suficiente. Mi base de datos escribe de 300 gb por día, y se proyecta que ir más de 1 TB por día en 2009. Las Ssd para empresas están diseñados para manejar alrededor de 10 TB de escrituras por día a lo largo de varios años.

Yo estaría de acuerdo con Corpulento punto que se toma demasiado trabajo para migrar de SAS SSD. Mi base de datos es un sincrónica espejo, por lo que puede actualizar uno de los lados del espejo, entonces ver por un par de meses, y si sopla puedo conmutación por error para el segundo servidor que todavía tiene el viejo de buen unidades de disco duro SAS...

20voto

Ron Tuffin Puntos 8286

Posibles Problemas

Tengo un par de puntos de problema con el uso de unidades de estado sólido para la producción de bases de datos en el tiempo presente

  • La mayoría de las transacciones de base de datos en la mayoría de los sitios web se lee, no escribe. Como Dave Markle dijo, maximizar el rendimiento con la RAM primera.
  • Las unidades ssd son nuevos a la corriente principal y de la empresa y los mercados y no de administración que se precie va a mover una base de datos de producción que en la actualidad requiere de 15K RPM U320 discos en RAID 5 comunicación a través de canal de fibra para no probados de la tecnología.
  • El costo de la investigación y las pruebas de mudarse a esta nueva tecnología, investigación en su entorno, la actualización de los procedimientos operativos, y así en adelante, es un mayor costo por adelantado, tanto en términos de tiempo y dinero, que la mayoría de las tiendas tienen de sobra.

Beneficios Propuestos

Dicho esto, hay una serie de elementos que, al menos sobre el papel, en favor de los Ssd en el futuro:

  • Menor consumo de energía en comparación con un disco duro
  • Mucho menor generación de calor
  • Mayor rendimiento por vatio en comparación con un disco duro
  • Un rendimiento muy superior
  • Una latencia mucho menor
  • La mayoría de la actual generación de unidades Ssd de tener en el orden de millones de ciclos de escritura de la resistencia, por lo que escribir la resistencia no es un problema como lo fue una vez. Ver un poco de la fecha del artículo aquí

Así que para un determinado rendimiento de referencia, cuando el factor de costo total de propiedad, incluyendo energía directa e indirecta de los costos de enfriamiento, las unidades Ssd podría llegar a ser muy atractivo. Además, dependiendo de los detalles de su medio ambiente, la reducción en el número de dispositivos necesarios para un nivel dado de rendimiento podría también resultar en una reducción de las necesidades de personal, la reducción de costos de mano de obra.

Costo y Rendimiento

Ha añadido que tiene una restricción de costos por debajo de los $50 mil DÓLARES y usted realmente quiere mantener por debajo de los $10K. Usted también ha dicho en un comentario que usted puede conseguir algunos "barato", unidades Ssd, eludir que el Ssd va a ser más barato que los Administradores o consultores. Esto puede ser cierto, dependiendo del número de horas que necesitaría un DBA y si es una regresado coste o no. Yo no puedo hacer el análisis de costo para usted.

Sin embargo, una cosa que usted debe ser muy cuidadoso de que es el tipo de SSD que usted consigue. No todos los Ssd son creados iguales. Por lo general el "barato" Ssd se puede ver para la venta en los $200 a 400 dólares (2008/11/20) son destinados a baja potencia/calor entornos como los portátiles. Estas unidades realmente tienen menores niveles de rendimiento en comparación con un 10K o 15K RPM HDD - especialmente para las escrituras. El nivel de la empresa, las unidades que tienen el asesino de rendimiento de hablar de como la Mtron Pro series son bastante caros. Actualmente son alrededor de:

  • 400 USD para el de 16GB
  • 900 DÓLARES para el de 32 gb
  • 1400 USD para el de 64 gb
  • 3200 USD para el de 128 gb

Dependiendo de su espacio, el rendimiento y la redundancia de los requisitos, usted puede fácilmente golpe de su presupuesto.

Por ejemplo, si sus requisitos requirió de un total de 128 GB de almacenamiento disponible, a continuación, RAID 0+1/10 o RAID 5 con 1 repuesto dinámico sería ~$5600

Si usted necesita un TB de almacenamiento disponible, sin embargo, a continuación, RAID 0+1/10 sería ~$51 K y RAID 5 con 2 repuestos activos sería ~$32K.

Gran Imagen

Dicho esto, la instalación, la configuración y el mantenimiento de una gran base de datos de producción requiere de un personal altamente capacitado individuales. Los datos de la DB y de los servicios prestados a partir de los datos son de muy alto valor para las empresas con este nivel de requisitos de desempeño. Además, hay muchas cosas que simplemente no puede ser resuelto por el lanzamiento de hardware en el problema. Una configuración incorrecta del DBMS, un pobre esquema de base de datos o la estrategia de indización puede /naufragio/ una base de datos de rendimiento. Basta con mirar a los problemas de Stackoverflow experimentado en su migración a SQL Server 2008 aquí y aquí. El hecho del asunto es, una base de datos es un extenuante aplicación no sólo en el disco, sino que la RAM y la CPU también. El equilibrio de la multi-variable problema de rendimiento, junto con la integridad de los datos, seguridad, redundancia, y de copia de seguridad es un poco complicado.

En resumen, mientras que yo no creo que cualquier y todas las mejoras en la tecnología de hardware y software son recibidos por la comunidad, a gran escala de la administración de bases de datos - como el desarrollo de software, es un problema difícil y seguirá requieren trabajadores calificados. Un determinado mejoría no se puede cosechar el trabajo de reducción de costes o una compañía podría desear.

Un buen punto de saltar para algunos la investigación podría ser Brent Ozar del sitio web/blog aquí. Usted podría reconocer su nombre - él es el que ha asistido a la stackoverflow de la tripulación con sus MS SQL Server 2008 problemas de rendimiento. Su blog y los recursos que los enlaces a ofrecer un poco de amplitud y profundidad.

Actualización

Stackoverflow ellos mismos van al consumidor basado en SSD ruta para su almacenamiento. Leer sobre ello aquí: http://blog.serverfault.com/post/our-storage-decision/

Referencias

4voto

vyse Puntos 39

Si usted tiene un muy, muy alto-tráfico sitio que pueden beneficiarse de un SSD para un mayor rendimiento de escritura, es probable que tenga un problema con el tiempo de vida de la SSD, por lo que no estoy vendido en ellas, pero para que.

Con eso en mente, ¿qué hacer con las bases de datos que tienen altos niveles de lee? La respuesta es simple: jam el servidor con tanta RAM como usted puede en el estómago. Usted encontrará que el más caliente de las mesas son casi siempre guardada en caché de RAM de todos modos, y cualquier gran golpe a la disco va a ser, probablemente, debido a un gran recorrido de tabla o índice, que a menudo puede ser optimizado de distancia con una correcta indexación.

1voto

Adam Smith Puntos 11

Acabamos de poner juntos un w2k3 r2 de 64 bits de Sql server 2008 en dual 2.5 en Seagate Momentus XT híbrido espejo - 1/4 de trazo para el sistema operativo, y 1/4 de accidente cerebrovascular de los DB. Así se fueron utilizando gb 125gb para el sistema operativo y gb 125gb de DB. estaban recibiendo 1500MB/s a 1900MB/s ss lee. En un Intel i7 2600K 3.4 Ghz 8GB

0voto

David Locke Puntos 4419

Hay productos en el mercado, tales como Este que hacer este tipo de cosas. También, como el otro cartel dice, añadiendo más memoria RAM para el servidor de DB, se obtendrán mejores tasas de aciertos de caché, lo que reducirá el disco de tráfico.

8-Opteron socket servidores como un Sol X4600 te permitirá poner de hasta 256 gb de RAM para los precios que siguen siendo más baratos que un gran equipo de administradores. Usted también podría considerar el uso de archivos planos en lugar de un DBMS (como esta compañía hizo), lo que le dará un mejor rendimiento que un DBMS. En este caso, un SAN le dará un grado de integridad de los datos. Sin embargo, usted tendrá que diseñar su estrategia de acceso a datos con cuidado para evitar meterse en un lío. Al parecer muy pocos de gran volumen de dot-com trajes de hacer esto. Es mucho más eficiente que un sistema de base de datos, lo que permite bastante pedestre de hardware para manejar grandes cargas, y evita DBMS de licencia de honorarios.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: