Hierarchischer Namespace

Der hierarchische Namespace ist eine Funktion von Cloud Storage, mit der Sie Objekte in Ordnern organisieren und Ihre Daten in einer logischen Dateisystemstruktur speichern können. So lassen sich Datenverwaltungsaufgaben einfacher optimieren. Der hierarchische Namespace bietet die leistungsstarke Verzeichnissemantik und die atomaren Ordneroperationen, die erforderlich sind, um datenintensive KI/ML- und Analysearbeitslasten zu beschleunigen.

Auf dieser Seite erhalten Sie einen Überblick über den hierarchischen Namespace und seine Anwendungsfälle, einschließlich seiner Funktionen, Vorteile und Einschränkungen.

Funktionsweise

Wenn Sie Ordner in einem Bucket verwenden möchten, müssen Sie beim Erstellen des Buckets den hierarchischen Namespace aktivieren. Die Einstellung für den hierarchischen Namespace des Buckets kann nach dem Erstellen nicht mehr geändert werden. Informationen zum Aktivieren des hierarchischen Namespaces für Ihren Bucket finden Sie unter Buckets mit aktiviertem hierarchischen Namespace erstellen und verwalten.

Das folgende Diagramm zeigt ein Beispiel für einen Bucket mit aktiviertem hierarchischem Namespace, in dem Objekte in einer hierarchischen Ordnerstruktur organisiert sind. Ein Ordner in einem Bucket mit aktiviertem hierarchischen Namespace kann sowohl Objekte als auch untergeordnete Ordner enthalten.

Abbildung 1: Bucket-Hierarchie mit Ordnern und Objekten.
Abbildung 1. Bucket-Hierarchie mit Ordnern und Objekten.

Funktionen und Vorteile

Der hierarchische Namespace bietet folgende Funktionen und Vorteile:

  • Höhere anfängliche Abfragen pro Sekunde (QPS): Für das Lesen und Schreiben von Objekten bieten Buckets mit aktiviertem hierarchischen Namespace bis zu achtmal höhere anfängliche QPS-Grenzwerte als Buckets ohne aktiviertem hierarchischen Namespace. Die höhere anfängliche Anzahl von Abfragen pro Sekunde erleichtert die Skalierung datenintensiver Arbeitslasten und sorgt für einen höheren Durchsatz. Informationen zu Methoden zur Leistungsoptimierung bei der Verwendung von Ordnern in Buckets mit aktiviertem hierarchischen Namespace finden Sie unter Ordnerverwaltung.

  • Ordner verwenden: Ordner dienen als Container für Objekte und untergeordnete Ordner und ermöglichen so eine echte Verzeichnisstruktur in Cloud Storage-Buckets. Wenn Sie Ihre Daten in einer Ordnerstruktur speichern, wird die Leistung verbessert, die Konsistenz gewährleistet und die Verwaltung von datenintensiven und dateiorientierten Arbeitslasten vereinfacht.

    Ordneroperationen bieten Zuverlässigkeit und Verwaltungsfunktionen, einschließlich Erstellen, Auflisten, Löschen und atomares Umbenennen.

    • Ordner umbenennen: Mit dieser Funktion können Sie den Pfad eines Ordners und seiner zugrunde liegenden Ordner atomar umbenennen, ohne Objekte zu löschen. Diese Methode ist effizient und zeitsparend, insbesondere bei großen Ordnern mit mehreren Objekten.

    • Ordner auflisten: Mit dem Vorgang „Ordner auflisten“ werden alle Ordner im Bucket oder unter einem bestimmten Ordner aufgelistet. So können Sie die Struktur Ihrer gespeicherten Daten verwalten und nachvollziehen.

Wann sollten Sie einen hierarchischen Namespace verwenden?

Sie sollten den hierarchischen Namespace aktivieren, wenn Sie mit Anwendungen arbeiten, die eine Dateisystemhierarchie und ‑semantik erwarten. Der hierarchische Namespace eignet sich für datenintensive Aufgaben wie Analysen und KI/ML-Arbeitslasten. Hier sind einige häufige Szenarien, in denen Sie den hierarchischen Namespace verwenden sollten:

  • Hadoop-basierte Verarbeitung: Für Hadoop- und Spark-Arbeitslasten ist in der Regel eine Dateisystemspeicherstruktur und eine zeitbasierte Benennung von Dateien und Ordnern erforderlich. Der hierarchische Namespace lässt sich in den Cloud Storage-Connector einbinden, um den Durchsatz zu erhöhen und atomare Ordnerumbenennungen zu ermöglichen. So werden die Datenintegrität und ‑konsistenz für viele Datenverarbeitungspipelines verbessert.

  • Dateiorientierte Arbeitslasten: Arbeitslasten wie die Batchanalyse, Finanzdienstleistungen oder Hochleistungs-Computing sind in Partitionen unterteilt, die auf einer Hierarchie von Ordnern und Dateien basieren. Der hierarchische Namespace unterstützt die Verwaltung dieser Umgebungen mit einer speziellen API für die Ordnerverwaltung. Außerdem vereinfacht der hierarchische Namespace die Verwaltung von Ordnern, die andere Ordner und Objekte enthalten. Mit einem einzigen API-Befehl können Sie einen Ordner und seinen gesamten Inhalt schnell umbenennen und so wertvolle Zeit und Ressourcen sparen.

  • KI-/ML-Verarbeitung: KI-/ML-Tools wie TensorFlow, Pandas und PyTorch erfordern die Zugriffssteuerung und Semantik des Dateisystems. Der hierarchische Namespace bietet, insbesondere in Kombination mit Cloud Storage FUSE, einen höheren Durchsatz und einen effizienten Datenzugriff. Daher verbessert der hierarchische Namespace die Leistung und Zuverlässigkeit der ML-Modelliteration.

