¿Qué es el almacenamiento de objetos binarios grandes (BLOB)?

En la actualidad, las organizaciones producen y manejan enormes cantidades de datos no estructurados. Estos datos abarcan todo, desde imágenes y videos hasta copias de seguridad, archivos de registro y grandes conjuntos de datos para análisis. Para almacenar, administrar y acceder de manera eficaz a estos archivos diversos y, a menudo, muy grandes, se requieren soluciones de almacenamiento especializadas. El almacenamiento de objetos grandes binarios (BLOB) surgió como una tecnología clave para abordar estos desafíos, ya que proporciona una forma escalable y rentable de manejar datos no estructurados.

Definición del almacenamiento de objetos binarios grandes

Los sistemas de almacenamiento de objetos binarios grandes están diseñados para una escalabilidad masiva, una alta durabilidad y ayudan con la rentabilidad, lo que les permite almacenar grandes volúmenes de datos no estructurados.

Para comprender por completo el almacenamiento de objetos binarios grandes, es útil definir primero sus componentes principales: el almacenamiento de objetos y el objeto binario grande (BLOB) en sí.

¿Qué es el almacenamiento de objetos?

El almacenamiento de objetos es una arquitectura de almacenamiento de datos que administra los datos como unidades distintas, llamadas objetos. A diferencia de los sistemas de archivos que organizan los datos en una estructura de directorio jerárquica (carpetas y archivos) o del almacenamiento en bloque que administra los datos como bloques de tamaño fijo, los sistemas de almacenamiento de objetos tratan cada dato como un objeto independiente.

Cada objeto suele incluir lo siguiente:

  • Los datos en sí: Pueden ser una imagen, un video, un documento, un archivo de copia de seguridad o cualquier otro tipo de datos no estructurados.
  • Metadatos: Es información descriptiva sobre los datos. Los metadatos estándar pueden incluir el nombre, el tamaño, el tipo y la fecha de creación del objeto. Fundamentalmente, el almacenamiento de objetos también permite metadatos extensos y personalizables, lo que puede ser muy útil para indexar, buscar y administrar datos a gran escala.
  • Un identificador único: A cada objeto se le asigna un ID único global (a menudo, un URI o una URL) que permite que las aplicaciones accedan directamente a él a través de una red, por lo general, con APIs basadas en HTTP.

¿Qué es un BLOB?

Un BLOB, que significa objeto binario grande, se refiere a una colección de datos binarios almacenados como una sola entidad. El término "binario" significa que los datos pueden ser cualquier cosa; no se restringen a texto o formatos específicos. Puede ser un archivo ejecutable, una imagen, contenido de audio o video, un archivo comprimido, una copia de seguridad de una base de datos o cualquier otro tipo de información digital. La parte "grande" del nombre indica que los BLOBs se usan normalmente para archivos que son demasiado grandes para almacenarse de forma conveniente o eficiente directo en un campo de base de datos tradicional junto con datos estructurados.

Por lo tanto, el almacenamiento de objetos binarios grandes es esencialmente la práctica de almacenar estos BLOB como objetos individuales dentro de un sistema de almacenamiento de objetos. Por ejemplo, en lugar de incorporar un archivo de video grande directamente en un registro de base de datos, almacenarías el archivo de video en un sistema de almacenamiento de objetos y, luego, almacenarías una referencia (el identificador único o la URL del objeto) a ese BLOB en tu base de datos.

¿Cómo funciona el almacenamiento de objetos binarios grandes?

El proceso de usar el almacenamiento de objetos binarios grandes generalmente implica algunos pasos clave, facilitados por el sistema de almacenamiento de objetos:

Cuando un usuario o una aplicación necesita almacenar un archivo binario grande, envía los datos, junto con los metadatos asociados, al sistema de almacenamiento de objetos a través de una llamada a la API (generalmente APIs de RESTful a través de HTTP/S). El sistema de almacenamiento recibe estos datos.

El sistema de almacenamiento de objetos toma los datos binarios subidos y sus metadatos, y los encapsula en un "objeto". Luego, le asigna a este nuevo objeto un identificador único. Este identificador es crucial porque es la forma en que se dirigirá y recuperará el objeto más adelante.

El sistema almacena el objeto, a menudo distribuyéndolo y replicándolo en varios dispositivos de almacenamiento físico y, a veces, incluso en diferentes centros de datos. Este enfoque distribuido mejora la durabilidad de los datos (protección contra fallas de hardware) y la disponibilidad. La estrategia de replicación específica puede variar en función de la clase de almacenamiento elegida o las políticas del proveedor.

Los metadatos asociados con el BLOB se indexan. Esto permite buscar o categorizar objetos en función de sus etiquetas de metadatos, incluso si tienes miles de millones de objetos.

Cuando un usuario o una aplicación necesita acceder al BLOB, envía una solicitud al sistema de almacenamiento de objetos con el identificador único del objeto. El sistema localiza el objeto y transmite los datos binarios de vuelta al solicitante.

Los sistemas de almacenamiento de objetos proporcionan mecanismos para controlar quién puede leer, escribir o borrar BLOBs. Esto se suele administrar a través de políticas de administración de identidades y accesos (IAM), listas de control de acceso (ACL) o URLs firmadas que otorgan acceso temporal.

