Aufrüstung von Azure Blob Storage mit Azure Data Lake Storage Gen2-Funktionen

Dieser Artikel hilft Ihnen, einen hierarchischen Namespace zu aktivieren und Funktionen wie Sicherheit auf Datei- und Verzeichnisebene sowie schnellere Vorgänge zu nutzen. Diese Funktionen werden häufig von großen Datenanalyse-Workloads verwendet und werden als Azure Data Lake Storage Gen2 bezeichnet. Die beliebtesten Funktionen umfassen:

  • Höherer Durchsatz, Eingabe/Ausgabe-Vorgänge pro Sekunde (IOPS) und Speicherkapazitätsgrenzen.

  • Schnellere Vorgänge (z. B. Umbenennungsvorgänge), da Sie mit einzelnen Knoten-URIs arbeiten können.

  • Effiziente Abfrage-Engine, die nur die Daten überträgt, die für die Durchführung eines bestimmten Vorgangs erforderlich sind.

  • Sicherheit auf Container-, Verzeichnis- und Dateiebene.

Weitere Informationen hierzu finden Sie unter Einführung in Azure Data Lake Storage Gen2.

Dieser Artikel hilft Ihnen, die Auswirkungen auf die Arbeitsauslastung, Anwendungen, Kosten, Dienstintegrationen, Tools, Funktionen und Dokumentation auszuwerten. Stellen Sie sicher, dass Sie diese Auswirkungen sorgfältig überprüfen. Wenn Sie soweit sind, ein Konto zu aktualisieren, lesen Sie diese Schritt-für-Schritt-Anleitung: Upgrade von Azure Blob Storage mit Azure Data Lake Storage Gen2 Funktionen.

Wichtig

Ein Upgrade ist eine unidirektionale Aktion. Nachdem Sie das Upgrade durchgeführt haben, gibt es keine Möglichkeit, Ihr Konto wiederherzustellen. Wir empfehlen Ihnen, das Upgrade in einer Nichtproduktionsumgebung zu testen.

Auswirkungen auf die Verfügbarkeit

Planen Sie eine gewisse Ausfallzeit für Ihr Konto ein, während der der Upgrade-Prozess abgeschlossen wird. Schreibvorgänge sind während des Upgrades Ihres Kontos deaktiviert. Lesevorgänge sind nicht deaktiviert, aber wir empfehlen dringend, Lesevorgänge auszusetzen, weil diese den Upgradeprozess destabilisieren könnten.

Auswirkungen auf Workloads und Anwendungen

Blob-APIs arbeiten mit Konten, die einen hierarchischen Namespace haben. Daher funktionieren die meisten Anwendungen, die mit Ihrem Konto unter Verwendung dieser APIs interagieren, weiterhin ohne Änderungen.

Eine vollständige Liste der Probleme und Problemumgehungen finden Sie unter Bekannte Probleme mit Blob-Storage-APIs.

Alle Hadoop-Workloads, die den Microsoft Azure Storage Blob-Treiber (WASB) verwenden, müssen so geändert werden, dass der Azure Blob File System-Treiber (ABFS) verwendet wird. Anders als der WASB-Treiber, der Anforderungen an den Endpunkt des Blob-Dienstes stellt, stellt der ABFS-Treiber Anforderungen an den Data Lake Storage-Endpunkt Ihres Kontos.

Data Lake Storage-Endpunkt

Ihr aktualisiertes Konto verfügt über einen Data Lake Storage-Endpunkt. Sie können die URL dieses Endpunkts im Azure-Portal finden, indem Sie die Seite Eigenschaften Ihres Kontos öffnen.

Kategorie „Universell v2“

Sie müssen Ihre vorhandenen Anwendungen und Workloads nicht ändern, um diesen Endpunkt zu verwenden. Der Multiprotokollzugriff in Data Lake Storage ermöglicht es Ihnen, entweder den Endpunkt des Blob-Dienstes oder den Data Lake Storage-Endpunkt zu verwenden, um mit Ihren Daten zu interagieren.

Azure-Dienste und -Tools (z. B. AzCopy) können den Data Lake Storage-Endpunkt für die Interaktion mit den Daten in Ihrem Speicherkonto verwenden. Außerdem müssen Sie diesen neuen Endpunkt für alle Vorgänge verwenden, die Sie unter Verwendung von Data Lake Storage Gen2 SDKs, PowerShell-Befehlen oder Azure CLI-Befehlen ausführen.

Verzeichnisse

Ein Blob-Speicherkonto, das keinen hierarchischen Namespace hat, organisiert Dateien in einem flachen Paradigma und nicht in einem hierarchischen Paradigma. Blobs werden in virtuellen Verzeichnissen organisiert, um eine Ordnerstruktur zu imitieren. Ein virtuelles Verzeichnis bildet einen Teil des Blobnamens und wird durch das Trennzeichen angezeigt. Denn ein virtuelles Verzeichnis ist ein Teil des Blob-Namens: Es existiert nicht als eigenständiges Objekt.

