Rapid-Bucket

Auf dieser Seite wird Rapid Bucket beschrieben, eine Funktion, mit der Sie Objekte in der Speicherklasse „Rapid Storage“ speichern können, indem Sie eine Zone als Standort eines Buckets festlegen. Mit diesem Ansatz können Sie Ihren Datenspeicher mit Ihren Compute-Ressourcen am selben Standort platzieren. Dadurch werden im Vergleich zu anderen Speicherklassen in Cloud Storage deutlich niedrigere Latenzen und ein höherer Durchsatz erzielt. Auf den Bucket kann auch von Arbeitslasten in anderen Zonen und Regionen zugegriffen werden. Die Leistung hängt dabei von der Entfernung im Netzwerk ab.

Informationen zum Erstellen eines zonalen Buckets mit Rapid Bucket finden Sie unter Zonale Buckets erstellen. Eine Liste der unterstützten Standorte finden Sie unter Zonen. Informationen zum Lesen und Anhängen von Objekten in zonalen Buckets finden Sie unter Objekte in zonalen Buckets verwenden.

Vorteile

Rapid Bucket wurde entwickelt, um Speicherengpässe zu beseitigen. Es eignet sich ideal für datenintensive Anwendungen wie KI/ML und Datenanalysen. Rapid Bucket unterstützt Latenzen im Submillisekundenbereich, einen aggregierten Durchsatz von bis zu 15 TB/s und 20 Millionen Abfragen pro Sekunde. Die extrem niedrige Latenz ermöglicht den sofortigen Datenabruf und ermöglicht es Anwendungen für Echtzeitinferenzen, in großem Maßstab zu arbeiten. Der massive Durchsatz und die hohe Anzahl von Abfragen pro Sekunde tragen dazu bei, dass Ihre teuren GPU-Cluster voll ausgelastet sind, wodurch die Trainingszeiten für Modelle erheblich reduziert werden.

Rapid Bucket-Terminologie

In der Cloud Storage-Dokumentation werden die folgenden Begriffe verwendet:

  • Rapid Bucket: Das Produkt, mit dem Buckets mit einem zonalen Standort und der Speicherklasse „Rapid Storage“ erstellt werden können.

  • Rapid Storage: Die Speicherklasse, die die höchste Leistung beim Datenzugriff und bei E/A-Vorgängen in Cloud Storage bietet. Wenn Sie Rapid Bucket verwenden, erstellen Sie einen Bucket, der Rapid Storage verwendet. Weitere Informationen zu Rapid Storage finden Sie unter Speicherklassen.

  • Zonaler Bucket: Ein Bucket, der sich in einer Zone befindet. Objekte in zonalen Buckets werden immer in Rapid Storage gespeichert und können angehängt werden.

Funktionen von zonalen Buckets

Zonale Buckets bieten nicht nur eine niedrige Latenz und einen hohen Durchsatz, sondern ermöglichen Ihnen auch Folgendes:

  • Objekte im zonalen Bucket anhängen, ohne das Objekt vollständig neu zu schreiben

  • Objekte öffnen und einen Stream beibehalten, während Sie Vorgänge ausführen, wodurch nachfolgende Lese- und Schreibvorgänge beschleunigt werden

Anwendungsfälle

Rapid Bucket eignet sich am besten für KI/ML-Arbeitslasten oder andere datenintensive Arbeitslasten. Beispiele für solche Arbeitslasten sind Modell-Checkpoints, ‑Bewertung und ‑Bereitstellung sowie Logging- und Messaging-Warteschlangen. Es kann auch für das Streamen von Daten oder als Speicher für Datenbanken verwendet werden.

Damit Sie die niedrige Latenz und den hohen Durchsatz von Rapid Bucket optimal nutzen können, stellen Sie sicher, dass Sie die direkte gRPC-Verbindung aktivieren.

Zugriff auf Objekte in zonalen Buckets

Damit Sie die Leistungsvorteile eines zonalen Buckets nutzen können, öffnen Sie Objekte für das Streaming und behalten Sie einen Stream bei, während Sie Vorgänge für die Objekte ausführen. Wenn Sie einen Stream einrichten und beibehalten, können Sie nachfolgende Lese- oder Schreibvorgänge für das Objekt mit sehr niedriger Latenz ausführen. Beim Lesen einer Parquet-Datei können Sie beispielsweise sowohl den ersten Lesevorgang der Metadaten der Datei (die Fußzeile) als auch den nachfolgenden Lesevorgang bestimmter Zeilen in einer einzigen Anfrage ausführen. Dieser Ansatz ist effizienter als die Verwendung separater Anfragen für jeden Schritt.