Bevor Sie den hierarchischen Namespace für Ihren Bucket aktivieren, sollten Sie die Einschränkungen des hierarchischen Namespaces berücksichtigen. Informationen zu Einschränkungen des hierarchischen Namespaces finden Sie unter Einschränkungen.

Vorteile des hierarchischen Namespaces

Wenn Sie den hierarchischen Namespace für Ihre Buckets aktivieren, haben Sie folgende Möglichkeiten:

  • Organisation optimieren: Sie können Ihre Daten in einer hierarchischen Ordnerstruktur organisieren, um Dateien oder Datasets besser zu verwalten und zu finden.

  • Dateisystem-Ökosystem einrichten: Der hierarchische Namespace führt Dateisystemfunktionen wie Ordner, Ordnerumbenennung und Ordnerauflistung ein, die für dateiorientierte Anwendungen, einschließlich des Hadoop-Ökosystems und KI/ML-Arbeitslasten, von Vorteil sind.

  • Leistungssteigerung: Durch die Skalierung datenintensiver Arbeitslasten zur Verarbeitung eines höheren Durchsatzes können Sie die Gesamtleistung Ihrer Anwendung verbessern.

Plattform-Support

Buckets mit hierarchischem Namespace unterstützen die folgenden Cloud Storage-Plattformfunktionen:

  • Alle Cloud Storage-Objekt-APIs und häufig verwendete Cloud Storage-Funktionen. Details zu nicht unterstützten Funktionen finden Sie unter Einschränkungen.

  • Datenübertragung von einem Standard-Bucket in einen Bucket mit hierarchischem Namespace mit Storage Transfer Service.

  • Integration in die folgenden Produkte:

Kompatibilität mit Cloud Storage-Vorgängen und ‑Funktionen

Buckets mit aktiviertem hierarchischen Namespace interagieren anders mit Cloud Storage-Vorgängen als Buckets ohne hierarchischen Namespace.

Interaktionen mit Objektvorgängen

In Buckets mit aktiviertem hierarchischen Namespace werden Objektvorgänge auf folgende Weise verarbeitet:

  • Bei Vorgängen wie Upload, Rewrite und Compose werden fehlende übergeordnete Ordner automatisch erstellt, sofern Sie die erforderlichen Berechtigungen haben. Daher müssen Sie Ordner nicht vor dem Hochladen von Objekten erstellen.
  • Ordner können zwar automatisch bei Objektvorgängen erstellt werden, Sie müssen sie jedoch explizit mit dem Vorgang DeleteFolder löschen.
  • Wenn Sie den Vorgang ListObjects mit dem Parameter delimiter verwenden, wird für jeden untergeordneten Ordner ein Bucket als prefix. zurückgegeben. Leere Ordner werden jedoch standardmäßig ausgeschlossen. Wenn Sie leere Ordner einbeziehen möchten, ähnlich wie bei einer typischen Dateisystemauflistung, müssen Sie den Parameter includeFoldersAsPrefixes festlegen. Informationen zu Methoden zur Leistungsoptimierung beim Auflisten von Objekten in Buckets mit aktiviertem hierarchischen Namespace finden Sie unter Objekte auflisten.

Interaktionen mit Bucket-Vorgängen

In den folgenden Abschnitten wird beschrieben, wie Bucket-Vorgänge behandelt werden, wenn der hierarchische Namespace aktiviert ist.

  • Sie können alle Buckets mit aktiviertem hierarchischen Namespace auflisten, unabhängig vom Speicherlayout. Das Speicher-Layout eines Buckets beschreibt, wie Objekte in einem Bucket angeordnet sind, entweder in einem flachen Namespace oder einem hierarchischen Namespace. Eine Anleitung zum Aufrufen des Speicherlayouts eines Buckets finden Sie unter Speicherlayout eines Buckets abrufen. Folgen Sie der Anleitung unter Buckets auflisten, um alle Buckets aufzulisten.

  • Sie können Buckets mit aktiviertem hierarchischen Namespace löschen, sofern sie leer sind. Leere Buckets enthalten keine Objekte oder verwalteten Ordner. Leere Buckets können leere Ordner (ohne Objekte) enthalten.

