Azure Data Lake Storage: hierarchischer Namespace

Ein Schlüsselmechanismus, der es Azure Data Lake Storage ermöglicht, Dateisystemleistung im Umfang und zu Preisen eines Objektspeichers bereitzustellen, ist das Hinzufügen eines hierarchischen Namespace. 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 dafür sind Backups, Imagespeicher und andere Anwendungen, bei denen die Objektorganisation getrennt von den eigentlichen Objekten 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.

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

Die Gründe für das Aktivieren eines hierarchischen Namespace werden durch eine Gesamtkostenanalyse ermittelt. 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 zum Analysieren der Unterschiede bei Datenspeicherpreisen, Transaktionspreisen und Preisen für die Reservierung von Speicherkapazität zwischen Konten mit einem flachen Namespace und Konten mit einem hierarchischen Namespace finden Sie unter Azure Data Lake Storage – Preise.

Nächste Schritte