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 du 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 relatives à 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 emplacements compatibles dans Zones. Pour lire et ajouter des objets dans des buckets zonaux, consultez Utiliser des objets dans des buckets zonaux.

Pour que le bucket rapide soit activé sur un bucket, celui-ci 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 de stockage et est idéal pour vos applications les plus gourmandes en données, telles que l'IA/le ML et l'analyse de données. Le bucket rapide accepte une latence inférieure à la milliseconde, un débit agrégé allant jusqu'à 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 d'exécuter des applications d'inférence en temps réel à grande échelle. Le débit massif et le nombre élevé de RPS permettent de saturer complètement vos clusters de GPU coûteux, ce qui réduit considérablement les temps d'entraînement des modèles.

En plus de fournir une faible latence et un débit élevé, les buckets zonaux vous permettent d'effectuer les opérations suivantes :

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

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

Cas d'utilisation

Rapid Bucket est particulièrement adapté aux charges de travail d'IA/ML ou à d'autres charges de travail gourmandes en données. Voici quelques exemples de charges de travail de ce type : point de contrôle, évaluation et mise en service de modèles, ainsi que files d'attente de journalisation et de messagerie. Il peut également être utilisé pour diffuser des données en streaming ou pour fournir un espace de stockage pour les bases de données.

Pour profiter pleinement de la faible latence et du débit élevé fournis par Rapid Bucket, veillez à activer la connectivité directe gRPC.

Terminologie de Rapid Bucket

La documentation Cloud Storage utilise les termes suivants :

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

  • Stockage Rapid : classe de stockage qui offre les meilleures performances d'accès aux données et d'opérations d'E/S dans Cloud Storage. Lorsque vous utilisez Rapid Bucket, 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 Rapid Storage et peuvent être ajoutés.

Accès aux objets dans les buckets zonaux

Pour bénéficier des avantages d'un bucket zonal en termes de performances, veillez à ouvrir les objets pour le streaming et à 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 sont maintenus ouverts par défaut lorsque vous accédez aux objets d'un bucket zonal à l'aide de Cloud Storage FUSE ou des bibliothèques clientes Cloud Storage.

Vous pouvez ouvrir plusieurs flux de lecture vers un objet à partir de n'importe quel nombre d'hôtes. Le nombre de flux de lecture que vous pouvez établir vers un objet n'est pas limité.

Ajouter des objets

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

  • Les objets ajoutables apparaissent dans l'espace de noms du bucket dès que vous commencez à y écrire, et ils peuvent être lus pendant l'écriture.

  • Il n'y a aucune restriction sur le nombre d'ajouts que vous pouvez effectuer à un objet ni sur le nombre d'octets que vous pouvez ajouter à la fois. Vous pouvez ajouter des données jusqu'à ce qu'un objet atteigne sa taille maximale de 5 Tio.

  • La taille d'un objet augmente en temps réel à mesure que de nouveaux ajouts sont écrits ou vidés de manière permanente. Lorsque vous établissez un flux de lecture, vous devez vous attendre à un délai minimal de mise à jour de la taille de l'objet.

  • Les objets ajoutables ne peuvent avoir qu'un seul rédacteur à la fois. Si un nouveau flux d'écriture est établi pour un objet qui dispose déjà d'un flux d'écriture, Cloud Storage renvoie une erreur au flux d'origine, et le flux d'origine n'est plus autorisé à écrire. Le nouvel enregistreur peut reprendre l'ajout à partir du dernier décalage persistant sans autres ajouts entrelacés à l'objet.

Finalisation des objets

