Bucket Rapid

Cette page décrit Rapid Bucket, une fonctionnalité qui vous permet de stocker des objets dans la classe de stockage Rapid en définissant une zone comme emplacement d'un bucket. Cette approche vous permet de colocaliser votre stockage de données avec vos ressources de calcul, ce qui offre une latence nettement inférieure et un débit plus élevé par rapport aux autres classes de stockage dans Cloud Storage. Les charges de travail d'autres zones et régions peuvent également accéder au bucket, avec des performances proportionnelles à la distance réseau.

Pour créer un bucket zonal à l'aide de Rapid Bucket, consultez Créer des buckets zonaux. Vous pouvez consulter la liste des zones disponibles dans Zones. Pour lire et ajouter des objets dans des buckets zonaux, consultez Utiliser des objets dans des buckets zonaux.

Pour qu'un bucket puisse être activé en tant que bucket Rapid, il doit également avoir l'espace de noms hiérarchique et l'accès uniforme au niveau du bucket activés.

Fonctionnalités et avantages

Rapid Bucket est conçu pour éliminer les goulots d'étranglement du stockage. Il est idéal pour vos applications les plus gourmandes en données, telles que l'IA/le ML et l'analyse de données. Rapid Bucket offre une latence inférieure à la milliseconde, un débit agrégé pouvant atteindre 15 To/s et 20 millions de requêtes par seconde (RPS). La latence ultra-faible permet de récupérer instantanément les données et permet aux applications d'inférence en temps réel de fonctionner à grande échelle. Le débit massif et le nombre élevé de RPS permettent de maintenir vos coûteux clusters de GPU entièrement saturés, ce qui réduit considérablement les temps d'entraînement des modèles.

En plus d'offrir une faible latence et un haut débit, les buckets zonaux vous permettent de :

  • Ajouter des données aux objets du bucket zonal sans réécrire l'intégralité de l'objet

  • Ouvrez des objets et maintenez un flux pendant que vous effectuez des opérations, ce qui vous permet d'accélérer les lectures et les écritures ultérieures.

Cas d'utilisation

Rapid Bucket est plus adapté aux charges de travail d'IA/ML ou à d'autres charges de travail nécessitant un grand volume de données. Voici quelques exemples de ces charges de travail : la création de points de contrôle de modèles, l'évaluation et la diffusion, ainsi que les files d'attente de journaux et de messages. Il peut également être utilisé pour les données de streaming ou pour fournir du stockage aux bases de données.

Pour profiter pleinement de la faible latence et du haut débit fournis par Rapid Bucket, assurez-vous d'activer la connectivité directe gRPC.

Terminologie Rapid Bucket

La documentation Cloud Storage utilise les termes suivants :

  • Rapid Bucket : produit permettant de créer des buckets avec un emplacement zonal et la classe de stockage Rapid Storage.

  • Rapid Storage : classe de stockage qui offre les meilleures performances en termes d'accès aux données et d'opérations d'E/S dans Cloud Storage. Lorsque vous utilisez Rapid Storage, vous créez un bucket qui utilise Rapid Storage. Pour en savoir plus sur Rapid Storage, consultez Classes de stockage.

  • Bucket zonal : bucket situé dans une zone. Les objets des buckets zonaux sont toujours stockés dans le stockage rapide et peuvent être ajoutés.

Accès aux objets dans les buckets zonaux

Pour bénéficier des avantages en termes de performances d'un bucket zonal, assurez-vous d'ouvrir les objets pour le streaming et de maintenir un flux lorsque vous effectuez des opérations sur les objets. Lorsque vous établissez et gérez un flux, vous pouvez effectuer des opérations de lecture ou d'écriture ultérieures sur l'objet avec une latence très faible. Par exemple, lors de la lecture d'un fichier Parquet, vous pouvez effectuer à la fois la lecture initiale des métadonnées du fichier (le pied de page) et la lecture ultérieure de lignes spécifiques dans une seule requête. Cette approche est plus efficace que d'utiliser des requêtes distinctes pour chaque étape.

Une fois établis, les flux d'objets restent ouverts par défaut lorsque vous accédez aux objets de buckets zonaux à l'aide de Cloud Storage FUSE ou des bibliothèques clientes Cloud Storage.

Vous pouvez ouvrir plusieurs flux de lecture vers un objet à partir d'un nombre illimité d'hôtes. Il n'y a aucune limite au nombre de flux de lecture que vous pouvez établir pour un objet.

Ajouter des objets