Ihr neues Konto hat einen hierarchischen Namespace. Das bedeutet, dass Verzeichnisse nicht virtuell sind. Sie sind konkrete, unabhängige Objekte, mit denen Sie direkt arbeiten können. Ein Verzeichnis kann existieren, ohne Dateien zu enthalten. Wenn Sie ein Verzeichnis löschen, werden alle Dateien in diesem Verzeichnis entfernt. Sie müssen nicht mehr jedes einzelne Blob löschen, bevor das Verzeichnis verschwindet.

Blobmetadaten

Vor der Migration sind die Blobmetadaten mit dem Namen des Blobs und seinem gesamten virtuellen Pfad verknüpft. Nach der Migration sind die Metadaten nur noch mit dem Blob verknüpft. Der virtuelle Pfad zum Blob wird zu einer Sammlung von Verzeichnissen. Die Metadaten eines Blobs werden nicht auf eines dieser Verzeichnisse angewendet.

Put-Vorgänge

Wenn Sie ein Blob hochladen und der angegebene Pfad ein Verzeichnis umfasst, das noch nicht existiert, wird dieses Verzeichnis erstellt und das Blob hinzugefügt. Dieses Verhalten ist im Zusammenhang mit einer hierarchischen Ordnerstruktur folgerichtig. In einem Blob-Speicherkonto, das keinen hierarchischen Namespace hat, wird bei diesem Vorgang kein Verzeichnis erstellt. Stattdessen wird der Verzeichnisname dem Namen des Blobs hinzugefügt.

Auflisten von Vorgängen

Der Vorgang Blobs listen gibt sowohl Verzeichnisse als auch Dateien zurück. Jedes wird separat aufgelistet. Verzeichnisse erscheinen in der Liste als Blobs mit der Länge 0. In einem Blob-Speicherkonto ohne hierarchischen Namespace gibt ein Blobs listen-Vorgang nur Blobs und keine Verzeichnisse zurück. Wenn Sie den Vorgang "Data Lake Storage Gen2 Pfad listen“ verwenden, werden Verzeichnisse als Verzeichniseinträge und nicht als Blobs mit Länge 0 angezeigt.

Auch die Reihenfolge der Listen ist anders. Verzeichnisse und Dateien werden in der Reihenfolge des tiefenorientierten Lastenausgleichs angezeigt. Ein Blob-Speicherkonto, das keinen hierarchischen Namespace hat, listet Blobs in lexikographischer Reihenfolge auf.

Vorgänge zum Umbenennen von Blobs

Das Umbenennen eines Blobs ist wesentlich effizienter, da Clientanwendungen ein Blob in einem einzigen Vorgang umbenennen können. In Konten, die keinen hierarchischen Namespace haben, müssen Tools und Anwendungen ein Blob kopieren und dann das Quell-Blob löschen.

Hinweis

Wenn Sie ein Blob umbenennen, wird die letzte Änderungszeit des Blob nicht aktualisiert. Das liegt daran, dass der Inhalt des Blobs unverändert bleibt.

Auswirkungen auf die Kosten

Für die Durchführung des Upgrades fallen keine Kosten an. Nach dem Upgrade ändern sich die Kosten für das Speichern Ihrer Daten nicht, aber es gelten andere Kosten für eine Transaktion. Benutzen Sie diese Seiten, um einen Kostenvergleich anzustellen.

Sie können auch die Option Speicherkonten im Azure-Preisrechner verwenden, um die Auswirkungen der Kosten nach einem Upgrade abzuschätzen.

Abgesehen von den Preisänderungen sollten Sie auch die Kosteneinsparungen berücksichtigen, die mit den Data Lake Storage Gen2-Funktionen einhergehen. Die Gesamtkosten von dem Eigentum sinken in der Regel aufgrund eines höheren Durchsatzes und optimierter Vorgänge. Ein höherer Durchsatz aktiviert die Übertragung von mehr Daten in kürzerer Zeit. Ein hierarchischer Namespace verbessert die Effizienz der Vorgänge.

Auswirkungen auf Dienstintegrationen

Während die meisten Integrationen von Azure-Diensten weiterhin funktionieren, nachdem Sie diese Funktionen aktiviert haben, befinden sich einige von ihnen noch in der Vorschauphase oder werden noch nicht unterstützt. Siehe Azure-Dienste, die Azure Data Lake Storage Gen2 unterstützen, um die aktuelle Unterstützung für Azure-Dienstintegrationen mit Data Lake Storage Gen2 zu verstehen.

Auswirkungen auf Tools, Features und Dokumentation

Nach dem Upgrade wird sich Ihre Interaktion mit einigen Features verändern. Dieser Abschnitt beschreibt diese Änderungen.

Unterstützung des Blob Storage-Features

