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

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. Les buckets Rapid offrent 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 extrêmement 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 la pleine saturation de vos coûteux clusters de GPU, ce qui réduit considérablement les temps d'entraînement des modèles.

Terminologie 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 en termes d'accès aux données et d'opérations d'E/S dans Cloud Storage. Lorsque vous utilisez un bucket Rapid, vous créez un bucket qui utilise Rapid Storage. Pour en savoir plus sur le stockage Rapid, consultez Classes de stockage.

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

Capacités des buckets zonaux

En plus d'offrir une faible latence et un débit élevé, les buckets zonaux vous permettent de faire ce qui suit :

  • Ajouter des données aux objets du bucket zonal sans réécrire complètement les objets

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

Cas d'utilisation

Les buckets Rapid sont plus adaptés aux charges de travail d'IA/de ML ou à d'autres charges de travail nécessitant beaucoup de données. Voici quelques exemples de ces charges de travail : la création de points de contrôle, l'évaluation et la diffusion de modèles, ainsi que les files d'attente de journaux et de messages. Il peut également être utilisé pour diffuser des données 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, assurez-vous d'activer la connectivité directe gRPC.

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 maintenez 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. Vous pouvez établir autant de flux de lecture que vous le souhaitez 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 flux d'écriture est établi pour un objet qui en possède déjà un, Cloud Storage renvoie une erreur 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 autres ajouts entrelacés à l'objet.

Finaliser des objets

Une fois un objet finalisé, vous ne pouvez plus l'enrichir, 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, assurez-vous que votre version de Google Kubernetes Engine est 1.35.0-gke.3047001 ou ultérieure.

Tarifs

L'utilisation de buckets Rapid 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.

Limites

  • L'espace de noms hiérarchique et l'accès uniforme au niveau du bucket doivent être activés pour les buckets zonaux.

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

    • 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 du 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 l'option --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 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 finale, 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 et affiche une erreur de hachage non correspondant peu de temps après une importation, réessayez la commande. Le système garantit que les téléchargements réussissent entièrement ou échouent de manière explicite. Les téléchargements partiels ou corrompus ne se produiront pas en silence.

Incompatibilités

Les buckets zonaux ne sont pas compatibles avec les outils, opérations, produits et métadonnées suivants :

  • Outils

    • Écritures à l'aide de l'API XML ou de l'API JSON

    • Importations en plusieurs parties avec l'API XML

  • Écritures pour les objets non ajoutables à l'aide de gRPC

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

    • Gestion des versions des objets

    • Supprimer de façon réversible

  • Gestion des données

    • Rapid Cache

    • Classe automatique

    • Verrou de bucket

    • Composer des objets

    • Obligations de conservation d'objets

    • Action SetStorageClass de gestion du cycle de vie des objets

    • Verrou de conservation des objets

    • Relocaliser des buckets

    • Importations avec reprise

    • Réécrire des objets

    • Paiements par le demandeur

  • Contrôle des accès

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

    • Configurations CORS

    • Clé de chiffrement fournie par le client (CSEK)

    • Clés HMAC

  • Métadonnées

    • Les objets des buckets zonaux n'ont 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 dans les 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 Rapide.

Quotas

Chaque zone par projet dispose d'un quota de stockage en octets. Chaque zone par projet dispose également d'un quota de sortie de Cloud Storage vers les services Google. Pour connaître la quantité de stockage ou de quota de sortie de données disponible, consultez la page Quotas et limites du système. Pour savoir comment demander une augmentation de quota, consultez Gérer vos quotas.

Bonnes pratiques

Pour optimiser les performances lorsque vous utilisez des buckets zonaux avec Cloud Storage FUSE, conservez un descripteur de fichier ouvert pour les objets montés et utilisez-le pour plusieurs opérations. Cela permet d'améliorer les performances, car Cloud Storage FUSE peut ainsi éviter d'effectuer des allers-retours réseau inutiles pour chaque lecture répétée.

Étapes suivantes