Nach der Einrichtung bleiben Objektstreams standardmäßig geöffnet, wenn Sie mit Cloud Storage FUSE oder den Cloud Storage-Client bibliotheken auf zonale Bucket-Objekte zugreifen.

Sie können mehrere Lesestreams zu einem Objekt von einer beliebigen Anzahl von Hosts aus öffnen. Die Anzahl der Lesestreams, die Sie zu einem Objekt einrichten können, ist nicht begrenzt.

Objekte anhängen

Sie können Daten an Objekte in zonalen Buckets anhängen. Wenn Sie Objekte anhängen, gilt die folgende Semantik:

  • Anhängbare Objekte werden im Bucket-Namespace angezeigt, sobald Sie mit dem Schreiben beginnen. Sie können gelesen werden, während sie noch geschrieben werden.

  • Es gibt keine Beschränkungen für die Anzahl der Anhänge, die Sie an ein Objekt vornehmen können, oder für die Anzahl der Byte, die Sie gleichzeitig anhängen können. Sie können Anhänge vornehmen, bis ein Objekt die maximale Größe von 5 TiB erreicht.

  • Die Größe eines Objekts wächst in Echtzeit, wenn neue Anhänge dauerhaft geschrieben oder geleert werden. Wenn Sie einen Lesestream einrichten, sollten Sie mit einer minimalen Verzögerung bei der Aktualisierung der Objektgröße rechnen.

  • Anhängbare Objekte können jeweils nur einen Writer haben. Wenn ein neuer Schreibstream für ein Objekt eingerichtet wird, das bereits einen vorhandenen Schreibstream hat, wird ein Fehler von Cloud Storage an den ursprünglichen Stream zurückgegeben und der ursprüngliche Stream darf nicht mehr schreiben. Der neue Writer kann das Anhängen ab dem letzten gespeicherten Offset fortsetzen, ohne dass andere verschachtelte Anhänge an das Objekt vorgenommen werden.

Objekte abschließen

Nachdem ein Objekt abgeschlossen wurde, können Sie keine Daten mehr anhängen, aber das Objekt weiterhin mit einer neuen Version überschreiben. Die Metadaten eines abgeschlossenen Objekts können weiterhin geändert werden. So können beispielsweise neue Tags hinzugefügt und das Objekt umbenannt werden.

Zonale Buckets bereitstellen

Sie können zonale Buckets mit Cloud Storage FUSE oder dem Cloud Storage FUSE-CSI-Treiber bereitstellen und darauf zugreifen. Verwenden Sie Cloud Storage FUSE Version 3.7.2 oder höher. Wenn Sie den Cloud Storage FUSE-CSI-Treiber verwenden möchten, muss Ihre Google Kubernetes Engine-Version 1.35.0-gke.3047001 oder höher sein.

Preise

Für die Verwendung von Rapid Bucket fallen Gebühren für Datenspeicherung, Vorgänge und Netzwerke an. Weitere Informationen finden Sie unter Preise.

