Mise à niveau du Stockage Blob Azure avec les fonctionnalités d’Azure Data Lake Storage
Cet article vous aide à activer un espace de noms hiérarchique et des fonctionnalités de déverrouillage, comme la sécurité au niveau des fichiers et des annuaires, et des opérations plus rapides. Ces capacités sont largement utilisées par les charges de travail d’analytique du Big Data et sont désignées collectivement sous le nom d’Azure Data Lake Storage. Les capacités les plus populaires comprennent :
Un débit, des opérations d’entrée/sortie par seconde (IOPS) et des limites de capacité de stockage plus élevés.
Des opérations plus rapides (telles que les opérations de changement de nom), car vous pouvez opérer sur des URI de nœuds individuels.
Un moteur de requête efficace qui transfère uniquement les données requises pour effectuer une opération donnée.
La sécurité au niveau du conteneur, du répertoire et du fichier.
Pour en savoir plus, consultez Présentation d’Azure Data Lake Storage.
Cet article vous aide à évaluer l’impact sur les charges de travail, les applications, les coûts, les intégrations de service, les outils, les fonctionnalités et la documentation. Veillez à examiner attentivement ces impacts. Lorsque vous êtes prêt à mettre à niveau un compte, consultez ce guide étape par étape : Mettre à niveau Stockage Blob Azure avec les capacités d’Azure Data Lake Storage.
Important
La mise à niveau est irréversible. Il n’existe aucun moyen de rétablir la version antérieure de votre compte une fois que vous avez effectué la mise à niveau. Nous vous recommandons de valider votre mise à niveau dans un environnement de non production.
Impact sur la disponibilité
Veillez à prévoir un certain temps d’arrêt de votre compte pendant que le processus de mise à niveau se termine. Les opérations d’écriture sont désactivées lors de la mise à niveau de votre compte. Les opérations de lecture ne sont pas désactivées, mais nous vous recommandons vivement de suspendre les opérations de lecture, car elles peuvent déstabiliser le processus de mise à niveau.
Impact sur les charges de travail et les applications
Les API de blobs fonctionnent avec des comptes dotés d’un espace de noms hiérarchique. Ainsi, la plupart des applications qui interagissent avec votre compte en utilisant ces API continuent de fonctionner sans modification.
Pour obtenir une liste complète des problèmes et des solutions de contournement, consultez Problèmes connus avec les API Stockage Blob.
Toutes les charges de travail Hadoop qui utilisent le pilote Windows Azure Storage Blob (WASB) doivent être modifiées pour utiliser le pilote Azure Blob File System (ABFS). Contrairement au pilote WASB qui effectue des demandes au point de terminaison du service BLOB, le pilote ABFS envoie des demandes au point de terminaison de Data Lake Storage de votre compte.
Point de terminaison de Data Lake Storage
Votre compte mis à niveau aura un point de terminaison de Data Lake Storage. Vous pouvez trouver l’URL de ce point de terminaison dans le portail Azure en ouvrant la page Propriétés de votre compte.
Vous n’êtes pas obligé de modifier vos applications et charges de travail existantes pour utiliser ce point de terminaison. L’accès multiprotocole de Data Lake Storage vous permet d’utiliser soit le point de terminaison du service BLOB, soit le point de terminaison de Data Lake Storage pour interagir avec vos données.
Les services et outils Azure (tels qu’AzCopy) peuvent utiliser le point de terminaison de Data Lake Storage pour interagir avec les données de votre compte de stockage. En outre, vous devrez utiliser ce nouveau point de terminaison pour toutes les opérations que vous effectuez à l’aide des Kits de développement logiciel (SDK) Data Lake Storage, des commandes PowerShell ou des commandes Azure CLI.
Répertoires
Un compte de stockage Blob qui n’a pas d’espace de noms hiérarchique organise les fichiers selon un paradigme plat, plutôt qu’un paradigme hiérarchique. Les blobs sont organisés en répertoires virtuels afin de simuler une structure de dossiers. Un répertoire virtuel fait partie du nom du blob et est indiqué par le caractère délimiteur. Comme un répertoire virtuel fait partie du nom du blob, il n’existe pas réellement en tant qu’objet indépendant.
Votre nouveau compte possède un espace de noms hiérarchique. Cela signifie que les répertoires ne sont pas virtuels. Il s’agit d’objets concrets et indépendants sur lesquels vous pouvez agir directement. Un répertoire peut exister sans contenir de fichiers. Lorsque vous supprimez un répertoire, tous les fichiers qu’il contient sont supprimés. Vous n’avez plus besoin de supprimer chaque blob individuel avant que le répertoire ne disparaisse.
Métadonnées d'objet blob
Avant la migration, les métadonnées du blob sont associées au nom du blob, ainsi qu’à son chemin d’accès virtuel complet. Après la migration, les métadonnées sont associées uniquement au blob. Le chemin d’accès virtuel au blob devient une collection de répertoires. Les métadonnées d’un blob ne sont appliquées à aucun de ces répertoires.
Opérations Put
Lorsque vous chargez un blob et que le chemin d’accès que vous spécifiez inclut un répertoire qui n’existe pas, l’opération crée ce répertoire, puis y ajoute un blob. Ce comportement est logique dans le contexte d’une structure hiérarchique de dossiers. Dans un compte de stockage Blob qui n’a pas d’espace de noms hiérarchique, l’opération ne crée pas de répertoire. En revanche, le nom du répertoire est ajouté au nom du blob.
Lister les opérations
Une opération List Blobs renvoie à la fois des répertoires et des fichiers. Chacun est répertorié séparément. Les répertoires apparaissent dans la liste sous forme de blobs de longueur nulle. Dans un compte de stockage Blob qui n’a pas d’espace de noms hiérarchique, une opération List Blobs renvoie uniquement les blobs et non les répertoires. Si vous utilisez l’opération Path - List de Data Lake Storage, les répertoires apparaîtront comme des entrées de répertoire et non comme des blobs de longueur nulle.
L’ordre de la liste est également différent. Les répertoires et les fichiers apparaissent dans l’ordre de recherche en profondeur d’abord. Un compte de stockage Blob qui n’a pas d’espace de noms hiérarchique liste les blobs par ordre lexicographique.
Opérations de renommage des blobs
Renommer un blob est beaucoup plus efficace, car les applications clientes peuvent renommer un blob en une seule opération. Dans les comptes qui n’ont pas d’espace de noms hiérarchique, les outils et les applications doivent copier un blob, puis supprimer le blob source.
Notes
Lorsque vous renommez un blob, l’heure de dernière modification du blob n’est pas mise à jour. Cela est dû au fait que le contenu du blob est inchangé.
Impact sur les coûts
Effectuer la mise à niveau n’implique aucun coût. Après votre mise à niveau, le coût de stockage de vos données ne change pas, contrairement à celui d’une transaction. Utilisez ces pages pour évaluer et comparer les coûts.
Vous pouvez également utiliser l’option Comptes de stockage dans la calculatrice de prix Azure pour estimer l’impact des coûts après une mise à niveau.
Outre les changements de tarification, tenez compte des économies associées aux capacités de Data Lake Storage. Le total global des coûts de possession diminue généralement en raison d’un débit plus élevé et d’opérations optimisées. Un débit plus élevé vous permet de transférer plus de données en moins de temps. Un espace de noms hiérarchique améliore l’efficacité des opérations.
Impact sur les intégrations de services
Si la plupart des intégrations de services Azure continueront à fonctionner après l’activation de ces capacités, certaines d’entre elles restent en préversion ou ne sont pas encore prises en charge. Consultez Services Azure qui prennent en charge Azure Data Lake Storage pour comprendre la prise en charge actuelle des intégrations de services Azure avec Data Lake Storage.
Impact sur les outils, les fonctionnalités et la documentation
Après la mise à niveau, la façon dont vous interagissez avec certaines fonctionnalités va changer. Cette section décrit ces changements.
Prise en charge des fonctionnalités Stockage Blob
Si la plupart des fonctionnalités de stockage Blob continueront à fonctionner après l’activation de ces capacités, certaines d’entre elles restent en préversion ou ne sont pas encore prises en charge.
Consultez Fonctionnalités de Stockage Blob disponibles dans Azure Data Lake Storage pour comprendre la prise en charge actuelle des fonctionnalités de Stockage Blob avec Data Lake Storage.
Journaux de diagnostic
Si vous activez Journalisation Storage Analytics, vous avez désormais la possibilité d’utiliser le format de journalisation de la version 2.0.
Vous n’êtes pas obligé d’utiliser cette nouvelle version. Cependant, toutes les opérations appliquées au point de terminaison de Data Lake Storage sont enregistrées uniquement dans les journaux de la version 2.0. Certains services et outils que vous utilisez (par exemple, AzCopy) utiliseront ce point de terminaison pour effectuer des opérations sur votre compte. Pour vous assurer que vous capturez les informations de journalisation de toutes les activités, envisagez d’utiliser le format de journalisation de la version 2.0.
Gestion de cycle de vie Azure
Il explique efficacement que les stratégies de déplacement ou de suppression de tous les objets blob d’un répertoire ne suppriment pas le répertoire lui-même tant que tous les objets blob qu’il contient n’ont pas été supprimés, et que le répertoire sera supprimé le lendemain.
Event Grid
Votre nouveau compte a deux points de terminaison : le point de terminaison de Data Lake Storage et le point de terminaison du service BLOB. Les services, les outils et les applications peuvent utiliser l’un ou l’autre de ces points de terminaison pour opérer sur vos données. Par conséquent, une réponse à un événement renvoyée par Event Grid peut indiquer l’un ou l’autre de ces deux points de terminaison dans le champ url qui décrit le blob concerné.
Le code JSON suivant montre l’URL d’un blob qui apparaît dans la réponse à un événement lorsqu’un blob est créé en utilisant le point de terminaison du service BLOB.
{
"topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
"subject": "/blobServices/default/containers/test-container/blobs/new-file.txt",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-06-26T18:41:00.9584103Z",
"id": "831e1650-001e-001b-66ab-eeb76e069631",
"data": {
"api": "PutBlockList",
"clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
"requestId": "831e1650-001e-001b-66ab-eeb76e000000",
"eTag": "\"0x8D4BCC2E4835CD0\"",
"contentType": "text/plain",
"contentLength": 524288,
"blobType": "BlockBlob",
"url": "https://my-storage-account.blob.core.windows.net/testcontainer/new-file.txt",
"sequencer": "00000000000004420000000000028963",
"storageDiagnostics": {
"batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
}
},
"dataVersion": "",
"metadataVersion": "1"
}
Le code JSON suivant montre l’URL d’un blob qui apparaît dans la réponse à un événement lorsqu’un blob est créé en utilisant le point de terminaison de Data Lake Storage.
{
"topic": "/subscriptions/{subscription-id}/resourceGroups/Storage/providers/Microsoft.Storage/storageAccounts/my-storage-account",
"subject": "/blobServices/default/containers/my-file-system/blobs/new-file.txt",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-06-26T18:41:00.9584103Z",
"id": "831e1650-001e-001b-66ab-eeb76e069631",
"data": {
"api": "CreateFile",
"clientRequestId": "6d79dbfb-0e37-4fc4-981f-442c9ca65760",
"requestId": "831e1650-001e-001b-66ab-eeb76e000000",
"eTag": "\"0x8D4BCC2E4835CD0\"",
"contentType": "text/plain",
"contentLength": 0,
"contentOffset": 0,
"blobType": "BlockBlob",
"url": "https://my-storage-account.dfs.core.windows.net/my-file-system/new-file.txt",
"sequencer": "00000000000004420000000000028963",
"storageDiagnostics": {
"batchId": "b68529f3-68cd-4744-baa4-3c0498ec19f0"
}
},
"dataVersion": "2",
"metadataVersion": "1"
}
Si vos applications utilisent Event Grid, vous devrez peut-être les modifier pour en tenir compte.
Explorateur Stockage
Les boutons suivants n’apparaissent pas encore dans le ruban d’Explorateur Stockage Azure.
Bouton | Motif |
---|---|
Copier l’URL | Pas encore implémenté |
Gérer les instantanés | Pas encore implémenté |
Annuler la suppression | Dépend des fonctionnalités de stockage Blob pas encore prises en charge avec Data Lake Storage |
Les boutons suivants se comportent différemment dans votre nouveau compte.
Bouton | Comportement du stockage Blob | Comportement de Data Lake Storage |
---|---|---|
Dossier | Le dossier est virtuel et disparaît si vous n’y ajoutez pas de fichiers. | Le dossier existe même si aucun fichier n’y est ajouté. |
Renommer | Entraîne une copie puis une suppression du blob source. | Renomme le même blob. Bien plus efficace. |
Documentation
Vous trouverez des conseils concernant l’utilisation des capacités de Data Lake Storage ici : Présentation d’Azure Data Lake Storage.
Rien n’a changé en ce qui concerne l’endroit où vous trouverez l’aide relative à toutes les fonctionnalités de stockage Blob existantes. L’aide est accessible ici : Présentation de Stockage Blob Azure.
En passant d’un ensemble de contenu à l’autre, vous remarquerez quelques légères différences terminologiques. Par exemple, le contenu proposé dans Data Lake Storage peut utiliser les termes fichier et système de fichiers au lieu des termes blob et conteneur. Les termes fichier et système de fichiers sont profondément enracinés dans le monde de l’analyse du Big Data, où Data Lake Storage a une longue histoire. Ces termes sont utilisés dans le contenu pour qu’il soit accessible à ces publics. Ces termes ne décrivent pas des choses distinctes.
Étapes suivantes
Lorsque vous êtes prêt à mettre à niveau votre compte de stockage pour inclure les capacités de Data Lake Storage, consultez ce guide étape par étape.