¿Qué almacenamiento elegir para tu servidor? HDD, SSD o NVMe

Cuando eliges un servidor para tu proyecto, probablemente uno de los aspectos principales sea el almacenamiento y, antes incluso de hablar de RAID, siempre pensamos en qué tipo de almacenamiento elegir. Porque al elegirlo siempre hay una trampa: saber si tu proyecto o sitio web se beneficia realmente de toda la velocidad que puede ofrecer ese almacenamiento. 

La cuestión es que elegir el almacenamiento se parece a elegir un vehículo. No puedes decir que los camiones no hacen falta. Quizá ir al supermercado en uno sea excesivo, pero si quieres trasladar toneladas de cosas, nada supera a un camión. Lo mismo ocurre con el almacenamiento: cada tipo está diseñado para sus propias necesidades. 

En este artículo te explicaremos todos los pros y contras de estos tipos de almacenamiento y cómo elegirlos. 

Tipos de almacenamiento

HDD: discos duros

El disco duro (HDD) sigue siendo, incluso hoy, la principal forma de almacenar datos en un ordenador. Pese a la existencia del SSD, el sustituto actual del HDD, los discos duros reinan en la mayoría de los ordenadores de sobremesa y portátiles. El sistema operativo se almacena en el HDD, es decir, tu Windows, Linux e incluso Mac OS. Además del sistema, todos los programas también se guardan en el HDD. Asimismo, es muy probable que guardes todas tus fotos, música, vídeos y documentos en el HDD de tu equipo.

El disco duro utiliza un plato magnético para almacenar los datos. Estos platos se dividen en varios sectores y pistas que contienen los incontables bytes que forman nuestros archivos. Un brazo mecánico recorre toda la superficie del disco magnético y lee los archivos que solicita el usuario o el sistema operativo. Como ves, el HDD es un elemento fundamental en cualquier ordenador. Al ser un componente muy antiguo, los HDD ya han alcanzado cierta meseta en su evolución. Por eso, hoy no hay grandes diferencias de calidad entre un HDD de una marca y uno de otra. Sin embargo, con los años, algunos fabricantes han destacado y han logrado sobrevivir durante décadas produciendo HDD de calidad. 

Incluso ahora mismo, las empresas tienden a desarrollar nuevos tipos de HDD que se acercan bastante a la velocidad de un SSD. No es broma: el recién anunciado Seagate Exos 2X18 puede igualar realmente la velocidad de un SSD SATA.

SSD: unidades de estado sólido

El SSD (Solid State Drive, unidad de estado sólido) es un componente de hardware que sustituye al antiguo HDD como unidad de almacenamiento de datos en los ordenadores. Poco a poco, pero lo está superando de verdad. Mucho más rápido, el SSD no tiene discos físicos ni agujas magnéticas, por lo que puede acceder a los datos en una fracción de segundo y hacer que tu ordenador abra programas y realice tareas más rápido. Como no tiene piezas móviles, el SSD resuelve la limitación de velocidad de los HDD, que usan cabezales de lectura y escritura para operar sobre discos magnéticos. En los últimos años, el notable descenso del precio por gigabyte ha convertido el SSD en una mejora considerable (y quizá la más importante) para aumentar el rendimiento de cualquier ordenador.

La memoria flash contiene todos los archivos y, a diferencia de los discos magnéticos de los discos duros, no necesita piezas móviles ni motores para funcionar. Todas las operaciones se realizan de forma eléctrica, lo que agiliza la lectura y la escritura y, además, hace que la unidad sea más silenciosa y más resistente a vibraciones y caídas. El controlador gestiona el intercambio de datos entre el ordenador y la memoria flash. Compuesto por un procesador que realiza diversas tareas en la unidad, es uno de los principales factores del rendimiento del SSD. El chip puede gestionar la caché de lectura y escritura de archivos, cifrar información, mapear las partes defectuosas del SSD para evitar la corrupción de datos y garantizar una vida útil más larga de la memoria flash.

NVMe: Non-Volatile Memory Express

Cuando se trata de lograr mayores velocidades de lectura y transferencia de datos, los SSD son una alternativa más interesante que los HDD. Sin embargo, las conexiones de tipo SATA presentan limitaciones técnicas, por lo que la industria tuvo que buscar alternativas.

La solución encontrada fue utilizar la interfaz PCI Express, más barata y práctica. A partir de ella, la industria ideó un nuevo protocolo que supuso una evolución respecto a AHCI, creado en 2004. La solución a este problema la presentó un consorcio de empresas llamado NVM Express Organization. Este grupo está formado por unas 80 empresas, entre ellas gigantes como Intel, Microsoft, Samsung, SanDisk y Seagate. Juntas desarrollaron la interfaz Non-Volatile Memory Express (NVMe), pensada exclusivamente para SSD.

Entre las principales ventajas de esta interfaz, podemos destacar la baja latencia y un mejor aprovechamiento de los núcleos de la CPU. Para que te hagas una idea, el estándar AHCI alcanza picos de 6,0 microsegundos, mientras que NVMe puede llegar a 2,8 microsegundos de media. En cuanto a la CPU, el estándar anterior generaba cuellos de botella en los núcleos respecto al límite de IOPS (operaciones de entrada/salida por segundo).

Como resultado, la tecnología aporta beneficios tanto para uso empresarial como doméstico. En el caso de las empresas, las ventajas aparecen cuando hablamos de trabajar con cargas más pesadas, que sufrían las limitaciones de los estándares SATA y AHCI. Para los usuarios domésticos, la reducción del consumo energético es el factor más notable, además de las mejoras de rendimiento cuando se combina con procesadores multinúcleo.