Vous pouvez ajouter des données aux objets dans les buckets zonaux. Lorsque vous ajoutez des éléments à des objets, la sémantique suivante s'applique :

  • Les objets pouvant être ajoutés apparaissent dans l'espace de noms du bucket dès que vous commencez à y écrire des données. Ils peuvent être lus pendant qu'ils sont en cours d'écriture.

  • Le nombre d'ajouts que vous pouvez effectuer à un objet ou le nombre d'octets que vous pouvez ajouter à la fois ne sont pas limités. Vous pouvez ajouter des données à un objet jusqu'à ce qu'il atteigne sa taille maximale de 5 Tio.

  • La taille d'un objet augmente en temps réel à mesure que de nouvelles données sont ajoutées ou vidées de manière permanente. Lorsque vous établissez un flux de lecture, vous devez vous attendre à un léger délai avant que la taille de l'objet ne soit mise à jour.

  • Les objets pouvant être ajoutés ne peuvent avoir qu'un seul rédacteur à la fois. Si un nouveau flux d'écriture est établi pour un objet qui possède déjà un flux d'écriture, une erreur est renvoyée par Cloud Storage au flux d'origine, qui ne sera plus autorisé à écrire. Le nouveau rédacteur peut reprendre l'ajout à partir du dernier décalage persistant sans que d'autres ajouts soient entrelacés à l'objet.

Finaliser des objets

Une fois un objet finalisé, vous ne pouvez plus y ajouter de données, mais vous pouvez toujours le remplacer par une nouvelle version. Les métadonnées d'un objet finalisé restent modifiables. Par exemple, de nouveaux tags peuvent être ajoutés et l'objet peut être renommé.

Installer des buckets zonaux

Vous pouvez installer des buckets zonaux et y accéder à l'aide de Cloud Storage FUSE ou du pilote CSI Cloud Storage FUSE. Veillez à utiliser Cloud Storage FUSE version 3.7.2 ou ultérieure. Pour utiliser le pilote CSI Cloud Storage FUSE, votre version de Google Kubernetes Engine doit être 1.35.0-gke.3047001 ou ultérieure.

Outils compatibles

Vous pouvez utiliser la plupart des outils pour Cloud Storage avec les buckets zonaux. Toutefois, les restrictions suivantes s'appliquent :

  • Vous ne pouvez pas écrire dans des buckets zonaux à l'aide d'API de bibliothèque cliente standards conçues pour les buckets non zonaux. Pour écrire dans des buckets zonaux, vous devez modifier votre code afin d'utiliser les API compatibles avec les buckets zonaux. Pour savoir quelles API utiliser, consultez les exemples de code pour votre bibliothèque cliente dans Utiliser des objets dans des buckets zonaux.

  • Lorsque vous utilisez gRPC, vous ne pouvez écrire dans des buckets zonaux qu'à l'aide des API BidiWriteObject. Les objets pouvant être ajoutés ne sont compatibles qu'avec l'appel RPC BidiWriteObject en mode ajoutable. Les autres méthodes d'écriture gRPC (telles que les écritures ponctuelles ou résumables) et les autres appels RPC (comme WriteObject) ne sont pas compatibles avec les objets pouvant être ajoutés.

  • Vous ne pouvez pas écrire dans des buckets zonaux à l'aide de l'API JSON.

  • Rapid Bucket est compatible avec les versions 2026.3.0 et ultérieures de la bibliothèque Python GCSFS.

  • Limites de Google Cloud CLI :

    • Version minimale de Google Cloud CLI compatible : la version minimale de gcloud CLI compatible avec les buckets zonaux est la version 553.0.0. Les versions antérieures ne sont pas compatibles avec les buckets zonaux. Nous vous recommandons d'utiliser la dernière version de gcloud CLI pour bénéficier des dernières fonctionnalités et corrections de bugs. Les téléchargements d'objets en plusieurs parties et les optimisations des performances pour les buckets zonaux nécessitent gcloud CLI version 583.0.0 ou ultérieure. Pour en savoir plus, consultez Optimiser les performances de la gcloud CLI pour les buckets zonaux.

    • Visibilité des importations incomplètes : contrairement aux buckets des autres classes de stockage, où les objets n'apparaissent dans l'espace de noms qu'une fois l'importation terminée, les objets partiellement importés dans les buckets zonaux sont immédiatement visibles. Si une commande d'importation Google Cloud CLI échoue ou est interrompue, des objets incomplets peuvent s'afficher dans votre bucket. Vous pouvez toujours reprendre ces importations en exécutant à nouveau la commande.

    • Écrasement d'objets : le comportement standard de la Google Cloud CLI s'applique aux buckets zonaux. Lorsque vous écrasez un objet, si un fichier ou un objet portant le même nom existe à la destination, les commandes cp, mv et rsync de la Google Cloud CLI l'écrasent par défaut. Pour éviter les écrasements, utilisez le flag --no-clobber. Lorsque vous utilisez Google Cloud CLI, l'ajout de données à un objet existant n'est pas pris en charge. L'intégralité de la source doit être réimportée.

    • Finalisation des objets : les objets importés dans un bucket zonal à l'aide de la Google Cloud CLI peuvent parfois subir un bref délai avant que les métadonnées de l'objet ne soient entièrement synchronisées. Étant donné que Cloud Storage utilise un modèle à cohérence à terme, toute tentative de téléchargement d'un objet immédiatement après son importation peut entraîner une erreur d'incompatibilité de hachage si les métadonnées ne sont pas encore mises à jour.

      Si un téléchargement échoue avec une erreur de hachage non concordant peu de temps après un import, réessayez la commande. Les téléchargements réussissent entièrement ou échouent explicitement. Les téléchargements partiels ou corrompus ne se produisent pas en silence.

  • Performances de la validation de la somme de contrôle : les buckets zonaux s'appuient exclusivement sur CRC32C pour la validation des données, ce qui permet au système d'effectuer la somme de contrôle par bloc et pour l'ensemble du transfert. Par défaut, Google Cloud CLI utilise la bibliothèque Python google-crc32c, qui est préinstallée avec Google Cloud CLI. Toutefois, si vous utilisez une installation Python non groupée, vous devez installer explicitement la bibliothèque google-crc32c à partir de PyPI. Sinon, Google Cloud CLI revient au binaire gcloud-crc32c, ce qui peut entraîner des performances plus lentes pour le calcul du CRC par bloc.

