¿Qué es el almacenamiento de objetos?

A finales de 2012, se almacenaban 1,3 billones de objetos en Amazon S3, el sistema de almacenamiento de objetos más grande y conocido del mundo. En ese momento, ese número crecía más rápido que mil millones de objetos por día, por lo que la marca de los 2 billones está a la vuelta de la esquina.

El almacenamiento de objetos es mucho más escalable que el almacenamiento del sistema de archivos tradicional porque es mucho más simple. En lugar de organizar los archivos en una jerarquía de directorios, los sistemas de almacenamiento de objetos almacenan archivos en una organización plana de contenedores (llamados "cubos" en Amazon S3) y usan ID únicos (llamados "claves" en S3) para recuperarlos. El resultado es que los sistemas de almacenamiento de objetos requieren menos metadatos que los sistemas de archivos para almacenar y acceder a los archivos, y reducen la sobrecarga de administrar metadatos de archivos al almacenar los metadatos con el objeto. Esto significa que el almacenamiento de objetos se puede escalar casi infinitamente agregando nodos.

La confiabilidad se logra en unidades de disco y hardware comunes mediante la replicación de objetos en múltiples servidores y ubicaciones. Si configura su propia solución, como con OpenStack Swift, puede configurar la cantidad de zonas de almacenamiento y réplicas para satisfacer sus necesidades. (OpenStack recomienda al menos cinco nodos para un sistema de producción). Amazon promete nueve nueves de "durabilidad" para el Amazon S3 estándar, lo que se traduce en la pérdida de un archivo entre 100 mil millones. Si sus necesidades de protección de datos no son tan extremas, puede ahorrar unos centavos con la opción de almacenamiento de redundancia reducida (dos nueves de durabilidad).

Las funciones que obtiene en un sistema de almacenamiento de objetos suelen ser mínimas. Puede almacenar, recuperar, copiar y eliminar archivos, así como controlar qué usuarios pueden hacer qué, y eso es todo. Si desea una búsqueda o un repositorio central de metadatos de objetos en el que puedan basarse otras aplicaciones, generalmente tendrá que implementarlo usted mismo. Amazon S3 y otros sistemas de almacenamiento de objetos proporcionan API REST que permiten a los programadores trabajar con contenedores y objetos. SoftLayer es la rara nube pública que proporciona a los usuarios la búsqueda de su almacenamiento de objetos.

Por último, la interfaz HTTP para los sistemas de almacenamiento de objetos permite un acceso rápido y sencillo a los archivos para los usuarios de cualquier parte del mundo. (Por ejemplo, cada archivo en Amazon S3 tiene una URL única basada en la ubicación de Amazon, el nombre del depósito y el nombre del archivo: //s3-us-west-1.amazonaws.com/objectstorage1/object_storage. rtf.) Esperará más tiempo del que esperaría para acceder a un archivo desde NAS, por supuesto, pero la comodidad es inmejorable.

Además del rendimiento significativamente más lento, en comparación con un sistema de archivos tradicional, el otro gran inconveniente del almacenamiento de objetos es que la consistencia de los datos solo se logra eventualmente. Siempre que actualice un archivo, es posible que deba esperar hasta que el cambio se propague a todas las réplicas antes de que las solicitudes devuelvan la última versión. Esto hace que el almacenamiento de objetos no sea adecuado para datos que cambian con frecuencia. Pero es ideal para todos los datos que no cambian mucho, como copias de seguridad, archivos comprimidos, archivos de video y audio e imágenes de máquinas virtuales.