En esta página, se describe Rapid Bucket, una capacidad que te permite almacenar objetos en la clase de almacenamiento Rapid configurando una zona como la ubicación del bucket. Este enfoque te permite ubicar tu almacenamiento de datos junto con tus recursos de procesamiento, lo que ofrece una latencia significativamente más baja y una mayor capacidad de procesamiento en comparación con otras clases de almacenamiento en Cloud Storage. Las cargas de trabajo en otras zonas y regiones también pueden acceder al bucket, con un rendimiento relativo a la distancia de la red.
Para crear un bucket zonal con Rapid Bucket, consulta Crea buckets zonales. Puedes ver la lista de ubicaciones admitidas en Zonas. Para leer y agregar datos a objetos en buckets zonales, consulta cómo usar objetos en buckets zonales.
Beneficios
Rapid Bucket se creó para eliminar los cuellos de botella de almacenamiento y es ideal para usar en tus aplicaciones con mayor uso intensivo de datos, como la IA/AA y el análisis de datos. Rapid Bucket admite una latencia inferior a un milisegundo, una capacidad de procesamiento agregada de hasta 15 TB/s y 20 millones de consultas por segundo (QPS). La latencia ultrabaja permite la recuperación instantánea de datos y potencia las aplicaciones de inferencia en tiempo real para que se ejecuten a gran escala. La gran capacidad de procesamiento y la alta cantidad de QPS ayudan a mantener tus costosos clústeres de GPU completamente saturados, lo que reduce drásticamente los tiempos de entrenamiento de modelos.
Terminología de Rapid Bucket
En la documentación de Cloud Storage, se usan los siguientes términos:
Rapid Bucket: Es el producto que permite crear buckets con una ubicación zonal y la clase de almacenamiento Rapid.
Almacenamiento Rapid: Es la clase de almacenamiento que ofrece el mayor rendimiento de acceso a los datos y de operaciones de E/S en Cloud Storage. Cuando usas Rapid Bucket, creas un bucket que usa Rapid Storage. Para obtener más información sobre el almacenamiento rápido, consulta Clases de almacenamiento.
Bucket zonal: Es un bucket ubicado en una zona. Los objetos en buckets zonales siempre se almacenan en Rapid Storage y se pueden agregar.
Capacidades de los buckets zonales
Además de proporcionar baja latencia y alta capacidad de procesamiento, los buckets zonales te permiten hacer lo siguiente:
Agregar datos a objetos en el bucket zonal sin volver a escribir el objeto completo
Abrir objetos y mantener un flujo a medida que realizas operaciones, lo que te permite acelerar las lecturas y escrituras posteriores
Casos de uso
Rapid Bucket es más adecuado para cargas de trabajo de IA/AA o cualquier otra carga de trabajo con uso intensivo de datos. Algunos ejemplos de estas cargas de trabajo son el almacenamiento de puntos de control, la evaluación y la entrega de modelos, así como las colas de registro y mensajería. También se puede usar para transmitir datos o proporcionar almacenamiento para bases de datos.
Para aprovechar al máximo la baja latencia y la alta capacidad de procesamiento que proporciona Rapid Bucket, asegúrate de habilitar la conectividad directa de gRPC.
Acceso a objetos en buckets zonales
Para obtener los beneficios de rendimiento de un bucket zonal, asegúrate de abrir objetos para la transmisión y mantener una transmisión mientras realizas operaciones en los objetos. Cuando estableces y mantienes una transmisión, puedes realizar operaciones de lectura o escritura posteriores en el objeto con una latencia muy baja. Por ejemplo, cuando lees un archivo Parquet, puedes realizar la lectura inicial de los metadatos del archivo (el pie de página) y la lectura posterior de filas específicas en una sola solicitud. Este enfoque es más eficiente que usar solicitudes separadas para cada paso.
Una vez establecidos, los flujos de objetos se mantienen abiertos de forma predeterminada cuando accedes a objetos de bucket zonales con Cloud Storage FUSE o las bibliotecas cliente de Cloud Storage.
Puedes abrir varios flujos de lectura para un objeto desde cualquier cantidad de hosts. No hay límite en la cantidad de transmisiones de lectura que puedes establecer en un objeto.
Cómo agregar objetos
Puedes anexar datos a objetos en buckets zonales. Cuando agregas datos a objetos, se aplica la siguiente semántica:
Los objetos anexables aparecen en el espacio de nombres del bucket en cuanto comienzas a escribir en ellos y se pueden leer mientras se siguen escribiendo.
No hay restricciones en la cantidad de veces que puedes agregar datos a un objeto ni en la cantidad de bytes que puedes agregar a la vez. Puedes agregar datos a un objeto hasta que alcance su tamaño máximo de 5 TiB.
El tamaño de un objeto aumentará en tiempo real a medida que se escriban o vacíen de forma permanente nuevos anexos. Cuando estableces una transmisión de lectura, debes anticipar una demora mínima en la actualización del tamaño del objeto.
Los objetos anexables solo pueden tener un escritor a la vez. Si se establece un nuevo flujo de escritura para un objeto que ya tiene un flujo de escritura existente, Cloud Storage devolverá un error al flujo original, y este ya no tendrá permiso para escribir. El nuevo escritor puede reanudar la anexión desde el último desplazamiento persistente sin otras anexiones intercaladas al objeto.
Finalización de objetos
Una vez que se finaliza un objeto, ya no puedes agregarle datos, pero sí puedes reemplazarlo con una versión nueva. Los metadatos de un objeto finalizado siguen siendo mutables. Por ejemplo, se pueden agregar etiquetas nuevas y cambiar el nombre del objeto.
Cómo activar buckets zonales
Puedes activar y acceder a los buckets zonales con Cloud Storage FUSE o el controlador de CSI de Cloud Storage FUSE. Asegúrate de usar la versión 3.7.2 o posterior de Cloud Storage FUSE. Para usar el controlador de CSI del FUSE de Cloud Storage, asegúrate de que tu versión de Google Kubernetes Engine sea la 1.35.0-gke.3047001 o una posterior.
Precios
El uso de Rapid Bucket genera cargos por almacenamiento de datos, operaciones y redes. Para obtener más información, consulta Precios.
Limitaciones
Los buckets zonales deben tener habilitados el espacio de nombres jerárquico y el acceso uniforme a nivel del bucket.
Limitaciones de Google Cloud CLI:
Versión mínima compatible de Google Cloud CLI: La versión mínima de gcloud CLI que admite buckets zonales es la 553.0.0. Las versiones anteriores no son compatibles con los buckets zonales. Te recomendamos que uses la versión más reciente de gcloud CLI para obtener las funciones y correcciones de errores más recientes.
Visibilidad de las cargas incompletas: A diferencia de los buckets en otras clases de almacenamiento, en los que los objetos solo aparecen en el espacio de nombres después de que se completa una carga, los objetos cargados parcialmente en los buckets zonales son visibles de inmediato. Si falla o se interrumpe un comando de carga de Google Cloud CLI, es posible que veas objetos incompletos en tu bucket. Sin embargo, puedes reanudar estas cargas si vuelves a ejecutar el comando.
Sobreescritura de objetos: El comportamiento estándar de Google Cloud CLI se aplica a los buckets zonales: cuando sobrescribes un objeto, si existe un archivo o un objeto con el mismo nombre en el destino, los comandos
cp,mvyrsyncde Google Cloud CLI lo sobrescribirán de forma predeterminada. Para evitar que se sobrescriban los datos, usa la marca--no-clobber. Cuando se usa Google Cloud CLI, no se admite la anexión de datos a un objeto existente; se debe volver a subir toda la fuente.Finalización de objetos: Los objetos que se suben a un bucket zonal con Google Cloud CLI pueden experimentar una breve demora antes de que se sincronicen por completo los metadatos del objeto. Dado que Cloud Storage usa un modelo de coherencia eventual, intentar descargar un objeto inmediatamente después de subirlo puede generar un error de falta de coincidencia de hash si los metadatos aún no se actualizaron.
Si una descarga falla con un error de hash no coincidente poco después de una carga, vuelve a intentar el comando. El sistema garantiza que las descargas se realicen correctamente en su totalidad o fallen de forma explícita. No se producirán descargas parciales o dañadas de forma silenciosa.
Incompatibilidades
Los buckets zonales no son compatibles con las siguientes herramientas, operaciones, productos y metadatos:
Herramientas
Escrituras con la API de XML o la API de JSON
Cargas multiparte de la API de XML
Escrituras para objetos que no se pueden agregar con gRPC
Protección de datos y recuperación ante desastres
Control de versiones de objetos
Borrar de forma no definitiva
Administración de datos
Rapid Cache
Autoclass
Bloqueo del bucket
Compón objetos
Conservaciones de objetos
La acción
SetStorageClassde Administración del ciclo de vida de los objetosBloqueo de retención de objetos
Reubicación de buckets
Cargas reanudables
Reescribir objetos
Pagos del solicitante
Control de acceso
Listas de control de acceso (LCA) a nivel del objeto
Configuraciones de CORS
Claves de encriptación proporcionadas por el cliente (CSEK)
Claves HMAC
Metadatos
Los objetos en buckets zonales no tienen un hash MD5.
Las propiedades de metadatos asociadas con funciones y productos no admitidos no aparecen en la representación de recursos de un bucket zonal o un objeto anexable, o bien no se pueden escribir. Por ejemplo:
Las propiedades de metadatos
softDeleteTimeyhardDeleteTimeno aparecen en la representación del recursoObjectsporque la eliminación no definitiva no se admite para los objetos en buckets zonales.Los metadatos
storageClassde los objetos en buckets zonales siempre tienen un valor deRAPIDy no se pueden volver a escribir porque los buckets zonales siempre deben usar la clase de almacenamiento Rapid.
Cuotas
Cada zona por proyecto tiene una cuota de bytes de almacenamiento. Cada zona por proyecto también tiene una cuota de salida desde Cloud Storage a los servicios de Google. Para ver la cantidad de cuota de almacenamiento o salida de datos disponible, consulta la página Cuotas y límites del sistema. Si deseas obtener más información para solicitar más cuota, consulta Administra tus cuotas.
Prácticas recomendadas
Para optimizar el rendimiento cuando usas buckets zonales con Cloud Storage FUSE, mantén un identificador de archivo abierto para los objetos que se hayan activado y úsalo para varias operaciones. Esto genera un mejor rendimiento, ya que permite que Cloud Storage FUSE evite realizar viajes de ida y vuelta innecesarios a la red por cada lectura repetida.
¿Qué sigue?
- Obtén más información para crear buckets zonales.
- Obtén más información para usar objetos en buckets zonales.