¿Por qué NVMe es tan rápido?

NVMe se diseñó desde cero específicamente para SSD, con el fin de mejorar el rendimiento y las IOPS, reducir la latencia y aumentar la velocidad general de los SSD NVMe.

Las unidades actuales basadas en NVMe pueden alcanzar teóricamente velocidades de transferencia de hasta 32 GBps, pero el máximo práctico es una velocidad de transferencia cercana a 7 GBps. Al mismo tiempo, las latencias siguen bajando. Muchas unidades logran latencias inferiores a 20 microsegundos (µs) y algunas, por debajo de 10.

Los protocolos más antiguos no funcionan tan bien con los SSD. Las unidades actuales basadas en SATA pueden alcanzar velocidades de transferencia de hasta 6 Gbps, con IOPS de hasta 100 000. Las latencias suelen superar los 100 µs, aunque algunos SSD más recientes pueden conseguir latencias mucho menores.

Las unidades SAS ofrecen un rendimiento algo mejor: proporcionan velocidades de transferencia de hasta 12 Gbps e IOPS de entre 200 000 y 400 000 de media. Aun así, no son raras IOPS más bajas. En algunos casos, la latencia de SAS ha bajado de 100 µs, pero no mucho.

Una de las razones es que NVMe utiliza un conjunto de comandos más simplificado para procesar las solicitudes de E/S, que requiere menos de la mitad de instrucciones de CPU que SATA o SAS. NVMe también tiene un sistema de colas de comandos mucho más amplio y eficiente. SATA y SAS solo admiten una cola de E/S a la vez. La cola de SATA puede contener hasta 32 comandos pendientes y la de SAS, hasta 256. NVMe admite hasta 65 535 colas y hasta 64 000 comandos por cola.

A pesar de las ventajas que ofrece NVMe, el protocolo está limitado a hosts individuales. Aunque esto puede ser útil en algunos escenarios, muchas organizaciones buscan sistemas distribuidos que puedan desplegar en sus centros de datos. Por este motivo, NVM Express desarrolló una segunda especificación: NVMe-oF.

El nuevo estándar se publicó en junio de 2016 para extender las ventajas de NVMe a sistemas de red como Ethernet, InfiniBand y Fibre Channel. La organización calcula que el 90 % de la especificación NVMe-oF es igual que la especificación NVMe. La principal diferencia entre ambas es la forma en que los protocolos gestionan los comandos y las respuestas entre el host y el subsistema NVM.

El protocolo NVMe asigna los comandos y las respuestas a la memoria compartida del host. El protocolo NVMe-oF facilita la comunicación entre el host NVMe y el dispositivo de almacenamiento NVMe conectado a la red. El nuevo protocolo amplía las distancias a las que se puede acceder a los dispositivos NVMe dentro del centro de datos y permite escalar a muchos dispositivos.

Originalmente, la especificación NVMe-oF ofrecía dos métodos de comunicación. El primero usa RDMA para admitir conectividad en malla, como InfiniBand, RDMA over Converged Ethernet y el protocolo Internet Wide Area RDMA. El segundo enfoque es específico del transporte Fibre Channel e incluye mallas Fibre Channel y Fibre Channel over Ethernet.

En 2019, NVM Express publicó la especificación NVMe-oF 1.1, que añadió compatibilidad con TCP. NVMe over TCP permite usar NVMe-oF en redes Ethernet estándar sin necesidad de cambiar el hardware ni la configuración. El nuevo estándar ayuda a salvar la distancia entre DAS y SAN, a la vez que acerca NVMe-oF a convertirse en el estándar de facto para el almacenamiento empresarial.

Guía definitiva sobre qué elegir

Después de leer toda esa parte histórica, pasemos a algo concreto: qué elegir para tu proyecto.

HDD: el más barato y, aun así, duradero

A menos que realmente necesites IOPS o velocidad de lectura y escritura, o si tu blog no tiene demasiadas visitas, elige HDD. Puede que sean lentos en comparación con SSD o NVMe, pero tus visitantes no lo notarán. Salvo que de verdad necesites esa velocidad, un HDD será más que suficiente.

SSD: excelente y rápido

Antes de la aparición de NVMe podíamos decir que el SSD era la solución de almacenamiento definitiva, pero hoy ya no lo es. Siempre que necesites una solución todoterreno para tus requisitos, elige SSD. Además, los SSD se han vuelto relativamente baratos en comparación con los HDD, así que, si te sobra algo de dinero para gastar en tu servidor, opta por SSD. 

NVMe: la solución de almacenamiento definitiva

NVMe es tu opción cuando tienes un presupuesto holgado y ciertos requisitos de IOPS para bases de datos o diversas aplicaciones SaaS. Cuanto más, mejor, así que NVMe encajará muy bien en cualquier tipo de proyecto, sobre todo cuando necesites trabajar con archivos individuales de gran tamaño. 

Conclusión

Como hemos mencionado antes, todo depende del tipo de proyecto que pienses ejecutar en tu servidor. Si se trata de un sitio web pequeño, es mejor empezar con HDD y pasar gradualmente al siguiente tipo de almacenamiento si notas algún tipo de problema. Esperamos que este artículo te haya resultado interesante y te haya ayudado a ampliar tus conocimientos sobre los tipos de almacenamiento. No dejes de contactar con BlueVPS y comprar el VPS que necesitas.



Blog