Bases de datos transaccionales
RAID-5 es relativamente lento para escribir, ya que el controlador necesita cargar suficientes datos para volver a calcular la paridad en una escritura. Las operaciones de escritura incurrirán en al menos cuatro operaciones de disco:
Lectura en el bloque de paridad
Lectura en el bloque anterior (suponiendo que aún no esté en caché) para XOR el valor con el bloque de paridad.
Escribir el nuevo bloque de paridad (bloque de paridad antiguo XOR bloque de datos antiguo XOR nuevo bloque de datos)
Escribir el nuevo bloque de datos.
Si el sistema no utiliza el almacenamiento en caché de reescritura, esto significa que todas estas opciones están en la ruta crítica para completar la E / S. A menudo, este es el caso con las escrituras de bases de datos; de hecho, Microsoft (por ejemplo) tiene un programa de certificación para equipos SAN para usar con el servidor SQL que requiere que los proveedores garanticen este comportamiento. A veces, los equipos RAID-5 más antiguos no usaban esta optimización y tenían que volver a calcular la paridad de toda la franja.
RAID-10 tiene un espejo para cada unidad y no necesita leer datos adicionales para calcular la paridad. Esto significa que las escrituras necesitan mucha menos E / S física.
RAID-50 se encuentra en algún lugar en el medio, con el volumen dividido en múltiples volúmenes RAID-5, que a su vez están divididos. En un RAID-50 hecho de grupos divididos en un esquema 3 + 1, una escritura genera como máximo tres solicitudes adicionales de E / S de disco. Si se siente tan inclinado, puede ver RAID-5 y RAID-10 como casos especiales de RAID-50. RAID-50 se utiliza principalmente para proporcionar grandes volúmenes en muchos discos físicos.
También existen otros esquemas de paridad como RAID-6 (un esquema de paridad con dos discos redundantes por juego). Los discos modernos son lo suficientemente grandes como para que la descomposición de una matriz pueda llevar bastante tiempo, lo suficiente como para que el riesgo de una segunda falla de disco durante el La reconstrucción es bastante significativa. RAID-6 mitiga este riesgo al tener un segundo disco de paridad, que requiere tres fallas de disco para causar la pérdida de datos. Se puede usar un truco similar a los esquemas RAID-50 para hacer matrices RAID-60.
Finalmente, un solo par duplicado (conocido como RAID-1) puede proporcionar redundancia y un rendimiento suficientemente bueno para algunas tareas. En particular, probablemente encontrará que RAID-1 le proporciona un rendimiento suficiente para una gran cantidad de tráfico de registro de base de datos. Más sobre esto a continuación.
Si tiene una carga de trabajo de escritura pesada, probablemente obtendrá un aumento de rendimiento de un volumen RAID-10. Esto puede ser una victoria, ya que probablemente pueda obtener el rendimiento requerido de un número menor de discos físicos, suponiendo que los discos tengan suficiente espacio). Algunos elementos, como los registros o las áreas de temporay en un servidor de base de datos, deben estar en volúmenes RAID-1 o RAID-10, ya que obtienen mucho tráfico de escritura.
Registros
Los volúmenes de registro se caracterizan por un patrón de acceso de datos mayormente secuencial, y son esencialmente un buffer de anillo que consiste en comandos a lo largo de las líneas de 'escribir estos datos en este bloque'. Son escritos como productores por el motor central DBMS y procesados como un consumidor por la función de lector de registro. Un solo par duplicado realmente manejará una gran cantidad de tráfico de registro.
Sistemas pesados de lectura y servidores de archivos
En un sistema con mucha lectura, como un almacén de datos, es posible que desee utilizar uno o más volúmenes RAID-5. En un servidor de archivos, los accesos al disco se realizarán en gran medida sobre la base de un archivo completo, por lo que las escrituras probablemente escribirán la mayoría de los bloques que forman el bloque de paridad de todos modos. En este caso, la penalización de rendimiento para RAID-5 será más ligera.
En el pasado, el ahorro de costos en el disco puede haber sido significativo, pero ahora es menos probable que sea un problema.
Caché de reescritura y RAID-5
En una SAN o en una controladora RAID interna con una memoria caché respaldada por batería, puede habilitar el almacenamiento en caché 'Reescritura'. Esta caché escribe y devuelve el control a la aplicación. El controlador informa la E / S como completada. Sin embargo, no necesariamente escribe los datos en el disco de inmediato. Esta facilidad permite que las operaciones de lectura / escritura de paridad RAID-5 se optimicen sustancialmente y puede suavizar la penalización de rendimiento de escritura para volúmenes RAID-5x.
Sin embargo, esto todavía conlleva un pequeño riesgo de problemas de integridad de datos. Se le ha dicho al sistema host que esta escritura se ha completado cuando este no es el caso. Es posible que una falla de hardware cree inconsistencias de datos entre (digamos) el registro y los volúmenes de datos en un servidor de base de datos. Por esta razón, el almacenamiento en caché de reescritura no se recomienda para sistemas transaccionales, aunque puede ser una ganancia de rendimiento para algo como un proceso ETL.
Resumen
El espacio en disco es tan barato hoy en día que los sistemas transaccionales probablemente deberían usar RAID-1 o RAID-10 para volúmenes de registro y RAID-10 para volúmenes de datos. Es probable que el tamaño del disco físico sea mucho mayor que la base de datos y RAID-10 permitirá un mayor rendimiento de escritura para la misma cantidad de discos, reduciendo potencialmente la cantidad de volúmenes de disco necesarios para soportar el sistema.
En algo así como un almacén de datos, aún puede masticar espacio con tablas de hechos grandes y altamente indexadas, por lo que puede obtener una pequeña ganancia de precio con volúmenes de datos RAID-5 o RAID-50. Sin embargo, los registros y tempdb aún deben colocarse en un volumen RAID-10, ya que probablemente obtendrán mucho trabajo durante el procesamiento de ETL. Sin embargo, es probable que el ahorro de costos en el disco sea bastante pequeño.