Incompatibilités

Les buckets zonaux ne sont pas compatibles avec les produits et services suivants :

  • Importation et gestion des données

    • Rapid Cache

    • Classe automatique

    • Verrou de bucket

    • Objets composites

    • Importations en plusieurs parties XML

    • Obligations de conservation d'objets

    • Action de gestion du cycle de vie des objets SetStorageClass

    • Verrou de conservation des objets

    • Relocalisation de buckets

    • Importations avec reprise

    • Réécritures d'objets

    • Paiements par le demandeur

  • Métadonnées

    • Les objets des buckets zonaux ne possèdent pas de hachage MD5.

    • Les propriétés de métadonnées associées aux fonctionnalités et produits non compatibles n'apparaissent pas dans la représentation de ressource d'un bucket zonal ou d'un objet pouvant être ajouté, ou ne peuvent pas être écrites. Exemple :

      • Les propriétés de métadonnées softDeleteTime et hardDeleteTime n'apparaissent pas dans la représentation de ressource de la ressource Objects, car la suppression réversible n'est pas compatible avec les objets des buckets zonaux.

      • Les métadonnées storageClass des objets dans les buckets zonaux ont toujours la valeur RAPID et ne peuvent pas être réécrites, car les buckets zonaux doivent toujours utiliser la classe de stockage Rapid Storage.

  • Contrôle des accès

    • Listes de contrôle des accès (LCA) au niveau des objets

    • Configurations CORS

    • Clés de chiffrement fournies par le client (CSEK)

    • Clés HMAC

  • Protection des données et reprise après sinistre

    • Gestion des versions des objets

    • Supprimer de façon réversible

    • Réplication entre buckets

  • Autres services Google Cloud

    • BigQuery

Quotas

Chaque zone par projet dispose d'un quota de capacité de stockage par défaut. Chaque zone par projet dispose également d'un quota de sortie par défaut de Cloud Storage vers les servicesGoogle . Pour consulter ces quotas, consultez Quotas et limites.

Pour savoir comment surveiller votre utilisation des données en sortie et demander plus de bande passante, consultez Surveillance de l'utilisation de la bande passante.

Tarifs

L'utilisation de Rapid Bucket entraîne des frais de stockage, d'opérations et de mise en réseau des données. Pour en savoir plus, reportez-vous à la page Tarifs.

Bonnes pratiques

Pour optimiser les performances et l'utilisation des ressources lorsque vous travaillez avec des buckets zonaux, tenez compte des bonnes pratiques suivantes :

  • Optimiser les lectures d'objets : lorsque vous lisez des objets à partir de buckets zonaux à l'aide de gcloud CLI, l'interface CLI applique automatiquement les configurations de concurrence et de segmentation par défaut. Pour affiner davantage ces paramètres pour une charge de travail spécifique, consultez Ajuster les performances de la gcloud CLI pour les buckets zonaux.

  • Descripteurs de fichier Cloud Storage FUSE : pour optimiser les performances lorsque vous utilisez des buckets zonaux avec Cloud Storage FUSE, conservez un descripteur de fichier ouvert pour les objets de votre bucket zonal installé et utilisez-le pour plusieurs opérations. Cette pratique améliore les performances, car Cloud Storage FUSE évite les allers-retours réseau inutiles pour les lectures répétées.

  • Optimiser la latence d'écriture parallèle : si vous gérez votre propre logique d'écriture parallèle gRPC, envisagez d'utiliser un pool de writers pré-ouverts avec des objets non finalisés pour déplacer la configuration du flux hors du chemin d'écriture. Un pool de writers pré-ouverts ouvre des flux d'objets et crée des objets vides et ajoutables dans le bucket avant que votre application n'en ait besoin. Pour en savoir plus, consultez Optimiser la latence d'écriture.

Étapes suivantes