Cuando el almacenamiento del servidor se reduce, todos los desarrolladores comienzan a gemir, "puedo obtener una unidad de 1 TB en Walmart por 100 dólares, ¿cuál es el problema?".
¿Cómo pueden explicarse las complejidades del almacenamiento a los desarrolladores para que comprendan por qué una unidad de 1 TB de Walmart simplemente no funcionará?
PD Soy un desarrollador y quiero saber también :)
Respuestas:
Algunas verdades sobre el almacenamiento en el hogar, o ¿por qué el almacenamiento empresarial es tan caro?
Los discos duros para el consumidor ofrecen grandes volúmenes de espacio para que incluso el usuario más exigente de * tos * transmisión de medios * tos * pueda comprar lo suficiente para almacenar una colección de varios terabytes. De hecho, la capacidad del disco ha crecido más rápido de lo que el transistor cuenta con silicio desde hace un par de décadas.
El almacenamiento 'empresarial' es un problema algo más complejo ya que los datos tienen requisitos de rendimiento e integridad que dictan un enfoque algo más pesado. Los datos deben tener alguna garantía de disponibilidad en caso de fallas de hardware y es posible que tengan que compartirse con una gran cantidad de usuarios, lo que generará muchas más solicitudes de lectura / escritura que un solo usuario.
Las soluciones técnicas a este problema pueden ser muchas, muchas veces más caras por gigabyte que las soluciones de almacenamiento de consumo. También requieren mantenimiento físico; las copias de seguridad deben tomarse y, a menudo, almacenarse fuera del sitio para que un incendio no destruya los datos. Este proceso agrega costos continuos.
Actuación
En su unidad de línea cercana de consumo de 1 TB o incluso empresarial, solo tiene una cabeza. El disco gira a 7200 RPM, o 120 revoluciones por segundo. Esto significa que puede obtener como máximo 120 operaciones de E / S de acceso aleatorio por segundo en teoría * y algo menos en la práctica. Por lo tanto, copiar un archivo grande en un solo volumen de 1TB es relativamente lento.
En una matriz de discos con discos de 14x 72GB, tiene 14 cabezales sobre discos a (digamos) 15,000 RPM o aproximadamente 250 revoluciones por segundo. Esto le proporciona un máximo teórico de 3.500 operaciones de E / S aleatorias por segundo * (nuevamente, algo menos en la práctica). En igualdad de condiciones, una copia de archivo será mucho, muchas veces más rápida.
*
Puede obtener más de un acceso aleatorio por revolución del disco si la geometría de las lecturas permite que la unidad mueva los cabezales y lea un sector que estuvo disponible dentro de una revolución del disco. Si los accesos al disco se dispersaron ampliamente, probablemente promedie menos de uno. Cuando una matriz de discos formateada en un diseño rayado (ver más abajo) obtendrá un máximo de una lectura de banda por revolución del disco en la mayoría de las circunstancias y (dependiendo del controlador RAID) posiblemente menos de uno en promedio.El disco 7200 RPM 1TB probablemente será razonablemente rápido en E / S secuenciales. Las matrices de discos formateadas en un esquema dividido (RAID-0, RAID-5, RAID-10, etc.) generalmente pueden leer como máximo una franja por revolución del disco. Con una banda de 64K podemos leer 64Kx250 = 16MB más o menos de datos por segundo en un disco de 15,000 RPM. Esto proporciona un rendimiento secuencial de alrededor de 220 MB por segundo en una matriz de 14 discos, que no es mucho más rápido en papel que los 150 MB / seg.
Para la transmisión de video (por ejemplo), una matriz de 4 discos SATA en un RAID-0 con un tamaño de banda grande (algunos controladores RAID admitirán tamaños de banda de hasta 1 MB) tienen bastante rendimiento secuencial. Teóricamente, este ejemplo podría transmitir aproximadamente 480 MB / seg, lo que es lo suficientemente cómodo como para realizar una edición de video HD sin comprimir en tiempo real. Por lo tanto, los propietarios de Mac Pros y hardware similar pueden realizar tareas de composición de video HD que hubieran requerido una máquina con una matriz de fibra de conexión directa hace solo unos años.
El beneficio real de una matriz de discos es el trabajo en la base de datos que se caracteriza por un gran número de solicitudes de E / S pequeñas y dispersas. En este tipo de carga de trabajo, el rendimiento está limitado por la latencia física de los trozos de metal en el disco que dan vueltas y más vueltas. Esta métrica se conoce como IOPS (operaciones de E / S por segundo). Cuantos más discos físicos tenga, independientemente de la capacidad, más IOPS puede hacer en teoría. Más IOPS significa más transacciones por segundo.
Integridad de los datos
Además, la mayoría de las configuraciones RAID le brindan cierta redundancia de datos, lo que requiere más de un disco físico por definición. La combinación de un esquema de almacenamiento con tal redundancia y un mayor número de unidades le da al sistema la capacidad de servir de manera confiable una gran carga de trabajo transaccional.
La infraestructura para las matrices de discos (y SAN en el caso más extremo) no es exactamente un elemento de mercado masivo. Además, es uno de los bits que realmente, realmente no puede fallar. Esta combinación de estándar de construcción y volúmenes de mercado más pequeños no es barata.
Costo total de almacenamiento incluyendo respaldo
En la práctica, el mayor costo para mantener 1TB de datos probablemente sea el respaldo y la recuperación. Una unidad de cinta y 34 juegos de cintas SDLT o ultrium para un ciclo completo de copia de respaldo y recuperación probablemente costará más de lo que costó una matriz de discos de 1TB. Agregue los costos de almacenamiento fuera del sitio y el salario de incluso un mono de cinta y de repente su 1TB de datos no es tan barato.
El costo de los discos es a menudo una forma justa de reducir la jerarquía de los costos de almacenamiento dominantes. En un banco tuve la oportunidad de trabajar para el almacenamiento SAN. Me costó £ 900 / GB para un sistema de desarrollo y £ 5,000 / GB para un disco en un servidor de producción. Incluso a precios de proveedor empresarial, el costo físico de los discos era solo una pequeña fracción de eso. Otro ejemplo que conozco tiene una IBM Shark SAN (relativamente) modestamente configurada que les costó más de £ 1 millón. Solo el almacenamiento físico en este se carga a alrededor de £ 9 / gigabyte, o alrededor de £ 9,000 por espacio equivalente a su HDD de consumo de 1TB.
fuente
Simplemente diga: "Sí, y puedo conseguir un programador de Java en alta mar por $ 5 / hora".
fuente
Quizás les haga algunas preguntas sobre su unidad Walmart:
... Compare estas respuestas con una unidad que se ejecuta como parte de una matriz RAID 5 en un centro de datos bien administrado.
(Divulgación: también soy desarrollador, ¡solo estoy adivinando!)
fuente
Tal vez debería considerar el almacenamiento diferenciado.
Es posible que su desarrollador necesite más espacio, pero tal vez no sea el espacio de disco de "clase empresarial" lo que busca. Tal vez solo necesita tener un lugar para almacenar .vhd e ISO, que es el caso de un bloqueo de disco, se puede descargar nuevamente desde MSDN. Tal vez las ejecuciones de prueba requieren grandes requisitos de espacio transitorio que solo deben estar allí durante la ejecución de la prueba. Para todos estos, una unidad Wallmart de $ 50 puede ser una solución válida.
fuente
Lo primero que la gente necesita darse cuenta sobre el almacenamiento es que hay una gran diferencia entre la capacidad y las IOPS. Cosas como la durabilidad, etc., generalmente son discutibles, casi siempre se reduce a IOPS vs. capacidad.
fuente
Depende de qué tipo de servidores pregunte. Para un servidor de desarrollo o prueba básico, las unidades de una tb de Wallmart son probablemente lo suficientemente buenas. Si se trata de un servidor de alta gama que no utiliza componentes estándar, pregúnteles si construirían un auto de carreras y comprarían llantas en una tienda de autopartes para ahorrar unos cuantos dólares.
fuente
La forma en que lo explico es esto. Si su jefe firmará la compra. Pondré un letrero en la unidad de Wal-Mart que dice ...
"El anuncio del sistema recibió instrucciones de poner esto aquí en contra de su voluntad". Y cuando la unidad muera, entregaré la unidad y la notaré al desarrollador y les preguntaré cómo hacer mi trabajo esta vez.
Estoy de acuerdo con Portman ... confía en el equipo o vete.
fuente
Una respuesta simple de una línea: las unidades de 1 TB suelen ser SATA, pero su servidor es SCSI. (Incluso si el servidor no es SCSI, esto podría detener la línea de investigación ... por ahora).
Una unidad SCSI de 300GB generalmente cuesta 4 veces el precio, luego se realiza una copia de seguridad de los datos existentes, se organiza el tiempo de inactividad, se realiza la instalación, algo puede salir mal, el tiempo extra, etc. etc. En general, una simple actualización de almacenamiento puede conducir a tipos de dolor, ninguno de los cuales el desarrollador es directamente responsable. Decir que puede comprar una unidad estándar que satisface la necesidad actual es irremediablemente simplista.
¡Pero sabes que deberías haber puesto unidades más grandes en los malditos servidores cuando los compraste y ahora te estás pateando! Pero quería que se instalaran los servidores y se habrían sumado al costo inicial y podría haber tenido que ir a una ronda de aprobación adicional ... bienvenido al doloroso mundo del administrador de sistemas ...
fuente