Beschränkungen

  • Für zonale Buckets müssen der hierarchische Namespace und der einheitliche Zugriff auf Bucket-Ebene aktiviert sein.

  • Beschränkungen der Google Cloud CLI:

    • Mindestversion der unterstützten Google Cloud CLI: Die Mindestversion der gcloud CLI, die zonale Buckets unterstützt, ist 553.0.0. Ältere Versionen sind nicht mit zonalen Buckets kompatibel. Wir empfehlen, die neueste Version der gcloud CLI zu verwenden, um die neuesten Funktionen und Fehlerkorrekturen zu erhalten.

    • Sichtbarkeit unvollständiger Uploads: Im Gegensatz zu Buckets in anderen Speicher klassen, bei denen Objekte erst nach Abschluss eines Uploads im Namespace angezeigt werden, sind teilweise hochgeladene Objekte in zonalen Buckets sofort sichtbar. Wenn ein Google Cloud CLI-Uploadbefehl fehlschlägt oder unterbrochen wird, werden möglicherweise unvollständige Objekte in Ihrem Bucket angezeigt. Sie können diese Uploads fortsetzen, indem Sie den Befehl noch einmal ausführen.

    • Objektüberschreibungen: Für zonale Buckets gilt das Standardverhalten der Google Cloud CLI: Wenn Sie ein Objekt überschreiben und am Ziel eine Datei oder ein Objekt mit demselben Namen vorhanden ist, werden diese mit den Befehlen cp, mv, und rsync der Google Cloud CLI standardmäßig überschrieben. Verwenden Sie das Flag --no-clobber, um Überschreibungen zu verhindern. Bei Verwendung der Google Cloud CLI wird das Anhängen von Daten an ein vorhandenes Objekt nicht unterstützt. Die gesamte Quelle muss noch einmal hochgeladen werden.

    • Objektabschluss: Bei Objekten, die mit der Google Cloud CLI in einen zonalen Bucket hochgeladen wurden, kann es gelegentlich zu einer kurzen Verzögerung kommen, bevor die Metadaten des Objekts vollständig synchronisiert sind. Da Cloud Storage ein Modell mit eventual consistency verwendet, kann der Versuch, ein Objekt sofort nach dem Upload herunterzuladen, zu einem Fehler wegen eines Hash-Fehlers führen, wenn die Metadaten noch nicht aktualisiert wurden.

      Wenn ein Download kurz nach einem Upload mit einem Hash-Fehler fehlschlägt, versuchen Sie es noch einmal. Das System sorgt dafür, dass Downloads entweder vollständig erfolgreich sind oder explizit fehlschlagen. Teilweise oder beschädigte Downloads treten nicht im Hintergrund auf.

Inkompatibilitäten

Zonale Buckets sind mit den folgenden Tools, Vorgängen, Produkten und Metadaten nicht kompatibel:

  • Tools

    • Schreibvorgänge mit der XML API oder der JSON API

    • Mehrteilige XML API-Uploads

  • Schreibvorgänge für nicht anhängbare Objekte mit gRPC

  • Datenschutz und Notfallwiederherstellung

    • Objektversionsverwaltung

    • Vorläufig löschen

  • Datenverwaltung

    • Rapid Cache

    • Autoclass

    • Bucket-Sperre

    • Objekte zusammensetzen

    • Objekt-Holds

    • Die Aktion SetStorageClass zur Verwaltung des Objektlebenszyklus

    • Objektaufbewahrungssperre

    • Buckets verschieben

    • Fortsetzbare Uploads

    • Objekte umschreiben

    • Anforderer bezahlt

  • Zugriffssteuerung

    • Zugriffssteuerungslisten (ACLs) auf Objektebene

    • CORS-Konfigurationen

    • Vom Kunden bereitgestellter Verschlüsselungsschlüssel (CSEK)

    • HMAC-Schlüssel

  • Metadaten

    • Objekte in zonalen Buckets haben keinen MD5-Hash.

    • Die Metadateneigenschaften, die mit nicht unterstützten Funktionen und Produkten verknüpft sind, werden nicht in der Ressourcendarstellung eines zonalen Buckets oder eines anhängbaren Objekts angezeigt oder können nicht geschrieben werden. Beispiel:

      • Die Metadateneigenschaften softDeleteTime und hardDeleteTime werden nicht in der Ressourcendarstellung der Ressource Objects angezeigt, da das vorläufige Löschen für Objekte in zonalen Buckets nicht unterstützt wird.

      • Die Metadaten storageClass von Objekten in zonalen Buckets haben immer den Wert RAPID und können nicht neu geschrieben werden, da für zonale Buckets immer die Speicherklasse „Rapid Storage“ verwendet werden muss.

Kontingente

Jede Zone pro Projekt hat ein Kontingent für Speicher-Byte. Jede Zone pro Projekt hat auch ein Kontingent für ausgehenden Traffic von Cloud Storage zu Google-Diensten. Wie viel Speicher- oder Daten-Egress-Kontingent verfügbar ist, erfahren Sie auf der Seite Kontingente und Systemlimits. Informationen zum Anfordern eines höheren Kontingents finden Sie unter Kontingente verwalten.

Best Practices

Um die Leistung bei der Verwendung von zonalen Buckets mit Cloud Storage FUSE zu optimieren, behalten Sie einen offenen Dateihandle für die bereitgestellten Objekte bei und verwenden Sie ihn für mehrere Vorgänge. Dies führt zu einer besseren Leistung, da Cloud Storage FUSE so unnötige Netzwerk-Roundtrips pro wiederholtem Lesevorgang vermeiden kann.

Nächste Schritte