Rapid Bucket

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 coubicar tu almacén de datos junto con tus recursos de cómputo, lo que ofrece una latencia significativamente más baja 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 datos a objetos en buckets zonales, consulta Usa objetos en buckets zonales.

Para que se habilite el modo 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 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.

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 de otro tipo que requieren muchos 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.

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 Storage.

  • Rapid Storage: 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 ubicado en una zona. Los objetos en 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 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 limitaciones 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 se vacíen de forma permanente los 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 devuelve un error al flujo original, y ya no se permitirá que el flujo original escriba. El nuevo escritor puede reanudar la anexión desde el último desplazamiento persistente sin otras anexiones intercaladas al objeto.

Finaliza objetos

Después de 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 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 de Cloud Storage. Sin embargo, se aplican las siguientes limitaciones:

  • No puedes escribir en buckets zonales con las APIs de biblioteca cliente estándar 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.

  • Cuando usas gRPC, solo puedes escribir en buckets zonales con las APIs de BidiWriteObject. Los objetos anexables solo son compatibles con la llamada a RPC BidiWriteObject en modo anexable. Otros métodos de escritura de gRPC (como las escrituras de un solo intento o las reanudables) y otras llamadas a RPC (como WriteObject) no admiten objetos anexables.

  • 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 segmentados y las optimizaciones del rendimiento para los buckets zonales requieren la versión 583.0.0 o posterior de gcloud CLI. Para obtener más información, consulta Cómo optimizar el rendimiento de la gcloud CLI para buckets zonales.

    • 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 un comando de carga de Google Cloud CLI falla o se interrumpe, es posible que veas objetos incompletos en tu bucket. Sin embargo, puedes reanudar estas cargas volviendo 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, mv y rsync de Google Cloud CLI lo sobrescribirán de forma predeterminada. Para evitar que se sobrescriban, 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 ocasional 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 discrepancia 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. Las descargas se completan o fallan de forma explícita; no se producen 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 la suma 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 incluida, debes instalar de forma explícita la biblioteca google-crc32c desde PyPI. De lo contrario, Google Cloud CLI recurre al binario gcloud-crc32c, lo que podría generar un rendimiento más lento para el cálculo del CRC por fragmento.

Incompatibilidades

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

  • Administración y carga de datos

    • Rapid Cache

    • Autoclass

    • Bloqueo del bucket

    • Objetos compuestos

    • Cargas multiparte de XML

    • Conservaciones de objetos

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

    • Bloqueo de retención de objetos

    • Reubicaciones de buckets

    • Cargas reanudables

    • Reescritura de objetos

    • Pagos del solicitante

  • 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 softDeleteTime y hardDeleteTime no aparecen en la representación del recurso Objects porque la eliminación no definitiva no se admite para los objetos en buckets zonales.

      • Los metadatos storageClass de los objetos en buckets zonales siempre tienen un valor de RAPID y no se pueden volver a escribir 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 almacenamiento de datos, operaciones y 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 lees objetos de buckets zonales con la gcloud CLI, esta aplica automáticamente la simultaneidad predeterminada y las configuraciones de segmentación. Para ajustar aún más esta configuración para una carga de trabajo específica, consulta Ajusta el rendimiento de la gcloud CLI para buckets zonales.

  • Manejo de archivos de Cloud Storage FUSE: Para optimizar el rendimiento cuando se usan buckets zonales con Cloud Storage FUSE, mantén un manejo de archivos abierto para los objetos en tu bucket zonal activado y úsalo para varias operaciones. Esta práctica mejora el rendimiento porque Cloud Storage FUSE evita viajes de ida y vuelta innecesarios a 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 preabiertos con objetos sin finalizar para quitar la configuración de transmisión de la ruta de escritura. Un grupo de escritores preabiertos abre transmisiones de objetos y crea objetos nuevos y vacíos que se pueden agregar en el bucket antes de que tu aplicación los necesite. Para obtener más información, consulta Cómo optimizar la latencia de escritura.

¿Qué sigue?