Rapid Bucket

En esta página, se describe Rapid Bucket, una capacidad que te permite almacenar objetos en la clase de almacenamiento Rapid Storage si estableces una zona como la ubicación de un bucket. Este enfoque te permite ubicar tu almacenamiento 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 compatibles en Zonas. Para leer y agregar objetos a buckets zonales, consulta Usa objetos en buckets zonales.

Beneficios

Rapid Bucket se creó para quitar los cuellos de botella de almacenamiento y es ideal para usar en tus aplicaciones con mayor uso de datos, como IA y AA, y 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 la recuperación instantánea de datos y permite que las aplicaciones de inferencia en tiempo real se ejecuten a gran escala. La capacidad de procesamiento masiva y las QPS altas ayudan a mantener saturados por completo tus clústeres de GPU costosos, lo que reduce de forma drástica 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 Storage.

  • Rapid Storage: Es la clase de almacenamiento que ofrece el mayor rendimiento de acceso a los datos y 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 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 objetos al bucket zonal sin realizar una reescritura completa del objeto

  • 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 y AA, o para otras cargas de trabajo con uso intensivo de datos. Algunos ejemplos de estas cargas de trabajo son el punto de control, la evaluación y la entrega de modelos, así como el registro y las colas de mensajes. 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 varias transmisiones de lectura a 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 agregar datos a objetos en buckets zonales. Cuando agregas objetos, se aplican las siguientes semánticas:

  • Los objetos que se pueden agregar 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 objetos que puedes agregar a un objeto ni en la cantidad de bytes que puedes agregar a la vez. Puedes agregar objetos 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 vacíen de forma permanente las nuevas adiciones. Cuando estableces una transmisión de lectura, debes anticipar una demora mínima en la actualización del tamaño del objeto.

  • Los objetos que se pueden agregar solo pueden tener un escritor a la vez. Si se establece una nueva transmisión de escritura para un objeto que ya tiene una existente, Cloud Storage muestra un error en la transmisión original, y ya no se permitirá que la transmisión original escriba. El nuevo escritor puede reanudar la adición desde el último desplazamiento persistente sin otras adiciones intercaladas al objeto.

Cómo finalizar objetos

Después de finalizar un objeto, ya no puedes agregarlo, pero 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 buckets zonales y acceder a ellos con Cloud Storage FUSE o el controlador CSI de Cloud Storage FUSE. Asegúrate de usar Cloud Storage FUSE versión 3.7.2 o posterior. Para usar el controlador CSI de Cloud Storage FUSE, asegúrate de que tu versión de Google Kubernetes Engine sea 1.35.0-gke.3047001 o 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 habilitado el espacio de nombres jerárquico y el acceso uniforme a nivel de 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 553.0.0. Las versiones anteriores no son compatibles con los buckets zonales. Te recomendamos que uses la versión más reciente de la CLI de gcloud 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 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. 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 la adición de datos a un objeto existente; se debe volver a subir toda la fuente.

    • Finalización de objetos: Los objetos subidos a un bucket zonal con Google Cloud CLI pueden experimentar una breve demora antes de que los metadatos del objeto se sincronicen por completo. Debido a que Cloud Storage usa un modelo de coherencia eventual, si intentas descargar un objeto inmediatamente después de la carga, se puede producir un error de falta de coincidencia de hash si los metadatos aún no se actualizaron.

      Si una descarga falla con un error de falta de coincidencia de hash poco después de una carga, vuelve a intentar ejecutar el comando. El sistema garantiza que las descargas se realicen por completo o fallen de forma explícita; las descargas parciales o dañadas no ocurrirán de forma silenciosa.

Incompatibilidades

Los buckets zonales son incompatibles 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

    • Replicación entre bucket

  • Administración de datos

    • Rapid Cache

    • Autoclass

    • Bloqueo del bucket

    • Compón objetos

    • Conservaciones de objetos

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

    • Bloqueo de retención de objetos

    • Reubicación de buckets

    • Cargas reanudables

    • Reescribe 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 compatibles no aparecen en la representación de recursos de un bucket zonal o un objeto que se puede agregar, o no se pueden escribir. Por ejemplo:

      • Las propiedades de metadatos softDeleteTime y hardDeleteTime no aparecen en la representación de recursos del recurso Objects porque el borrado no definitivo no es compatible con los objetos en buckets zonales.

      • Los metadatos storageClass de los objetos en 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.

Cuotas

Cada zona por proyecto tiene una cuota de bytes de almacenamiento. Cada zona por proyecto también tiene una cuota de salida de Cloud Storage a los servicios de Google. Para ver cuánta cuota de almacenamiento o de salida de datos está 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 ayudar a optimizar el rendimiento cuando usas buckets zonales con Cloud Storage FUSE, mantén un descriptor de archivo abierto para los objetos activados y úsalo para varias operaciones. Esto genera un mejor rendimiento porque permite que Cloud Storage FUSE evite realizar viajes de ida y vuelta innecesarios a la red por cada lectura repetida.

¿Qué sigue?