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. Le bucket Rapid est idéal pour vos applications les plus gourmandes en données, telles que l'IA/le ML et l'analyse de données.

Pour créer un bucket zonal à l'aide de Rapid Bucket, consultez Créer des buckets zonaux. Pour lire et ajouter des objets dans des buckets zonaux, consultez Utiliser des objets dans des buckets zonaux.

Terminologie des buckets Rapid

La documentation Cloud Storage utilise les termes suivants :

  • Bucket Rapid : produit qui permet 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.

Fonctionnalités des buckets zonaux

En plus d'offrir 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 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/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 l'utilisation de 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 que d'autres ajouts soient 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 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.

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 :

    • 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 produisent pas en silence.

Incompatibilités

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

  • Outils

    • Importations en plusieurs parties avec l'API XML

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

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

    • Cache Anywhere

    • Classe automatique

    • Verrou de bucket

    • Composer des objets

    • Obligations de conservation d'objets

    • Action SetStorageClass de gestion du cycle de vie des objets

    • Action Delete de gestion du cycle de vie des objets

    • Verrou de conservation des objets

    • Notifications Pub/Sub

    • 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

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