Während die meisten Blob Storage-Features weiterhin funktionieren, nachdem Sie diese Funktionen aktiviert haben, befinden sich einige von ihnen noch in der Vorschauphase oder werden noch nicht unterstützt.

Siehe in Azure Data Lake Storage Gen2 verfügbare Blob Storage Funktionen, um die aktuelle Unterstützung für Blob Storage Funktionen mit Data Lake Storage Gen2 zu verstehen.

Diagnoseprotokolle

Wenn Sie Speicher Analysen Protokollierung aktivieren, haben Sie jetzt die Möglichkeit, das Protokollformat der Version 2.0 zu verwenden.

Sie brauchen diese neue Version nicht zu verwenden. Allerdings werden alle Vorgänge, die auf den Data Lake-Speicherendpunkt angewendet werden, nur in Protokollen der Version 2.0 aufgezeichnet. Einige Dienste und Tools, die Sie verwenden (z. B. AzCopy), nutzen diesen Endpunkt, um Vorgänge in Ihrem Konto auszuführen. Um sicherzustellen, dass Sie die Protokollierungsinformationen aller Aktivitäten erfassen, sollten Sie das Protokollformat der Version 2.0 verwenden.

Azure-Lebenszyklusverwaltung

Es wird effektiv erläutert, dass Richtlinien zum Verschieben oder Löschen aller Blobs in einem Verzeichnis erst dann das Verzeichnis selbst löschen, wenn alle darin enthaltenen Blobs entfernt wurden. Das Verzeichnis wird dann am nächsten Tag entfernt.

Event Grid

Ihr neues Konto verfügt über zwei Endpunkte: den Endpunkt für den Data Lake-Speicher und den Endpunkt für den Blob-Dienst. Dienste, Tools und Anwendungen können von beiden Endpunkten Gebrauch machen, um mit Ihren Daten zu arbeiten. Folglich kann eine Ereignisantwort, die vom Event Grid zurückgegeben wird, einen dieser beiden Endpunkte im Feld URL anzeigen, das den betroffenen Blob beschreibt.

Das folgende JSON zeigt die URL eines Blob, die in der Ereignisantwort erscheint, wenn ein Blob unter Verwendung des Endpunkts des Blob-Dienstes erstellt wird.

{
  "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"
}

Die folgende JSON-Datei zeigt die URL eines Blobs, die in der Ereignisantwort angezeigt wird, wenn ein Blob unter Verwendung des Data Lake-Speicherendpunkts erstellt wird.

{
  "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"
}

Wenn Ihre Anwendungen das Event Grid verwenden, müssen Sie diese Anwendungen möglicherweise ändern, um dies zu berücksichtigen.

Storage-Explorer

Die folgenden Schaltflächen werden noch nicht im Menüband des Azure Storage-Explorers angezeigt:

Schaltfläche Grund
Kopieren der URL Noch nicht implementiert
Verwalten von Momentaufnahmen Noch nicht implementiert
Wiederherstellen Abhängig von Blob-Speicherfunktionen, die noch nicht von Data Lake Storage Gen2 unterstützt werden

Die folgenden Schaltflächen verhalten sich in Ihrem neuen Konto anders.

Schaltfläche Blob-Speicher-Verhalten Data Lake Storage Gen2-Verhalten
Ordner Der Ordner ist virtuell und verschwindet, wenn Sie ihm keine Dateien hinzufügen. Der Ordner existiert auch, wenn ihm keine Dateien hinzugefügt werden.
Umbenennen Führt zu einer Kopie und anschließend zum Löschen des Quell-Blob Benennt denselben Blob um. Weitaus effizienter.

Dokumentation

Eine Anleitung zum Gebrauch der Data Lake Storage Gen2-Funktionen finden Sie hier: Einführung in Azure Data Lake Storage Gen2.

Es hat sich nichts daran geändert, wo Sie die Anleitung für alle bestehenden Blob-Speicherfunktionen finden. Diese Anleitung finden Sie hier: Einführung in Azure Blob-Speicher.

Wenn Sie zwischen den Inhaltsmengen wechseln, werden Sie einige leichte terminologische Unterschiede feststellen. In den Inhalten von Data Lake Storage Gen2 werden zum Beispiel die Begriffe Datei und Dateisystem anstelle von Blob und Container verwendet. Die Begriffe Datei und Dateisystem sind tief in der Welt von großer Datenanalyse verwurzelt, in der Data Lake Storage eine lange Geschichte hat. Der Inhalt enthält diese Begriffe, um den Bezug zu diesen Zielgruppen aufrechtzuerhalten. Diese Begriffe beschreiben keine separaten Dinge.

Nächste Schritte

Wenn Sie bereit sind, Ihr Speicherkonto zu aktualisieren, um Data Lake Storage Gen2-Funktionen einzuschließen, lesen Sie diese Schritt-für-Schritt-Anleitung.