Rapid Bucket

En esta página, se describe Rapid Bucket, una función que te permite almacenar objetos en la clase de almacenamiento Rapid configurando una zona como la ubicación de un bucket. Este enfoque te permite colocar tu almacén de datos junto con tus recursos de procesamiento, lo que ofrece una latencia significativamente menor y una capacidad de procesamiento más alta 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 objetos en buckets zonales, consulta Usa objetos en buckets zonales.

Para que se habilite el bucket rápido en un bucket, este también debe tener habilitados el espacio de nombres jerárquico y el acceso uniforme a nivel de bucket.

Funciones y beneficios

Rapid Bucket se creó para quitar los cuellos de botella de almacenamiento y es ideal para usarlo en tus aplicaciones con mayor uso de datos, como la IA/AA y el análisis de datos. Rapid Bucket admite una latencia inferior a un milisegundo, hasta 15 TB/s de capacidad de procesamiento agregada y 20 millones de consultas por segundo (QPS). La latencia ultrabaja permite recuperar datos de forma instantánea y potencia las aplicaciones de inferencia en tiempo real para que funcionen a gran escala. La capacidad de procesamiento masiva y las QPS altas ayudan a mantener tus clústeres de GPU costosos completamente saturados, lo que reduce drásticamente los tiempos de entrenamiento de modelos.

Además de proporcionar baja latencia y alta capacidad de procesamiento, los buckets zonales te permiten hacer lo siguiente:

  • Agrega datos a los objetos del bucket zonal sin realizar una reescritura completa de los objetos

  • Abrir objetos y mantener una transmisión mientras 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 de otros tipos de cargas de trabajo con uso intensivo de datos. Algunos ejemplos de estas cargas de trabajo son la creación 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.

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 rápido: 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 Rapid Storage, consulta Clases de almacenamiento.

  • Bucket zonal: Es un bucket que se encuentra en una zona. Los objetos en los buckets zonales siempre se almacenan en Rapid Storage y se pueden agregar.

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 que se establecen, los flujos de objetos se mantienen abiertos de forma predeterminada cuando accedes a los objetos de bucket zonales con Cloud Storage FUSE o las bibliotecas cliente de Cloud Storage.

Puedes abrir varios flujos de lectura en 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 agregar 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 escriben.

  • No hay restricciones en la cantidad de anexos que puedes realizar en un objeto ni en la cantidad de bytes que puedes anexar a la vez. Puedes agregar datos hasta que un objeto 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 se vacíen nuevas incorporaciones de forma permanente. 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 flujo de escritura nuevo para un objeto que ya tiene un flujo de escritura existente, Cloud Storage devuelve un error al flujo original y este ya no podrá escribir. El nuevo escritor puede reanudar la adición desde el último desplazamiento persistente sin otras adiciones intercaladas al objeto.

Finaliza objetos

Después de que se finaliza un objeto, ya no puedes agregarle contenido, pero puedes reemplazarlo por una versión nueva. Los metadatos de un objeto finalizado siguen siendo mutables; por ejemplo, se pueden agregar etiquetas nuevas y se puede cambiar el nombre del objeto.

Activa 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 una posterior de Cloud Storage FUSE. Para usar el controlador de CSI de Cloud Storage FUSE, tu versión de Google Kubernetes Engine debe ser 1.35.0-gke.3047001 o posterior.

Herramientas compatibles

Puedes trabajar con buckets zonales usando la mayoría de las herramientas para Cloud Storage. Sin embargo, se aplican las siguientes limitaciones:

  • No puedes escribir en buckets zonales con las APIs de biblioteca cliente estándar que están diseñadas para buckets no zonales. Para escribir en buckets zonales, debes modificar tu código para usar las APIs compatibles con los buckets zonales. Para saber qué APIs debes usar, consulta las muestras de código de tu biblioteca cliente en Usa objetos en buckets zonales.

  • Puedes leer objetos en buckets zonales con la API de JSON, la API de XML o gRPC, incluidos los métodos de lectura de gRPC no bidireccionales, como ReadObject.

  • La compatibilidad para escribir en buckets zonales varía según la API:

    • gRPC: Cuando usas gRPC, solo puedes escribir en buckets zonales con la API de BidiWriteObject. Los objetos anexables solo son compatibles con la llamada RPC BidiWriteObject en modo anexable. Los métodos de escritura de gRPC no bidireccionales, como WriteObject, no se admiten para los buckets zonales.

    • API de XML: Puedes escribir en buckets zonales con la API de XML, excepto para las cargas multiparte de XML.

    • API de JSON: No puedes escribir en buckets zonales con la API de JSON.

  • Rapid Bucket es compatible con las versiones 2026.3.0 y posteriores de la biblioteca de Python de GCSFS.

  • 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. Las descargas de objetos divididos y las optimizaciones de rendimiento para los buckets zonales requieren la versión 583.0.0 o posterior de gcloud CLI. Para obtener más información, consulta Ajusta el rendimiento de gcloud CLI para buckets zonales.

    • Visibilidad de las cargas incompletas: A diferencia de los buckets de 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 subidos de forma parcial en los buckets zonales son visibles de inmediato. Si un comando de carga de Google Cloud CLI falla o se interrumpe, es posible que veas objetos incompletos en tu bucket. Aún puedes reanudar estas cargas si vuelves a ejecutar el comando.

    • Reemplazos de objetos: El comportamiento estándar de Google Cloud CLI se aplica a los buckets zonales: cuando reemplazas un objeto, si existe un archivo o un objeto con el mismo nombre en el destino, los comandos cp, mv y rsync de Google Cloud CLI lo reemplazarán de forma predeterminada. Para evitar reemplazos, usa la marca --no-clobber. Cuando se usa Google Cloud CLI, no se admite agregar 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 un breve retraso antes de que se sincronicen por completo los metadatos del objeto. Debido a que Cloud Storage usa un modelo de coherencia eventual, intentar descargar un objeto inmediatamente después de subirlo puede generar un error de discrepancia de hash si los metadatos aún no se actualizaron.

      Si una descarga falla con un error de discrepancia de hash poco después de una carga, vuelve a intentar ejecutar el comando. Las descargas se completan por completo o fallan de forma explícita; no se producirán descargas parciales o dañadas de forma silenciosa.

  • Rendimiento de la validación de la suma de comprobación: Los buckets zonales dependen exclusivamente de CRC32C para la validación de datos, lo que permite que el sistema realice sumas de comprobación por fragmento y para toda la carga o descarga. De forma predeterminada, Google Cloud CLI usa la biblioteca de Python google-crc32c, que viene preinstalada con Google Cloud CLI. Sin embargo, si usas una instalación de Python no empaquetada, debes instalar de forma explícita la biblioteca google-crc32c desde PyPI. De lo contrario, Google Cloud CLI recurre al objeto binario gcloud-crc32c, lo que puede ralentizar el rendimiento del cálculo de CRC por fragmento.