Beneficios del almacenamiento de objetos binarios grandes

El uso del almacenamiento de objetos binarios grandes ofrece ventajas significativas para administrar datos no estructurados:

Escalabilidad

Los sistemas de almacenamiento de objetos están diseñados para escalar a exabytes y más allá, y admiten grandes cantidades de datos y objetos. Esto puede hacerlo adecuado para aplicaciones que generan grandes volúmenes de datos.

Rentabilidad

Almacenar datos grandes a los que se accede con poca frecuencia en bases de datos o sistemas de archivos tradicionales de alto rendimiento puede ser costoso. El almacenamiento de objetos suele proporcionar opciones por niveles con costos variables en función de la frecuencia de acceso y los requisitos de durabilidad que pueden permitir la optimización de costos.

Durabilidad y disponibilidad

Los servicios de almacenamiento de objetos líderes pueden ofrecer altos niveles de durabilidad de los datos, a menudo almacenando objetos de forma redundante en múltiples dispositivos o ubicaciones geográficas. Esto puede minimizar el riesgo de pérdida de datos debido a fallas de hardware y puede respaldar la alta disponibilidad.

Metadatos enriquecidos

La capacidad de asociar metadatos extensos y personalizados con cada BLOB puede permitir una mejor organización de los datos, una búsqueda más fácil y capacidades de administración y análisis de datos más sofisticadas.

Acceso simplificado a los datos

Acceder a BLOBs a través de APIs HTTP estándar puede simplificar la integración con aplicaciones web, apps para dispositivos móviles y otros servicios en la nube. Los identificadores únicos para cada objeto permiten el acceso directo sin navegar por rutas de archivos complejas.

Desacoplamiento

Almacenar BLOB de forma externa a las bases de datos o servidores de aplicaciones puede mejorar el rendimiento y la escalabilidad de esos sistemas primarios. Las bases de datos se liberan de la administración de tipos de datos grandes y difíciles de manejar, y las aplicaciones pueden delegar la entrega de contenido estático.

Tipos de almacenamiento de objetos binarios grandes

Los servicios de almacenamiento de objetos que alojan BLOBs suelen proporcionar diferentes clases o niveles de almacenamiento, categorizados por su frecuencia de acceso, tiempos de recuperación y costo. Estos niveles pueden ayudar a las organizaciones a optimizar los costos de almacenamiento en función de cómo se usan los datos. Entre los tipos más comunes, se incluyen los siguientes:

Almacenamiento activo o Standard Storage

Diseñado para datos a los que se accede con frecuencia y que requieren baja latencia y alta capacidad de procesamiento. Este nivel puede ser adecuado para contenido activo de sitios web, datos de aplicaciones para dispositivos móviles o datos que se procesan de forma activa con cargas de trabajo de análisis. Por lo general, tiene costos de almacenamiento más altos, pero puede ayudar a reducir los costos de acceso.

Almacenamiento de acceso poco frecuente o Nearline Storage

Está pensado para datos a los que se accede con menos frecuencia (por ejemplo, una vez al mes), pero que deben estar disponibles cuando se solicitan. Puede ofrecer costos de almacenamiento más bajos que el almacenamiento estándar, pero puede tener costos de acceso o tarifas por recuperación ligeramente más altos. Esta clase es ideal para copias de seguridad a largo plazo, archivo de datos en el que se necesita acceso rápido ocasional o archivos de recuperación ante desastres.

Coldline/Archive Storage

Diseñado para el archivado, cumplimiento y conservación de datos a largo plazo, en los que rara vez se accede a los datos (por ejemplo, una vez al año o menos). Este nivel puede proporcionar costos de almacenamiento bajos. Los tiempos de recuperación pueden ser más largos, desde minutos hasta horas, y los costos de acceso pueden ser más altos. Esto puede ser adecuado para archivos regulatorios o datos que deben conservarse con fines históricos, pero no son necesarios para las operaciones diarias.

Archive Storage o almacenamiento de archivo profundo

Algunos proveedores ofrecen niveles aún más inactivos para los datos a los que se accede muy rara vez y que pueden tolerar tiempos de recuperación más largos (por ejemplo, muchas horas). Estos niveles ofrecen los costos de almacenamiento más bajos.

Casos de uso del almacenamiento de objetos binarios grandes

La versatilidad y escalabilidad del almacenamiento de BLOB pueden hacerlo adecuado para una amplia gama de aplicaciones en diversas industrias:

Casos de uso

Función

Publicación de contenido multimedia

Almacenar y entregar imágenes, videos, archivos de audio y otros medios enriquecidos para sitios web, servicios de transmisión y aplicaciones para dispositivos móviles.

Data lakes y análisis

Almacenar grandes cantidades de datos sin procesar en un data lakehouse (estructurados, semiestructurados y no estructurados) de varias fuentes en su formato nativo para el procesamiento de macrodatos, el entrenamiento de modelos de aprendizaje automático y la inteligencia empresarial.

Archivado de archivos de registro

