Espace de noms hiérarchique d’Azure Data Lake Storage Gen2Azure Data Lake Storage Gen2 hierarchical namespace

L’espace de noms hiérarchique est un mécanisme clé d’Azure Data Lake Storage Gen2 qui permet d’optimiser les performances de système de fichiers en termes de mise à l’échelle et de prix du stockage d’objets.A key mechanism that allows Azure Data Lake Storage Gen2 to provide file system performance at object storage scale and prices is the addition of a hierarchical namespace. La collection d’objets/de fichiers dans un compte peut alors être organisée en une hiérarchie de répertoires et sous-répertoires imbriqués, de la même façon que le système de fichiers sur votre ordinateur.This allows the collection of objects/files within an account to be organized into a hierarchy of directories and nested subdirectories in the same way that the file system on your computer is organized. Quand vous activez l’espace de noms hiérarchique, le compte de stockage peut fournir l’extensibilité et la rentabilité du stockage d’objets en plus de la sémantique de système de fichiers standard des moteurs et infrastructures d’analyse.With a hierarchical namespace enabled, a storage account becomes capable of providing the scalability and cost-effectiveness of object storage, with file system semantics that are familiar to analytics engines and frameworks.

Avantages d’un espace de noms hiérarchiqueThe benefits of a hierarchical namespace

Les avantages suivants sont associés aux systèmes de fichiers qui implémentent un espace de noms hiérarchique sur les données d’objet blob :The following benefits are associated with file systems that implement a hierarchical namespace over blob data:

  • Manipulation de répertoires atomique : les magasins d’objets se rapprochent d’une hiérarchie de répertoires en adoptant une convention de nommage des objets contenant des barres obliques (/) pour indiquer les segments de chemin.Atomic directory manipulation: Object stores approximate a directory hierarchy by adopting a convention of embedding slashes (/) in the object name to denote path segments. Bien que cette convention fonctionne pour organiser les objets, elle ne fournit aucune assistance pour les actions de déplacement, renommage ou suppression de répertoires.While this convention works for organizing objects, the convention provides no assistance for actions like moving, renaming or deleting directories. Sans répertoires réels, les applications doivent traiter potentiellement des millions d’objets blob individuels pour accomplir des tâches au niveau du répertoire.Without real directories, applications must process potentially millions of individual blobs to achieve directory-level tasks. En revanche, un espace de noms hiérarchique traite ces tâches en mettant à jour une entrée unique (le répertoire parent).By contrast, a hierarchical namespace processes these tasks by updating a single entry (the parent directory).

    Cette optimisation spectaculaire est particulièrement significative pour de nombreux frameworks analytiques du Big Data.This dramatic optimization is especially significant for many big data analytics frameworks. Des outils comme Hive, Spark, etc. écrivent souvent la sortie dans des emplacements temporaires, qu’ils renomment ensuite à la fin du travail.Tools like Hive, Spark, etc. often write output to temporary locations and then rename the location at the conclusion of the job. Sans espace de noms hiérarchique, ce renommage peut souvent durer plus longtemps que le processus analytique lui-même.Without a hierarchical namespace, this rename can often take longer than the analytics process itself. Une latence de travail moindre équivaut à un coût total de possession inférieur pour les charges de travail analytiques.Lower job latency equals lower total cost of ownership (TCO) for analytics workloads.

  • Style d’interface familier : les développeurs et les utilisateurs connaissent bien les systèmes de fichiers.Familiar Interface Style: File systems are well understood by developers and users alike. Vous n’avez pas besoin d’apprendre un nouveau paradigme de stockage quand vous passez au cloud, car l’interface de système de fichiers exposée par Data Lake Storage Gen2 est le même paradigme que pour les ordinateurs, petits et grands.There is no need to learn a new storage paradigm when you move to the cloud as the file system interface exposed by Data Lake Storage Gen2 is the same paradigm used by computers, large and small.

Auparavant, les magasins d’objets ne prenaient pas en charge les espaces de noms hiérarchiques en raison de leur échelle limitée.One of the reasons that object stores haven't historically supported a hierarchical namespace is that a hierarchical namespace limits scale. Toutefois, l’espace de noms hiérarchique de Data Lake Storage Gen2 se met à l’échelle de manière linéaire et n’affecte ni la capacité de données ni les performances.However, the Data Lake Storage Gen2 hierarchical namespace scales linearly and does not degrade either the data capacity or performance.