Incompatibilidades

Los buckets zonales no son compatibles con los siguientes productos y servicios:

  • Carga y administración de datos

    • Rapid Cache

    • Autoclass

    • Bloqueo del bucket

    • Objetos compuestos

    • Cargas multiparte de XML

    • Conservaciones de objetos

    • La acción SetStorageClass de la Administración del ciclo de vida de los objetos

    • Bloqueo de retención de objetos

    • Reubicaciones de buckets

    • Cargas reanudables

    • Reescrituras de objetos

    • Pagos del solicitante

  • Metadatos

    • Los objetos de los buckets zonales no tienen un hash MD5.

    • Las propiedades de metadatos asociadas con funciones y productos no compatibles no aparecen en la representación de recursos de un bucket zonal o un objeto que se puede agregar, o bien no se pueden escribir. Por ejemplo:

      • Las propiedades de metadatos softDeleteTime y hardDeleteTime no aparecen en la representación del recurso Objects porque la eliminación no definitiva no se admite para objetos en buckets zonales.

      • Los metadatos storageClass de los objetos en los buckets zonales siempre tienen un valor de RAPID y no se pueden reescribir porque los buckets zonales siempre deben usar la clase de almacenamiento Rapid Storage.

  • 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

  • Protección de datos y recuperación ante desastres

    • Control de versiones de objetos

    • Borrar de forma no definitiva

    • Replicación entre buckets

  • Otros Google Cloud servicios

    • BigQuery

Cuotas

Cada zona por proyecto tiene una cuota de capacidad de almacenamiento predeterminada. Cada zona por proyecto también tiene una cuota de salida predeterminada de Cloud Storage a los servicios deGoogle . Para ver estas cuotas, consulta Cuotas y límites.

Para obtener información sobre cómo supervisar el uso de la salida de datos y solicitar más ancho de banda, consulta Supervisión del uso del ancho de banda.

Precios

El uso de Rapid Bucket genera cargos por el almacenamiento de datos, las operaciones y las herramientas de redes. Para obtener más información, consulta Precios.

Prácticas recomendadas

Para optimizar el rendimiento y el uso de recursos cuando trabajes con buckets zonales, ten en cuenta las siguientes prácticas recomendadas:

  • Optimiza las lecturas de objetos: Cuando se leen objetos de buckets zonales con gcloud CLI, esta aplica de forma automática la simultaneidad y la división predeterminadas. Para ajustar aún más estos parámetros de configuración para una carga de trabajo específica, consulta Ajusta el rendimiento de gcloud CLI para buckets zonales.

  • Identificadores de archivos de Cloud Storage FUSE: Para ayudar a optimizar el rendimiento cuando usas buckets zonales con Cloud Storage FUSE, mantén un identificador de archivo abierto para los objetos en tu bucket zonal activado y úsalo para varias operaciones. Esta práctica mejora el rendimiento, ya que Cloud Storage FUSE evita los viajes de ida y vuelta innecesarios de la red para las lecturas repetidas.

  • Optimiza la latencia de escritura paralela: Si mantienes tu propia lógica de escritura paralela de gRPC, considera usar un grupo de escritores abiertos previamente con objetos no finalizados para mover la configuración de la transmisión fuera de la ruta de escritura. Un grupo de escritores preabiertos abre flujos de objetos y crea objetos anexables nuevos y vacíos en el bucket antes de que tu aplicación los necesite. Para obtener más información, consulta Optimiza la latencia de escritura.

¿Qué sigue?