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'analyse et d'IA/de ML utilisant beaucoup de données.
Cette page présente un aperçu de l'espace de noms hiérarchique et de ses cas d'utilisation, y compris ses fonctionnalités, 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 sous-dossiers.
Fonctionnalités et avantages
L'espace de noms hiérarchique offre les fonctionnalités et avantages suivants :
Nombre de requêtes par seconde (RPS) initial plus élevé : les buckets avec un espace de noms hiérarchique activé offrent des limites initiales de RPS 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 la section Gestion des dossiers.
Possibilité d'utiliser des dossiers : les dossiers servent de conteneur pour les objets et les sous-dossiers, ce qui permet de créer une structure de répertoire réelle dans les buckets Cloud Storage. 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 utilisant beaucoup de données et axées sur les fichiers.
Les opérations sur les dossiers offrent des fonctionnalités de fiabilité et de gestion, y compris la création, la liste, la suppression et le renommage atomique.
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 utilisant beaucoup de données, telles que les charges de travail d'analyse et d'IA/de 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 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 à un contrôle des accès et à une sémantique de 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 renommage de dossiers et la liste de 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éliorer les 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 la section 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 Managed Service for Apache Spark pour les charges de travail Hadoop. Pour en savoir plus, consultez Utiliser des buckets activés par des espaces de noms hiérarchiques 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 fonctionnalités Cloud Storage
Les buckets avec l'espace de noms hiérarchique activé interagissent avec les opérations Cloud Storage différemment des buckets sans espace de noms hiérarchique.
Interactions avec les opérations sur les objets
Les buckets avec l'espace de noms hiérarchique activé gèrent les opérations sur les objets de la manière suivante :
- Les opérations telles que
Upload,RewriteetComposecréent automatiquement tous les dossiers parents manquants, à condition que vous disposiez des autorisations nécessaires. Par conséquent, vous n'avez pas besoin de précréer des dossiers 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 en tant queprefix.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 des buckets avec l'espace de noms hiérarchique activé, consultez la section Lister des objets.
Interactions avec les 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é, quelle que soit leur structure 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 la section Obtenir la structure de stockage d'un bucket. Pour lister tous les buckets, suivez les instructions détaillées dans la section Lister des buckets.
Vous pouvez supprimer des buckets avec l'espace de noms hiérarchique activé tant qu' ils sont vides. Les buckets vides ne contiennent aucun objet ni aucun dossier géré. Les buckets vides peuvent contenir des dossiers vides (sans objet).
Interactions avec les opérations de gestion du cycle de vie des objets
La gestion du cycle de vie des objets vous permet d'automatiser des 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 un espace de noms hiérarchique et dans les buckets avec un espace de noms unique 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 unique: 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 heures 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 leurs heures de création sont réinitialisées.
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. 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.
Contrôle des accès aux dossiers avec des dossiers gérés associés
Dans Cloud Storage, un dossier est le répertoire réel qui contient vos données, tandis qu'un dossier géré est une ressource distincte et spécialisée utilisée pour appliquer des autorisations IAM au répertoire. Pour contrôler l'accès à un dossier et aux ressources qu'il contient, vous créez un dossier géré associé et définissez des stratégies IAM sur le dossier géré associé. Un dossier géré associé est un dossier géré qui porte le même nom et le même chemin d'accès que votre dossier réel.
Le dossier géré associé fait office de couche administrative sur le répertoire créé par le dossier, ce qui signifie qu'un dossier et son dossier géré associé sont inextricablement liés. Par exemple, si vous supprimez un dossier qui contient un dossier géré associé, le dossier géré associé est également supprimé, ainsi que ses stratégies IAM. Pour en savoir plus sur l'incidence des opérations sur les dossiers sur les dossiers gérés associés, consultez la section Interactions entre les dossiers et les dossiers gérés associés.
Noms des dossiers avec des dossiers gérés associés
Les règles de dénomination des dossiers et les règles de dénomination des dossiers gérés s'appliquent lors de la création de dossiers avec des dossiers gérés associés. Les noms de dossiers peuvent être imbriqués jusqu'à 50 niveaux, mais les noms de dossiers gérés ne peuvent être imbriqués que jusqu'à 15 niveaux. La taille maximale d'un nom de dossier géré est de 512 octets lorsqu'il est encodé en UTF-8. Cela signifie que si vous prévoyez de créer un dossier et un dossier géré associé, le dossier ne peut comporter que 15 sous-dossiers empilés, et sa taille maximale est de 512 octets lorsqu'il est encodé en UTF-8.
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 compatibles avec 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
Étape suivante
- Créez des buckets avec l'espace de noms hiérarchique activé.
- Créez et gérez des dossiers.
- Renommer des dossiers
- Utilisez un espace de noms hiérarchique pour les charges de travail Hadoop.
- Optimisez 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