Azure Data Lake Storage: hierarchischer Namespace

Azure Data Lake Storage verwendet einen hierarchischen Namespace, um Dateisystemleistung bei der Skalierung und dem Preis von Objektspeicher bereitzustellen. Dieses Feature organisiert die Sammlung von Objekten und Dateien in einem Konto in einer Hierarchie von Verzeichnissen und geschachtelten Unterverzeichnissen, ähnlich dem Dateisystem auf Ihrem Computer. Wenn Sie einen hierarchischen Namespace aktivieren, kann ein Speicherkonto sowohl die Skalierbarkeit und Kosteneffizienz der Objektspeicherung als auch die Dateisystemsemantik bieten, mit der Analyse-Engines und Frameworks vertraut sind.

Vorteile eines hierarchischen Namespace

Dateisysteme, die einen hierarchischen Namespace über BLOB-Daten implementieren, bieten die folgenden Vorteile:

  • Atomarische Verzeichnisbearbeitung: Objektspeicher nähern sich einer Verzeichnishierarchie, indem eine Konvention mit Einbettung von Schrägstrichen (/) in den Objektnamen zur Angabe von Pfadsegmenten übernommen wird. Während diese Konvention zum Organisieren von Objekten funktioniert, bietet sie keine Unterstützung für Aktionen wie Verschieben, Umbenennen oder Löschen von Verzeichnissen. Ohne wirkliche Verzeichnisse müssen Anwendungen möglicherweise Millionen einzelner Blobs zur Ausführung von Aufgaben auf Verzeichnisebene verarbeiten. Ein hierarchischer Namespace hingegen verarbeitet diese Aufgaben durch Aktualisieren eines einzelnen Eintrags (des übergeordneten Verzeichnisses).

    Diese Optimierung ist besonders für viele Big Data Analytics-Frameworks von Bedeutung. Tools wie Hive und Spark schreiben ihre Ausgabe häufig an temporäre Speicherorte und benennen den Speicherort nach Abschluss des Auftrags um. Ohne einen hierarchischen Namespace kann dieser Umbenennungsvorgang häufig länger dauern als der Analyseprozess selbst. Niedrigere Joblatenz bedeutet niedrigere Gesamtbetriebskosten (TCO) für Analyse-Workloads.

  • Vertrauter Schnittstellenstil: Entwickler und Benutzer verstehen Dateisysteme gleichermaßen. Wenn Sie in die Cloud wechseln, müssen Sie kein neues Speicherparadigma erlernen, da Data Lake Storage die gleiche Dateisystemschnittstelle verfügbar macht, die von Computern, groß und klein verwendet wird.

Einer der Gründe, warum Objektspeicher historisch keinen hierarchischen Namespace unterstützen, besteht darin, dass eine hierarchische Namespaceskala begrenzt. Der hierarchische Namespace von Data Lake Storage skaliert jedoch linear und beeinträchtigt weder die Datenkapazität noch die Leistung.

Entscheiden, ob ein hierarchischer Namespace aktiviert werden soll

Nachdem Sie einen hierarchischen Namespace für Ihr Konto aktiviert haben, können Sie ihn nicht wieder auf einen flachen Namespace zurücksetzen. Daher sollten Sie überlegen, ob es bei den Workloadtypen in Ihrem Objektspeicher sinnvoll ist, einen hierarchischen Namespace zu aktivieren. Weitere Informationen zur Bewertung der Auswirkungen der Aktivierung eines hierarchischen Namespace auf Workloads, Anwendungen, Kosten, Dienstintegrationen, Tools, Features und Dokumentation finden Sie unter Upgraden von Azure Blob Storage mit Azure Data Lake Storage-Funktionen.

Für einige Workloads bietet das Aktivieren des hierarchischen Namespace möglicherweise keine Vorteile. Beispiele sind Sicherungen, Bildspeicher und andere Anwendungen, in denen die Objektorganisation getrennt von den Objekten selbst gespeichert wird (z. B. in einer separaten Datenbank).

Während die Unterstützung für Blob Storage-Features und das Azure-Dienstökosystem weiter wächst, werden einige Features und Azure Dienste in Konten mit einem hierarchischen Namespace noch nicht unterstützt. Siehe Bekannte Probleme.

Workloads, die von einem hierarchischen Namespace profitieren

Aktivieren Sie generell einen hierarchischen Namespace für Speicherworkloads, die für Dateisysteme ausgelegt sind, die Verzeichnisse bearbeiten. Diese Bedingung umfasst alle Workloads der Analyseverarbeitung. Datasets, die ein hohes Maß an Organisation erfordern, profitieren auch von der Aktivierung eines hierarchischen Namespaces.

Verwenden Sie eine TCO-Analyse, um zu bestimmen, ob ein hierarchischer Namespace aktiviert werden soll. Im Allgemeinen erfordern Verbesserungen der Workloadlatenz aufgrund der Speicherbeschleunigung Rechenressourcen für weniger Zeit. Die Latenz kann sich bei vielen Workloads dank der atomaren Verzeichnismanipulation verbessern, die ein hierarchischer Namespace ermöglicht. In vielen Workloads stellt die Computeressource mehr als 85% der Gesamtkosten dar, sodass selbst eine geringe Verringerung der Arbeitsauslastungslatenz einer erheblichen Menge an TCO-Einsparungen entspricht. Selbst in Fällen, in denen durch das Aktivieren eines hierarchischen Namespace die Speicherkosten steigen, werden dennoch die Gesamtkosten aufgrund der niedrigeren Computekosten reduziert.

Informationen zur Analyse der Unterschiede bei Datenspeicherpreisen, Transaktionspreisen und den Preisen für die Reservierung von Speicherkapazität zwischen Konten mit flachem Namespace und Konten mit hierarchischem Namespace finden Sie unter Preise für Azure Data Lake Storage.

Informationen zum Aktivieren eines hierarchischen Namespace finden Sie unter Erstellen eines Speicherkontos zur Verwendung mit Azure Data Lake Storage (neue Konten) oder Aktualisieren von Azure Blob Storage mit Azure Data Lake Storage-Funktionen (vorhandene Konten).

Nächste Schritte