El almacenamiento de objetos funciona mejor para grandes volúmenes de datos no estructurados, mientras que el almacenamiento en bloques está optimizado para cantidades más pequeñas de datos a los que hay que acceder con frecuencia.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué es el almacenamiento de objetos?
¿Qué es el almacenamiento en bloques?
Tarifas de salida de datos
¿Qué es el almacenamiento de blobs?
¿Qué es Almacenamiento en la nube?
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
El almacenamiento de objetos y el almacenamiento en bloques son dos tipos de almacenamiento en la nube, es decir, almacenamiento en remoto de datos al que se puede acceder mediante una conexión a Internet. El almacenamiento de objetos es muy ampliable y personalizable, pero no siempre es rápido. El almacenamiento en bloques es rápido, pero suele ser más caro que el almacenamiento de objetos. Cuál es el que mejor se adapta mejor al caso de uso de una organización depende de varios factores. En general, el almacenamiento de objetos suele utilizarse para grandes volúmenes de datos no estructurados, mientras que el almacenamiento en bloques funciona mejor con datos transaccionales y archivos pequeños que deben recuperarse con frecuencia.
Pensemos en el almacenamiento en bloque como en un aparcamiento compacto con aparcacoches, y en el almacenamiento de objetos como en un enorme aparcamiento abierto con mucho espacio. El Garaje de almacenamiento en bloque, como podríamos llamarlo, permite a¡que los conductores recuperen rápidamente sus coches; pero cuenta con un espacio limitado para los vehículos, y ampliar su capacidad implicaría construir un nuevo garaje y contratar más aparcacoches, lo cual es caro. En cambio, la parcela de almacenamiento de objetos permite aparcar a tantos conductores como se desee. Sin embargo, algunos de los coches pueden acabar en la parte más alejada del aparcamiento, y los conductores podrían tardar algo de tiempo en recuperarlos.
El almacenamiento en bloques divide los archivos y datos en bloques de igual tamaño. Cada bloque tiene un identificador único, almacenado en una tabla de consulta de datos. Cuando hay que recuperar datos, se utiliza la tabla de búsqueda de datos para encontrar los bloques necesarios, que luego se reensamblan en su forma original.
Pensémoslo de esta manera: la tabla de consulta de datos es como la caja de llaves donde los aparcacoches guardan las llaves de cada coche. Cuando un conductor necesita su coche, el aparcacoches coge la llave y busca dónde está el coche para recuperarlo rápidamente. De forma similar, el almacenamiento en bloques utiliza identificadores únicos almacenados en la tabla de consulta de datos para encontrar y recuperar datos rápidamente.
El almacenamiento en bloques es rápido, y se suele preferir para aplicaciones que necesitan cargar datos regularmente desde el backend.
El almacenamiento de objetos es un método para guardar grandes volúmenes de datos no estructurados, como datos de sensores, archivos de audio, registros, contenidos de vídeo y fotos, páginas web y correos electrónicos. Cada archivo o segmento de datos se guarda como un "objeto", y cada objeto incluye metadatos y un nombre o identificador único para recuperar los datos. (Imaginemos cómo apuntaría un conductor el número de su plaza en un aparcamiento grande para no olvidar dónde está su vehículo).
Todos los objetos se almacenan juntos en un "lago de datos" (también conocido como "pool de datos"). Los lagos de datos son planos: no hay jerarquía de archivos, igual que un aparcamiento grande es plano, sin rampas ni niveles adicionales.
Funciones | Almacenamiento en bloques | Almacenamiento de objetos |
---|---|---|
Capacidad de almacenamiento | Limitada | Casi ilimitada |
Método de almacenamiento | Datos almacenados en bloques de tamaño fijo, reensamblados por encargo | Datos no estructurados en un lago de datos no jerárquico |
Metadatos | Limitada | Ilimitados y personalizables |
Método de recuperación de datos | Tabla de consulta de datos | Personalizable |
Rendimiento | Rápido, especialmente para archivos pequeños | Depende, pero funciona bien con archivos grandes |
Coste | Depende del proveedor, suele ser más caro | Depende del proveedor, suele ser menos caro (exceptuando las tarifas de salida) |
Como se ve en la tabla anterior, hay muchas áreas en las que diferencia el almacenamiento en bloques y el de objetos. No obstante, las organizaciones deben evaluar cuidadosamente las capacidades de cada modelo en cuatro áreas principales: coste, rendimiento, capacidad y metadatos.
Una de las mayores ventajas del almacenamiento de objetos es su coste. Almacenar datos mediante almacenamiento de objetos suele ser menos caro que hacerlo con almacenamiento en bloques. El almacenamiento en bloques requiere una buena cantidad de potencia de procesamiento para que los datos puedan reensamblarse y leerse con frecuencia, y esta optimización del rendimiento suele hacer que sea más caro.
Por el contrario, el rendimiento es una de las ventajas del almacenamiento en bloques, sobre todo para los archivos más pequeños. Los objetos en el almacenamiento de objetos no están pensados para que se acceda a ellos y se carguen con frecuencia, pero este sí es el caso del almacenamiento en bloques.
Otra ventaja del almacenamiento de objetos es su capacidad ilimitada, o prácticamente ilimitada. Los lagos de datos del almacenamiento de objetos pueden ser tan grandes como se desee, y los clientes solo pagan por lo que utilizan. El almacenamiento en bloques es limitado y es caro ampliarlo.
Por último, los metadatos son un punto de diferencia importante. Hay muchos casos en los que los desarrolladores o las organizaciones pueden querer añadir información importante a los archivos que almacenan, para ayudar a encontrar, interpretar y contextualizar los datos. El almacenamiento en bloques solo permite metadatos muy básicos, mientras que los metadatos del almacenamiento de objetos son muy flexibles.
Cada aspecto del almacenamiento en bloques y de objetos puede ser una ventaja, o una desventaja, en función de las necesidades de una organización.
Volvamos al ejemplo del aparcamiento: las furgonetas grandes, los tráilers y las autocaravanas no entran muy bien en el Garaje de almacenamiento en bloques. Pero con sus amplios espacios abiertos, la parcela de almacenamiento de objetos es un buen lugar para aparcar ese tipo de vehículos.
Por tanto, el tipo de almacenamiento que va a elegir un promotor u organización dependerá del tamaño de los vehículos que quieran "aparcar", y de la frecuencia con que necesiten sacar esos vehículos del aparcamiento.
Para grandes cantidades de datos no estructurados puede funcionar mejor el almacenamiento de objetos, especialmente si esos datos no necesitan leerse con regularidad. Entre los casos de uso habituales del almacenamiento de objetos se incluyen:
Para menores cantidades de datos y archivos más pequeños que deban cargarse con rapidez y frecuencia, el almacenamiento en bloques puede funcionar mejor. Entre los usos del almacenamiento en bloques se incluyen:
Sin embargo, los casos de uso enumerados anteriormente no pretenden ser definitivos. Hay varias formas de usar tanto el almacenamiento de objetos como el almacenamiento en bloques. Es importante señalar que se prevé que aumente la necesidad de almacenar grandes volúmenes de datos no estructurados, lo cual funciona mejor con el almacenamiento de objetos).
Cloudflare R2 es almacenamiento de objetos, y como tal ofrece todas las ventajas descritas para el almacenamiento de objetos, pero con una ventaja adicional fundamental: no tiene tarifas de salida. Imaginemos R2 como un gran aparcamiento en el que no tienes que pagar cuando sales. En cambio, otros aparcamientos sorprenden a los conductores que se marchan haciéndoles pagar cantidades desorbitadas por sacar sus coches del mismo.
Cloudflare R2 está diseñado para ofrecer a los desarrolladores la posibilidad de crear las arquitecturas multinube que necesitan con almacenamiento de objetos compatible con S3. R2 también se integra con Cloudflare Workers (una plataforma para escribir funciones y microservicios que se ejecutan bajo demanda) para una funcionalidad dinámica. Más información sobre R2.