L'espace de noms hiérarchique est une fonctionnalité offerte par Cloud Storage qui vous permet d'organiser des objets dans des dossiers et de stocker vos données dans une structure de système de fichiers logique, ce qui facilite la rationalisation des tâches de gestion des données. L'espace de noms hiérarchique fournit la sémantique de répertoire hautes performances et les opérations de dossier atomiques nécessaires pour accélérer les charges de travail d'IA/ML et d'analyse utilisant beaucoup de données.
Cette page présente un aperçu de l'espace de noms hiérarchique, y compris ses principales fonctionnalités, ses cas d'utilisation courants, ses avantages et ses limites.
Fonctionnement
Pour utiliser des dossiers dans un bucket, vous devez activer l'espace de noms hiérarchique lorsque vous créez le bucket. Le paramètre d'espace de noms hiérarchique de votre bucket ne peut pas être modifié une fois le bucket créé. Pour savoir comment activer l'espace de noms hiérarchique pour votre bucket, consultez Créer et gérer des buckets avec l'espace de noms hiérarchique activé.
Le schéma suivant montre un exemple de bucket avec un espace de noms hiérarchique activé, où les objets sont organisés dans une structure hiérarchique de dossiers. Un dossier d'un bucket avec un espace de noms hiérarchique activé peut contenir à la fois des objets et des dossiers enfants.
Principales fonctionnalités
L'espace de noms hiérarchique offre les fonctionnalités suivantes :
Nombre de requêtes par seconde (RPS) initial plus élevé : les buckets avec un espace de noms hiérarchique activé offrent des limites de RPS initial jusqu'à huit fois plus élevées pour la lecture et l'écriture d'objets par rapport aux buckets sans espace de noms hiérarchique activé. La limite initiale de RPS plus élevée facilite l'adaptation des charges de travail utilisant beaucoup de données et améliore le débit. Pour en savoir plus sur les méthodes d'optimisation des performances lorsque vous utilisez des dossiers dans des buckets avec l'espace de noms hiérarchique activé, consultez Gestion des dossiers.
Dossiers : les dossiers servent de conteneur pour les objets et les autres dossiers, et permettent d'effectuer des opérations telles que la création, la suppression et l'obtention de dossiers. Le stockage de vos données dans une structure de dossiers améliore les performances, garantit la cohérence et simplifie la gestion des charges de travail intensives en données et orientées fichiers.
Opérations sur les dossiers : les opérations sur les dossiers offrent des fonctionnalités de fiabilité et de gestion, y compris la création, la suppression, la liste et le renommage de dossiers.
Renommer des dossiers : l'opération de renommage de dossiers vous permet de renommer de manière atomique le chemin d'accès d'un dossier et de ses dossiers sous-jacents sans supprimer d'objets. Cette technique est efficace et permet de gagner du temps, en particulier pour les dossiers volumineux contenant plusieurs objets.
Lister les dossiers : l'opération "Lister les dossiers" liste tous les dossiers du bucket ou sous un dossier spécifique pour vous aider à gérer et à comprendre la structure de vos données stockées.
Quand utiliser un espace de noms hiérarchique ?
Vous devez envisager d'activer l'espace de noms hiérarchique lorsque vous utilisez des applications qui s'attendent à une hiérarchie et à une sémantique de système de fichiers. L'espace de noms hiérarchique est utile pour les tâches à forte intensité de données, telles que les charges de travail d'analyse et d'IA/ML. Voici quelques scénarios courants dans lesquels vous devriez envisager d'utiliser un espace de noms hiérarchique :
Traitement basé sur Hadoop : les charges de travail Hadoop et Spark s'appuient généralement sur une structure de stockage de type système de fichiers et sur un système de dénomination basé sur le temps pour les fichiers et les dossiers. L'espace de noms hiérarchique s'intègre au connecteur Cloud Storage pour améliorer le débit et renommer les dossiers de manière atomique, ce qui améliore l'intégrité et la cohérence des données pour de nombreux pipelines de traitement des données.
Traitement des charges de travail axées sur les fichiers : les charges de travail telles que le traitement par lot des analyses, les services financiers ou le calcul hautes performances sont structurées en partitions basées sur une hiérarchie de dossiers et de fichiers. L'espace de noms hiérarchique permet de gérer ces environnements avec une API dédiée à la gestion des dossiers. De plus, l'espace de noms hiérarchique simplifie la gestion des dossiers contenant d'autres dossiers et objets. Avec une seule commande d'API, vous pouvez renommer rapidement un dossier et tout son contenu, ce qui vous fait gagner un temps et des ressources précieux.
Traitement de l'IA/du ML : les outils d'IA/de ML tels que TensorFlow, Pandas et PyTorch s'attendent à contrôle des accès et à une sémantique du système de fichiers. L'espace de noms hiérarchique, en particulier lorsqu'il est associé à Cloud Storage FUSE, offre un débit accru et un accès efficace aux données. Par conséquent, l'espace de noms hiérarchique améliore les performances et la fiabilité de l'itération du modèle de ML.
Avant d'activer l'espace de noms hiérarchique pour votre bucket, vous devez prendre en compte les limites de l'espace de noms hiérarchique. Pour en savoir plus sur les limites des espaces de noms hiérarchiques, consultez la section Limites.
Avantages de l'espace de noms hiérarchique
Lorsque vous activez l'espace de noms hiérarchique pour vos buckets, vous pouvez effectuer les opérations suivantes :
Optimiser l'organisation : vous pouvez organiser vos données dans une structure de dossiers hiérarchique qui vous aide à gérer et à localiser des fichiers ou des ensembles de données.
Créer un écosystème de système de fichiers : l'espace de noms hiérarchique introduit des fonctionnalités de système de fichiers telles que les dossiers, le changement de nom de dossier et la liste des dossiers, qui sont utiles pour les applications orientées fichiers, y compris l'écosystème Hadoop et les charges de travail d'IA/de ML.
Amélioration des performances : en adaptant les charges de travail gourmandes en données pour gérer un débit plus élevé, vous pouvez améliorer les performances globales de votre application.
Plates-formes compatibles
Les buckets avec espace de noms hiérarchique sont compatibles avec les fonctionnalités de la plate-forme Cloud Storage suivantes :
Toutes les API d'objets Cloud Storage et les fonctionnalités Cloud Storage les plus utilisées. Pour en savoir plus sur les fonctionnalités non compatibles, consultez Limites.
Transfert de données d'un bucket standard vers un bucket avec un espace de noms hiérarchique à l'aide du service de transfert de stockage.
Intégration aux produits suivants :
Connecteur Cloud Storage, géré par Dataproc pour les charges de travail Hadoop. Pour en savoir plus, consultez Utiliser des buckets avec espaces de noms hiérarchiques activés pour les charges de travail Hadoop.
Cloud Storage FUSE pour un accès aux buckets semblable à un système de fichiers à l'aide de clients.
Compatibilité avec les opérations et les fonctionnalités Cloud Storage
Les buckets avec l'espace de noms hiérarchique activé interagissent avec d'autres opérations Cloud Storage :
Gestion des opérations sur les objets
Les buckets pour lesquels l'espace de noms hiérarchique est activé gèrent les opérations sur les objets de la manière suivante :
- Les opérations telles que
Upload,RewriteetComposecréent automatiquement les dossiers parents manquants, à condition que vous disposiez des autorisations nécessaires. Par conséquent, vous n'avez pas besoin de créer des dossiers à l'avance avant d'importer des objets. - Bien que les dossiers puissent être créés automatiquement lors des opérations sur les objets, vous devez les supprimer explicitement à l'aide de l'opération
DeleteFolder. - Lorsque vous utilisez l'opération
ListObjectsavec le paramètredelimiter, les buckets renvoient chaque dossier enfant sous la forme d'unprefix.. Toutefois, les dossiers vides sont exclus par défaut. Pour inclure des dossiers vides, comme dans une liste de système de fichiers classique, vous devez définir le paramètreincludeFoldersAsPrefixes. Pour en savoir plus sur les méthodes d'optimisation des performances lors de la liste des objets dans les buckets pour lesquels l'espace de noms hiérarchique est activé, consultez Lister des objets.
Gestion des dossiers gérés
Les buckets avec l'espace de noms hiérarchique activé offrent un contrôle des accès précis lorsqu'ils sont utilisés avec des dossiers gérés. Dans les buckets avec l'espace de noms hiérarchique activé, le dossier est le répertoire qui contient vos données, tandis que le dossier géré est une ressource spécialisée utilisée pour appliquer des autorisations IAM précises à ce répertoire. Pour gérer l'accès aux dossiers, vous devez créer un dossier géré portant le même nom que le dossier, puis lui appliquer des stratégies IAM.
Les dossiers gérés sont traités de la manière suivante dans les buckets avec l'espace de noms hiérarchique activé.
- Lorsque vous créez un dossier géré, tous les dossiers parents manquants sont créés automatiquement, y compris le dossier portant le même nom. Par exemple, supposons que vous disposiez d'un bucket vide avec l'espace de noms hiérarchique activé, appelé
example-ai-datasets. Si vous créez un dossier géré dansexample-ai-datasetsappelé2025/training-data/, Cloud Storage crée automatiquement le dossier parent2025/et le dossier cibletraining-data/. - Un dossier géré ne peut pas exister sans le dossier associé.
- La suppression d'un dossier entraîne automatiquement la suppression du dossier géré associé.
- Si vous renommez un dossier, le dossier géré associé est automatiquement renommé.
- Les buckets avec un espace de noms hiérarchique doivent respecter les règles de dénomination des dossiers gérés et les règles de dénomination des dossiers. Bien que les noms de dossiers puissent être imbriqués jusqu'à 50 niveaux de profondeur, les noms de dossiers gérés ne peuvent être imbriqués que jusqu'à 15 niveaux de profondeur. La taille maximale du nom de dossier géré est limitée par la taille maximale du nom de dossier, qui est de 512 octets lorsqu'il est encodé en UTF-8.
Gestion des opérations sur les buckets
Les sections suivantes décrivent comment les opérations sur les buckets sont gérées lorsque l'espace de noms hiérarchique est activé.
Vous pouvez lister tous les buckets avec l'espace de noms hiérarchique activé, quel que soit leur format de stockage. La structure de stockage d'un bucket décrit la façon dont les objets sont organisés dans un bucket, soit dans un espace de noms unique, soit dans un espace de noms hiérarchique. Pour savoir comment afficher la structure de stockage d'un bucket, consultez Obtenir la structure de stockage d'un bucket. Pour répertorier tous les buckets, suivez les instructions détaillées dans Répertorier les buckets.
Vous pouvez supprimer des buckets avec l'espace de noms hiérarchique activé à condition qu'ils soient vides. Les buckets vides ne contiennent aucun objet ni dossier géré. Les buckets vides peuvent contenir des dossiers vides (sans aucun objet).
Gestion des règles de cycle de vie des objets
La gestion du cycle de vie des objets vous permet d'automatiser les actions sur les objets en fonction de conditions, telles que l'âge ou le préfixe. Toutefois, les règles de gestion du cycle de vie des objets peuvent se comporter différemment dans les buckets avec espace de noms hiérarchique et dans les buckets avec espace de noms plat en raison de l'opération RenameFolder :
Règles de gestion du cycle de vie des objets pour les buckets avec un espace de noms plat : l'opération de renommage consiste à renommer chaque objet à l'aide d'outils en copiant chaque objet vers un emplacement de destination et en supprimant l'objet d'origine de l'emplacement source. Par conséquent, de nouveaux objets sont créés avec de nouvelles dates de création à l'emplacement de destination. Si des règles de gestion du cycle de vie des objets basées sur l'âge sont appliquées à l'emplacement de destination, elles ne s'appliqueront pas immédiatement aux nouveaux objets, car leur date de création est réinitialisée.
Règles de gestion du cycle de vie des objets pour les buckets avec l'espace de noms hiérarchique activé : le renommage d'un dossier s'effectue au niveau du dossier, sans avoir à renommer chaque objet individuellement. Par conséquent, l'heure de création des objets est conservée, ce qui signifie que les règles de gestion du cycle de vie des objets basées sur l'âge sont appliquées immédiatement aux objets renommés s'ils répondent aux critères d'âge.
Tarifs
Pour en savoir plus sur les tarifs, consultez la page Tarifs de Cloud Storage.
Limites
Voici les limites de l'espace de noms hiérarchique :
Vous devez choisir d'utiliser ou non un espace de noms hiérarchique lorsque vous créez le bucket. Le paramètre d'espace de noms hiérarchique de votre bucket ne peut pas être modifié une fois le bucket créé.
Pour activer l'espace de noms hiérarchique, un bucket doit également activer l' accès uniforme au niveau du bucket.
Les fonctionnalités Cloud Storage suivantes ne sont pas disponibles pour les buckets qui utilisent un espace de noms hiérarchique :
- Verrou de bucket
- Relocalisation de bucket
- Réplication entre buckets
- Obligations de conservation d'objets
- Verrou de conservation des objets
- Gestion des versions des objets
Étapes suivantes
- Créez des buckets avec l'espace de noms hiérarchique activé.
- Créer et gérer des dossiers
- Renommer des dossiers
- Utilisez un espace de noms hiérarchique pour les charges de travail Hadoop.
- Optimiser les performances
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Cloud Storage en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
Profiter d'un essai sans frais de Cloud Storage