Choix de l’activation ou non d’un espace de noms hiérarchiqueDeciding whether to enable a hierarchical namespace

Une fois que vous avez activé un espace de noms hiérarchique sur votre compte, vous ne pouvez pas revenir à un espace de noms plat.After you've enabled a hierarchical namespace on your account, you can't revert it back to a flat namespace. Par conséquent, déterminez s’il est judicieux d’activer un espace de noms hiérarchique basé sur la nature de vos charges de travail de magasin d’objets.Therefore, consider whether it makes sense to enable a hierarchical namespace based on the nature of your object store workloads.

Certaines charges de travail peuvent ne pas tirer profit de l’activation d’un espace de noms hiérarchique.Some workloads might not gain any benefit by enabling a hierarchical namespace. Ces charges de travail sont, par exemple, les sauvegardes, le stockage d’images et d’autres applications où l’organisation des objets est stockées séparément des objets eux-mêmes (dans une base de données distincte, par exemple).Examples include backups, image storage, and other applications where object organization is stored separately from the objects themselves (for example: in a separate database).

En outre, bien que la prise en charge des fonctionnalités de stockage d’objets blob et de l’écosystème de service Azure continue de croître, certaines fonctionnalités et certains services Azure ne sont toujours pas encore pris en charge dans les comptes dotés d’un espace de noms hiérarchique.Also, while support for Blob storage features and the Azure service ecosystem continues to grow, there are still some features and Azure services that are not yet supported in accounts that have a hierarchical namespace. Voir Problèmes connus.See Known Issues.

En règle générale, nous vous conseillons d’activer un espace de noms hiérarchique pour les charges de travail de stockage conçues pour des systèmes de fichiers qui manipulent des répertoires.In general, we recommend that you turn on a hierarchical namespace for storage workloads that are designed for file systems that manipulate directories. Il s’agit de toutes les charges de travail destinées principalement au traitement analytique.This includes all workloads that are primarily for analytics processing. Les jeux de données qui nécessitent un degré élevé d’organisation peuvent aussi tirer profit de l’activation d’un espace de noms hiérarchique.Datasets that require a high degree of organization will also benefit by enabling a hierarchical namespace.

Les raisons de l’activation d’un espace de noms hiérarchique sont déterminées par une analyse du coût TCO.The reasons for enabling a hierarchical namespace are determined by a TCO analysis. De manière générale, la baisse de latence des charges de travail grâce à l’accélération du stockage signifie que les ressources de calcul sont utilisées moins longtemps.Generally speaking, improvements in workload latency due to storage acceleration will require compute resources for less time. La latence de nombreuses charges de travail peut être améliorée grâce à une manipulation atomique des répertoires que permet un espace de noms hiérarchique.Latency for many workloads may be improved due to atomic directory manipulation that is enabled by a hierarchical namespace. Dans de nombreuses charges de travail, les ressources de calcul représentent plus de 85 % du coût total, donc même une légère réduction de la latence de charge de travail équivaut à des économies importantes au niveau du coût TCO.In many workloads, the compute resource represents > 85% of the total cost and so even a modest reduction in workload latency equates to a significant amount of TCO savings. Même dans les cas où l’activation de l’espace de noms hiérarchique augmente les coûts de stockage, le coût TCO diminue en raison de la réduction des coûts de calcul.Even in cases where enabling a hierarchical namespace increases storage costs, the TCO is still lowered due to reduced compute costs.

Pour analyser les différences de prix de stockage des données, de prix des transactions et de tarifs de réservation de capacité de stockage entre les comptes qui ont un espace de noms hiérarchique plat et un espace de noms hiérarchique ordinaire, voir Tarifications d’Azure Data Lake Storage Gen2.To analyze differences in data storage prices, transaction prices, and storage capacity reservation pricing between accounts that have a flat hierarchical namespace versus a hierarchical namespace, see Azure Data Lake Storage Gen2 pricing.

Étapes suivantesNext steps