Interaktionen mit Vorgängen zur Verwaltung des Objektlebenszyklus

Mit der Verwaltung des Objektlebenszyklus können Sie Aktionen für Objekte basierend auf Bedingungen wie Alter oder Präfix automatisieren. Regeln für die Verwaltung des Objektlebenszyklus können sich jedoch in Buckets mit hierarchischem Namespace und in Buckets mit flachem Namespace aufgrund des Vorgangs RenameFolder unterschiedlich verhalten:

  • Regeln für die Verwaltung des Objektlebenszyklus für Buckets mit einem flachen Namespace: Beim Umbenennen wird jedes Objekt mit Tools umbenannt, indem jedes Objekt an einen Zielort kopiert und das ursprüngliche Objekt vom Quellort gelöscht wird. Daher werden am Zielort neue Objekte mit neuen Erstellungszeiten erstellt. Wenn altersbasierte Regeln für die Verwaltung des Objektlebenszyklus für den Zielort angewendet werden, gelten sie nicht sofort für die neuen Objekte, da ihre Erstellungszeiten zurückgesetzt werden.

  • Regeln zur Verwaltung des Objektlebenszyklus für Buckets mit aktiviertem hierarchischen Namespace: Das Umbenennen eines Ordners erfolgt auf Ordnerebene, ohne dass jedes einzelne Objekt umbenannt werden muss. Die Erstellungszeit der Objekte bleibt erhalten. Das bedeutet, dass die altersbasierten Regeln zur Verwaltung des Objektlebenszyklus sofort auf umbenannte Objekte angewendet werden, wenn sie die Alterskriterien erfüllen.

Zugriffssteuerung für Ordner mit zugehörigen verwalteten Ordnern

In Cloud Storage ist ein Ordner das tatsächliche Verzeichnis, in dem Ihre Daten gespeichert sind. Ein verwalteter Ordner ist eine separate, spezielle Ressource, die zum Anwenden von IAM-Berechtigungen auf das Verzeichnis verwendet wird. Wenn Sie den Zugriff auf einen Ordner und die darin enthaltenen Ressourcen steuern möchten, erstellen Sie einen zugeordneten verwalteten Ordner und legen IAM-Richtlinien für diesen fest. Ein zugehöriger verwalteter Ordner ist ein verwalteter Ordner, der denselben Namen und Pfad wie Ihr tatsächlicher Ordner hat.

Der zugehörige verwaltete Ordner fungiert als Verwaltungsebene über dem vom Ordner erstellten Verzeichnis. Das bedeutet, dass ein Ordner und der zugehörige verwaltete Ordner untrennbar miteinander verbunden sind. Wenn Sie beispielsweise einen Ordner löschen, dem ein verwalteter Ordner zugeordnet ist, wird auch der zugehörige verwaltete Ordner zusammen mit seinen IAM-Richtlinien gelöscht. Weitere Informationen dazu, wie sich Ordneroperationen auf zugehörige verwaltete Ordner auswirken, finden Sie unter Interaktionen zwischen Ordnern und zugehörigen verwalteten Ordnern.

Benennung von Ordnern mit zugehörigen verwalteten Ordnern

Beim Erstellen von Ordnern mit zugehörigen verwalteten Ordnern gelten sowohl die Regeln für die Benennung von Ordnern als auch die Regeln für die Benennung von verwalteten Ordnern. Ordnernamen können bis zu 50 Ebenen verschachtelt werden, verwaltete Ordnernamen jedoch nur bis zu 15 Ebenen. Die maximale Größe für einen Namen eines verwalteten Ordners beträgt 512 Byte bei UTF‑8-Codierung. Wenn Sie also einen Ordner und einen zugehörigen verwalteten Ordner erstellen möchten, darf der Ordner nur 15 verschachtelte Unterordner haben und sein Name darf maximal 512 Bytes lang sein, wenn er UTF‑8-codiert ist.

Preise

Informationen zu den Preisen finden Sie unter Cloud Storage – Preise.

Beschränkungen

Hier sind die Einschränkungen für den hierarchischen Namespace:

  • Sie müssen beim Erstellen des Buckets auswählen, ob der hierarchische Namespace verwendet werden soll. Die Einstellung für den hierarchischen Namespace des Buckets kann nach dem Erstellen nicht mehr geändert werden.

  • Damit der hierarchische Namespace verwendet werden kann, muss für den Bucket auch der einheitliche Zugriff auf Bucket-Ebene aktiviert sein.

  • Die folgenden Cloud Storage-Funktionen werden für Buckets mit hierarchischem Namespace nicht unterstützt:

    • Bucket-Sperre
    • Verschieben von Buckets
    • Bucket-übergreifende Replikation
    • Objekt-Holds
    • Objektaufbewahrungssperre
    • Objektversionsverwaltung

Nächste Schritte