Une fois qu'un objet est finalisé, vous ne pouvez plus y ajouter de données, mais vous pouvez toujours l'écraser avec 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 des buckets zonaux à l'aide de la plupart des outils pour Cloud Storage. Toutefois, les restrictions suivantes s'appliquent :

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

  • Vous pouvez lire des objets dans des buckets zonaux à l'aide de l'API JSON, de l'API XML ou de gRPC, y compris des méthodes de lecture gRPC non bidirectionnelles telles que ReadObject.

  • La compatibilité avec l'écriture dans des buckets zonaux varie selon l'API :

    • gRPC : lorsque vous utilisez gRPC, vous ne pouvez écrire dans des buckets zonaux qu'à l'aide de l'API BidiWriteObject. Les objets ajoutables ne sont compatibles qu'avec l'appel RPC BidiWriteObject en mode ajoutable. Les méthodes d'écriture gRPC non bidirectionnelles, telles que WriteObject, ne sont pas compatibles avec les buckets zonaux.

    • API XML : vous pouvez écrire dans des buckets zonaux à l'aide de l'API XML, à l'exception des importations XML en plusieurs parties.

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

  • Le bucket rapide 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 la version 583.0.0 ou ultérieure de la gcloud CLI. Pour en savoir plus, consultez Régler les performances de gcloud CLI pour les buckets zonaux.

    • Visibilité des importations incomplètes : contrairement aux buckets d'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 de Google Cloud CLI échoue ou est interrompue, des objets incomplets peuvent s'afficher dans votre bucket. Vous pouvez toujours reprendre ces importations en réexécutant la commande.

    • Écrasement d'objets : le comportement standard de 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 à l'emplacement de destination, les commandes Google Cloud CLI cp, mv et rsync l'écrasent par défaut. Pour empêcher les écrasements, utilisez l'option --no-clobber. Lorsque vous utilisez la Google Cloud CLI, l'ajout de données à un objet existant n'est pas possible. Vous devez réimporter l'intégralité de la source.

    • 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 leurs métadonnées ne soient entièrement synchronisées. Étant donné que Cloud Storage utilise un modèle de cohérence à terme, toute tentative de téléchargement d'un objet immédiatement après son importation peut entraîner une erreur d'incohérence de hachage si les métadonnées ne sont pas encore mises à jour.

      Si un téléchargement échoue avec une erreur d'incohérence de hachage peu de temps après une importation, réessayez d'exécuter la commande. Les téléchargements réussissent complètement ou échouent explicitement. Les téléchargements partiels ou corrompus ne se produisent pas de manière silencieuse.

  • Performances de 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 une somme de contrôle par fragment et pour l'ensemble de l'importation ou du téléchargement. 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 utilise le binaire gcloud-crc32c, ce qui peut ralentir le calcul du CRC par fragment.

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 XML en plusieurs parties

    • Obligations de conservation d'objets

    • Action SetStorageClass de gestion du cycle de vie des objets

    • Verrou de conservation des objets

    • Relocalisations de buckets

    • Importations avec reprise

    • Réécritures d'objets

    • Paiements par le demandeur

  • Métadonnées

    • Les objets des buckets zonaux n'ont pas de hachage MD5.

    • Les propriétés de métadonnées associées à des fonctionnalités et produits non compatibles n'apparaissent pas dans la représentation des ressources d'un bucket zonal ou d'un objet pouvant être ajouté, ou ne sont pas accessibles en écriture. Exemple :

      • Les propriétés de métadonnées softDeleteTime et hardDeleteTime n'apparaissent pas dans la représentation 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 des 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.

  • 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 Cloud de Confiance by S3NS services

    • 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 servicesS3NS . Pour afficher ces quotas, consultez Quotas et limites.

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

Tarifs

L'utilisation de Rapid Bucket entraîne des frais de stockage, d'exploitation 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 utilisez des buckets zonaux, tenez compte des bonnes pratiques suivantes :

  • Optimiser les lectures d'objets : lors de la lecture d'objets à partir de buckets zonaux à l'aide de gcloud CLI, la CLI applique automatiquement les configurations de simultanéité et de découpage par défaut. Pour affiner ces paramètres pour une charge de travail spécifique, consultez Ajuster les performances de la gcloud CLI pour les buckets zonaux.

  • Gestionnaires de fichiers Cloud Storage FUSE : pour optimiser les performances lorsque vous utilisez des buckets zonaux avec Cloud Storage FUSE, conservez un gestionnaire de fichiers 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 rédacteurs pré-ouverts avec des objets non finalisés pour déplacer la configuration du flux hors du chemin d'écriture. Un pool de rédacteurs pré-ouverts ouvre des flux d'objets et crée des objets ajoutables vides dans le bucket avant que votre application n'en ait besoin. Pour en savoir plus, consultez Optimiser la latence d'écriture.

Étapes suivantes