Almacenar registros de servidores de aplicaciones, registros de seguridad y pistas de auditoría para solucionar problemas, realizar análisis de seguridad y cumplir con los requisitos.

Sistemas de administración de documentos

Almacenar y administrar grandes volúmenes de documentos, PDFs, imágenes escaneadas y otros registros empresariales.

Alojamiento de sitio web estático

Alojar los recursos estáticos (HTML, CSS, JavaScript, imágenes) de un sitio web directamente desde el almacenamiento de objetos, que puede ser altamente escalable y rentable.

Distribución de software

Almacenar y distribuir grandes paquetes de software, actualizaciones e instaladores

Administración de datos de atención médica

Almacenar imágenes médicas (radiografías, resonancias magnéticas), registros de pacientes y datos genómicos de forma segura y en cumplimiento con las normas

Investigación científica

Almacenar grandes conjuntos de datos de experimentos, simulaciones y redes de sensores para análisis y colaboración

Casos de uso

Función

Publicación de contenido multimedia

Almacenar y entregar imágenes, videos, archivos de audio y otros medios enriquecidos para sitios web, servicios de transmisión y aplicaciones para dispositivos móviles.

Data lakes y análisis

Almacenar grandes cantidades de datos sin procesar en un data lakehouse (estructurados, semiestructurados y no estructurados) de varias fuentes en su formato nativo para el procesamiento de macrodatos, el entrenamiento de modelos de aprendizaje automático y la inteligencia empresarial.

Archivado de archivos de registro

Almacenar registros de servidores de aplicaciones, registros de seguridad y pistas de auditoría para solucionar problemas, realizar análisis de seguridad y cumplir con los requisitos.

Sistemas de administración de documentos

Almacenar y administrar grandes volúmenes de documentos, PDFs, imágenes escaneadas y otros registros empresariales.

Alojamiento de sitio web estático

Alojar los recursos estáticos (HTML, CSS, JavaScript, imágenes) de un sitio web directamente desde el almacenamiento de objetos, que puede ser altamente escalable y rentable.

Distribución de software

Almacenar y distribuir grandes paquetes de software, actualizaciones e instaladores

Administración de datos de atención médica

Almacenar imágenes médicas (radiografías, resonancias magnéticas), registros de pacientes y datos genómicos de forma segura y en cumplimiento con las normas

Investigación científica

Almacenar grandes conjuntos de datos de experimentos, simulaciones y redes de sensores para análisis y colaboración

Resuelve tus desafíos más difíciles con Google Cloud

Los clientes nuevos obtienen $300 en créditos gratuitos que pueden usar en Google Cloud.

Cómo almacenar BLOB de forma segura

Proteger los objetos binarios grandes es importante, especialmente cuando se trata de datos sensibles o fundamentales. Las estrategias de seguridad eficaces suelen involucrar varias capas de seguridad:

Encriptación

La encriptación en tránsito usa HTTPS (TLS/SSL) para todas las solicitudes a APIs. La encriptación en reposo garantiza que los BLOB se encripten en el almacenamiento, con opciones de encriptación del servidor (claves administradas por el proveedor) o claves administradas o proporcionadas por el cliente (CMEK/CSEK) para un control mejorado.

Identity and Access Management (IAM):

Implementar políticas de control de acceso detallado para definir quién (usuarios, grupos o cuentas de servicio) puede realizar qué acciones (leer, escribir, borrar, enumerar) en BLOB específicos o colecciones de BLOB (a menudo llamados buckets o contenedores). Sigue el principio de privilegio mínimo y otorga solo los permisos necesarios.

Listas de control de acceso (LCA)

Las ACL pueden ayudar a proporcionar otra capa de control, lo que te permite otorgar permisos específicos a usuarios o grupos individuales para objetos o buckets individuales. Pueden ser más adecuados para necesidades de control detallado en comparación con la administración a gran escala, ya que ofrecen un enfoque detallado para parámetros de configuración de permisos específicos y detallados.

URLs firmadas o previamente firmadas

Para situaciones en las que necesitas otorgar acceso temporal y limitado a un BLOB específico (por ejemplo, permitir que un usuario descargue un archivo que compró), las URLs firmadas son un mecanismo seguro. Estas URLs otorgan permisos por tiempo limitado para realizar una acción específica sin requerir que el usuario tenga credenciales completas.

Control de versiones

Habilita el control de versiones de objetos para mantener varias versiones de un BLOB. Esto puede proteger contra reemplazos o eliminaciones accidentales, ya que puedes restablecer versiones anteriores si es necesario.

Registros de auditoría

Habilita el registro de auditoría para hacer un seguimiento de las solicitudes de acceso y las acciones realizadas en tus BLOB y buckets de almacenamiento. Esto ayuda en el análisis de seguridad, los informes de cumplimiento y la identificación de cualquier intento de acceso no autorizado.

¿Qué problema intentas resolver?
What you'll get:
Guía paso a paso
Arquitectura de referencia
Soluciones previamente compiladas disponibles
Este servicio se creó con Vertex AI. Debes ser mayor de 18 años para usarlo. No ingreses información sensible, confidencial ni personal.

Da el siguiente paso

Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.

Google Cloud