¿Qué es el almacenamiento de blobs?

El almacenamiento de blobs es una forma muy escalable de almacenar datos no estructurados en la nube mediante lagos de datos.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir objeto grande binario (blob)
  • Entender el almacenamiento de blobs y el almacenamiento de objetos
  • Describir las ventajas del almacenamiento de blobs

Copiar enlace del artículo

¿Qué es el almacenamiento de blobs?

El almacenamiento de blobs es un tipo de almacenamiento en la nube para datos no estructurados.Un "blob," que es la abreviatura de Objeto grande binario, es una masa de datos en forma binaria que no se ajusta necesariamente a ningún formato de archivo.El almacenamiento de blobs mantiene estas masas de datos en zonas de almacenamiento no jerárquicas llamadas lagos de datos.

Imaginemos que Alice almacena su ropa en conjuntos elegidos que están listos para su uso, mientras que Bob simplemente tira su ropa en una pila. El método de Bob es más parecido al almacenamiento de blobs: cualquier prenda puede acabar en su pila, y la ropa no tiene que estar organizada de ninguna manera en particular. El método de Bob tiene la ventaja de que puede hacer crecer su pila de ropa rápidamente y de forma infinita: solo tiene que echar más, en lugar de doblarla y organizarla como hace Alice.

Aunque el método de almacenamiento de ropa de Bob dificulta la localización rápida de prendas concretas, muchas organizaciones necesitan un enfoque de almacenamiento de datos similar. Tienen muchos datos, y necesitan almacenar grandes volúmenes de ellos sin organizarlos en una jerarquía o ajustarlos a un formato determinado.

El almacenamiento de blobs permite a los desarrolladores crear lagos de datos para aplicaciones móviles y basadas en la nube. El almacenamiento de blobs es especialmente útil para almacenar medios, copias de seguridad de archivos grandes y registros de datos. Pero puede utilizarse para cualquier cosa, incluso para archivos que normalmente irían a una base de datos más jerárquica.

¿Qué es el almacenamiento de objetos?

El almacenamiento de blobs es un tipo de almacenamiento de objetos. El almacenamiento de objetos guarda archivos o blobs en un "lago de datos" plano o "piscina" sin jerarquía; un lago/piscina de datos es una gran colección de datos no estructurados. El almacenamiento de objetos contrasta con el almacenamiento de archivos y el almacenamiento en bloques:

  • El almacenamiento de archivos mantiene los datos en una estructura de archivos jerárquica de carpetas, directorios, subdirectorios, etc.
  • Almacenamiento en bloques mantiene los datos en volúmenes de datos de tamaño similar llamados "bloques"

El almacenamiento de archivos y en bloques no suele ser lo suficientemente flexible ni escalable para las organizaciones modernas. En cambio, el almacenamiento de objetos es tan escalable que algunos lo consideran "almacenamiento ilimitado". No obstante, utilizar el almacenamiento de objetos en lugar del almacenamiento de archivos o en bloques puede complicar la recuperación de datos.

¿Qué es un blob?

Un objeto grande binario (blob) es una colección de datos de un tamaño arbitrario. Los blobs no tienen que seguir un formato determinado ni tener ningún metadato asociado. Son una serie de bytes, cada uno de los cuales está formado por 8 bits (un 1 o un 0, de ahí el descriptor "binario"). Cualquier tipo de datos puede ir en un blob.

En algunas implementaciones, los blobs se almacenan en contenedores.Un contenedor es una sección del entorno del espacio de usuario de un ordenador que se ha separado del resto del ordenador.Los contenedores son una forma muy habitual de informática en la nube.Como su nombre indica, los contenedores son autocontenidos: almacenan todas las dependencias que necesitan, además de los archivos y aplicaciones que incluyen.Más información sobre los contenedores.

¿Cuáles son las ventajas del almacenamiento de blobs?

Escalable: la capacidad de almacenamiento de los blobs es prácticamente ilimitada.Y a medida que aumenta la cantidad de datos almacenados, sigue siendo fácil y rápido guardar los datos para recuperarlos más tarde.

Nube nativa: el almacenamiento de blobs está alojado en la nube.Esto hace que el almacenamiento de blobs sea una opción natural para las organizaciones que desarrollan o migran a la nube. Esto también significa que se puede acceder al almacenamiento de blobs desde cualquier lugar a través de Internet, como ocurre con todos los servicios en la nube.

Independiente del lenguaje de programación: los proveedores de almacenamiento de blobs suelen permitir a los desarrolladores utilizar una amplia gama de lenguajes para acceder a sus blobs.

Rentable: El almacenamiento de blobs suele tener precios escalonados.Los datos a los que rara vez se accede son de un nivel mucho más barato, lo que significa que grandes cantidades de datos pueden almacenarse de forma más barata si no se accede a la mayoría de ellos con regularidad.

¿Qué casos de uso son los mejores para el almacenamiento de blobs?

Algunos de los principales casos de uso del almacenamiento de blobs son:

  • Medios: los datos de imagen, vídeo y audio ocupan mucho espacio, y a veces es necesario almacenarlos, pero no es necesario acceder a ellos con regularidad.
  • Registros: A medida que el software se ejecuta, crea constantemente una serie de eventos que pueden registrarse en registros para su posterior análisis.El volumen de estos datos puede aumentar rápidamente.El almacenamiento de blobs permite almacenar de forma rápida y barata estos datos de forma desestructurada.Sin embargo, el almacenamiento de blobs es menos rentable para este caso de uso.Cualquier consulta de datos de registro tendrá un coste de salida.
  • Copias de seguridad y recuperación por desastres: la mayoría de las organizaciones necesitan mantener copias de seguridad completas, sobre todo para recuperarse de los ataques de ransomware.Como estos datos se duplican en producción y rara vez se accede a ellos, el almacenamiento de blobs es muy adecuado para hacer copias de seguridad de grandes conjuntos de datos.

¿Cómo se relaciona el almacenamiento de blobs con el almacenamiento de clave-valor?

El almacenamiento de clave-valor es un método para encontrar objetos en una base de datos o un lago de datos, en el que cada objeto recibe una "clave" única para identificarlo. Un enfoque de clave-valor es una buena opción para el almacenamiento de objetos y el almacenamiento de blobs, porque el mecanismo de búsqueda no necesita saber nada sobre el valor, o el objeto, que está buscando. (En cambio, el almacenamiento de archivos busca por campos, metadatos, etc.) Lo único que necesita para encontrar el valor es la clave asociada al objeto.

Cloudflare Workers KV permite que los desarrolladores que crean aplicaciones sin servidor utilicen el almacenamiento de clave-valor.Lee la documentación de Workers KV para más información.

¿Hay riesgos de seguridad asociados al almacenamiento de blobs?

Cualquier tipo de almacenamiento en la nube necesitar estar protegido contra la filtración, fugas y acceso no autorizado a datos.Los proveedores de almacenamiento de blobs proporcionan cierto nivel de protección, pero con frecuencia las configuraciones de seguridad de la nube se dejan en manos del cliente.Las implementaciones sólidas de seguridad en la nube son fundamentales para mantener la seguridad del almacenamiento de blobs.

Más información sobre la seguridad en la nube.

¿Ofrece Cloudflare almacenamiento de objetos?

Cloudflare R2 Storage permite a los desarrolladores almacenar grandes cantidades de datos no estructurados. R2 ofrece recuperación de datos sin tasas de salida de datos, lo cual lo hace mucho más rentable que muchos otros tipos de almacenamiento en la nube. Más información sobre Cloudflare R2 Storage.