Cette page présente les espaces de noms hiérarchiques, leurs principales caractéristiques, les cas d'utilisation courants, les avantages et les limites à prendre en compte.
Présentation
L'espace de noms hiérarchique est une fonctionnalité proposée par Cloud Storage qui vous permet d'organiser des objets dans des dossiers. Avec un espace de noms hiérarchique, vous pouvez stocker vos données dans une structure de système de fichiers logique. Organiser vos données dans une structure de système de fichiers améliore les performances, assure la cohérence et simplifie la gestion des charges de travail axées sur les fichiers et les données.
Les opérations de gestion des dossiers offrent des fonctionnalités de fiabilité et de gestion, y compris la création, la suppression, la liste et le renommage de dossiers. L'organisation hiérarchique des objets simplifie l'organisation des données et accélère les tâches de gestion des données. Un dossier d'un bucket avec un espace de noms hiérarchique activé peut contenir des objets, d'autres dossiers ou une combinaison des deux.
Vous devez choisir d'utiliser ou non un espace de noms hiérarchique lorsque vous créez le bucket. Vous ne pouvez pas modifier le paramètre d'espace de noms hiérarchique du bucket une fois qu'il est créé. Pour savoir comment activer l'espace de noms hiérarchique pour votre bucket, consultez la section 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é, dans lequel les objets sont organisés dans une structure hiérarchique de dossiers.
Principales fonctionnalités
L'espace de noms hiérarchique fournit les fonctionnalités suivantes:
Nombre initial de requêtes par seconde (RPS) plus élevé: les buckets avec un espace de noms hiérarchique activé offrent des limites de RPS initiales 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é. Le RPS initial plus élevé facilite l'ajustement des charges de travail intensives en données et offre un débit amélioré. 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.
Dossier: 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.
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 grands dossiers contenant plusieurs objets.
List folders (Lister les dossiers) : l'opération List folders liste tous les dossiers du bucket ou sous un dossier spécifique, ce qui vous aide à gérer et à comprendre la structure de vos données stockées dans un bucket.
Quand devez-vous activer l'espace de noms hiérarchique pour votre bucket ?
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 semblable à celle d'un système de fichiers. Les espaces de noms hiérarchiques sont utiles pour les tâches qui utilisent beaucoup de données, comme les charges de travail d'analyse, d'IA et de ML. Voici quelques situations courantes dans lesquelles vous devriez envisager d'utiliser un espace de noms hiérarchique:
Traitement basé sur Hadoop: les charges de travail Hadoop et Spark s'attendent généralement à une structure de stockage semblable à un système de fichiers et à un nom 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 orientées fichiers: les charges de travail telles que le traitement d'analyses par lot, 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 API, vous pouvez rapidement renommer un dossier et tout son contenu, ce qui vous fait gagner un temps et des ressources précieux.
Traitement de l'IA et du ML: les outils d'IA et de ML tels que TensorFlow, Pandas et PyTorch s'attendent à un accès et à une sémantique semblables à ceux d'un 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 aux données efficace. 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 tenir compte des 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.
Établir un écosystème de type système de fichiers: l'espace de noms hiérarchique introduit des fonctionnalités de type système de fichiers, telles que les dossiers, le renommage de dossiers et la liste des dossiers, qui sont bénéfiques pour les applications orientées fichiers, y compris l'écosystème Hadoop et les charges de travail d'IA et de ML.
Amélioration des performances: en étendant 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 couramment 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 Dataproc 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 l'accès aux buckets comme un système de fichiers à l'aide de clients.
Compatibilité avec les opérations et fonctionnalités de Cloud Storage
Les buckets avec l'espace de noms hiérarchique activé interagissent avec les autres opérations Cloud Storage comme suit:
Opérations sur les objets
Les buckets avec l'espace de noms hiérarchique activé gèrent les opérations d'objet de la manière suivante:
- Les opérations telles que
Upload
,Rewrite
etCompose
cré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 d'objet, vous devez les supprimer explicitement à l'aide de l'opération
DeleteFolder
. - Lorsque vous utilisez l'opération
ListObjects
avec 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 standard, vous devez définir le paramètreincludeFoldersAsPrefixes
. Pour en savoir plus sur les méthodes d'optimisation des performances lors de la liste d'objets dans des buckets avec l'espace de noms hiérarchique activé, consultez la section Liste d'objets.
Opérations sur les dossiers gérés
Les buckets avec l'espace de noms hiérarchique activé gèrent les opérations de dossiers gérés de différentes manières:
- Les buckets avec l'espace de noms hiérarchique activé offrent un contrôle précis des accès via des dossiers gérés. Pour gérer l'accès dans un dossier, vous devez créer un dossier géré portant le même nom que le dossier, puis y appliquer des stratégies IAM. Un dossier géré ne peut pas exister sans le dossier correspondant.
- La création d'un dossier géré crée automatiquement les dossiers parents manquants, y compris le dossier portant le même nom.
- La suppression d'un dossier entraîne automatiquement la suppression du dossier géré associé.
- Renommer un dossier renomme automatiquement les dossiers gérés associés.
- 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 sur 50 niveaux maximum, les noms de dossiers gérés ne peuvent être imbriqués que sur 15 niveaux maximum. 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 en UTF-8.
Opérations sur les buckets
Vous pouvez supprimer un bucket avec un espace de noms hiérarchique activé de la même manière que n'importe quel autre bucket. Si un bucket activé avec un espace de noms hiérarchique ne contient que des dossiers vides et aucun objet ni aucun dossier géré, il peut être supprimé.
Gestion du 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 un espace de noms hiérarchique et dans les buckets avec un 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 nouveaux temps 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 pour l'emplacement de destination, elles ne s'appliquent pas immédiatement aux nouveaux objets, car leur heure de création est réinitialisée.
Règles de gestion du cycle de vie des objets pour les buckets avec un 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. Cela 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.
Gérer des buckets avec l'espace de noms hiérarchique activé
Vous pouvez lister tous les buckets avec l'espace de noms hiérarchique activé, quel que soit leur mise en page de stockage. La mise en page de stockage d'un bucket décrit la manière dont les objets sont organisés dans un bucket, dans un espace de noms plat ou hiérarchique. Pour savoir comment afficher la mise en page de stockage d'un bucket, consultez Obtenir la mise en page 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 un bucket avec un espace de noms hiérarchique activé de la même manière que n'importe quel autre bucket. À des fins de suppression, si un bucket avec un espace de noms hiérarchique activé ne contient que des dossiers vides et aucun objet ni aucun dossier géré, alors le bucket est considéré comme vide. Pour savoir comment supprimer des buckets, consultez la section Supprimer des buckets.
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. Vous ne pourrez plus modifier le paramètre d'espace de noms hiérarchique du bucket une fois celui-ci 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:
- Classe automatique
- Gestion des versions des objets
- Verrou de conservation des objets
- Verrou de bucket
Étape suivante
- 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 gratuits pour exécuter, tester et déployer des charges de travail.
Profiter d'un essai gratuit de Cloud Storage