Rapid-Bucket

Auf dieser Seite wird Rapid Bucket beschrieben, eine Funktion, mit der Sie Objekte in der Speicherklasse „Rapid“ speichern können, indem Sie eine Zone als Speicherort eines Buckets festlegen. So können Sie Ihren Datenspeicher am selben Ort wie Ihre Rechenressourcen platzieren, was im Vergleich zu anderen Speicherklassen in Cloud Storage zu einer deutlich niedrigeren Latenz und einem höheren Durchsatz führt. Arbeitslasten in anderen Zonen und Regionen können ebenfalls auf den Bucket zugreifen. Die Leistung hängt dabei von der Entfernung im Netzwerk ab. Rapid Bucket eignet sich ideal für Ihre datenintensivsten Anwendungen wie KI/ML und Datenanalyse.

Informationen zum Erstellen eines zonalen Buckets mit Rapid Bucket finden Sie unter Zonale Buckets erstellen. Informationen zum Lesen und Anhängen von Objekten in zonalen Buckets finden Sie unter Objekte in zonalen Buckets verwenden.

Terminologie für Rapid-Bucket

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 nutzt. 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 im schnellen Speicher 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:

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

  • Objekte öffnen und einen Stream aufrechterhalten, während Sie Vorgänge ausführen, um nachfolgende Lese- und Schreibvorgänge zu beschleunigen

Anwendungsfälle

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

Damit Sie die niedrige Latenz und den hohen Durchsatz von Rapid Bucket optimal nutzen können, müssen Sie direkte gRPC-Verbindungen aktivieren.

Zugriff auf Objekte in zonalen Buckets

Damit Sie die Leistungsvorteile eines zonalen Buckets nutzen können, müssen Sie Objekte für das Streaming öffnen und einen Stream aufrechterhalten, während Sie Vorgänge für die Objekte ausführen. Wenn Sie einen Stream eingerichtet und aufrechterhalten haben, können Sie nachfolgende Lese- oder Schreibvorgänge für das Objekt mit sehr geringer Latenz ausführen. Wenn Sie beispielsweise eine Parquet-Datei lesen, können Sie sowohl das anfängliche Lesen der Metadaten der Datei (der Footer) als auch das anschließende Lesen bestimmter Zeilen in einer einzigen Anfrage ausführen. Dieser Ansatz ist effizienter als die Verwendung separater Anfragen für jeden Schritt.

Nachdem Objektstreams eingerichtet wurden, bleiben sie standardmäßig geöffnet, wenn Sie mit Cloud Storage FUSE oder den Cloud Storage-Clientbibliotheken auf Objekte in zonalen Buckets zugreifen.

Sie können von einer beliebigen Anzahl von Hosts aus mehrere Lesestreams für ein Objekt öffnen. Die Anzahl der Lesestreams, die Sie für ein 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 Einschränkungen hinsichtlich der Anzahl der Anhänge, die Sie an ein Objekt vornehmen können, oder der Anzahl der Byte, die Sie jeweils anhängen können. Sie können Anhänge hinzufügen, bis ein Objekt die maximale Größe von 5 TiB erreicht hat.

  • Die Größe eines Objekts nimmt in Echtzeit zu, 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.

  • Appendable-Objekte können jeweils nur einen Writer haben. Wenn für ein Objekt, für das bereits ein Schreibstream vorhanden ist, ein neuer Schreibstream eingerichtet wird, gibt Cloud Storage einen Fehler für den ursprünglichen Stream zurück und in den ursprünglichen Stream darf nicht mehr geschrieben werden. Der neue Writer kann das Anhängen ab dem letzten gespeicherten Offset fortsetzen, ohne dass andere verschachtelte Anhänge an das Objekt erfolgen.

Objekte fertigstellen

Nachdem ein Objekt fertiggestellt wurde, können Sie es nicht mehr ergänzen, aber Sie können es weiterhin mit einer neuen Version überschreiben. Die Metadaten eines finalisierten 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 CSI-Treiber für Cloud Storage FUSE verwenden möchten, muss Ihre Google Kubernetes Engine-Version 1.35.0-gke.3047001 oder höher sein.

Preise

Die Verwendung von Rapid Bucket verursacht Kosten für Datenspeicher, Vorgänge und Netzwerk. 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.

  • Einschränkungen der Google Cloud CLI:

    • Sichtbarkeit unvollständiger Uploads: Im Gegensatz zu Buckets in anderen Speicherklassen, in 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, sehen Sie möglicherweise unvollständige Objekte in Ihrem Bucket. Sie können diese Uploads jedoch fortsetzen, indem Sie den Befehl noch einmal ausführen.

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

    • Abschluss von Objekten: Bei Objekten, die mit der Google Cloud CLI in einen zonalen Bucket hochgeladen werden, kann es gelegentlich zu einer kurzen Verzögerung kommen, bevor die Metadaten des Objekts vollständig synchronisiert werden. Da Cloud Storage ein Eventually Consistent-Modell verwendet, kann der Versuch, ein Objekt unmittelbar nach dem Hochladen herunterzuladen, zu einem Hash-Fehler 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 unbemerkt auf.

Inkompatibilitäten

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

  • Tools

    • Mehrteilige XML API-Uploads

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

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

  • Datenschutz und Notfallwiederherstellung

    • Objektversionsverwaltung

    • Vorläufig löschen

  • Datenverwaltung

    • Anywhere-Cache

    • Autoclass

    • Bucket-Sperre

    • Objekte zusammensetzen

    • Objekt-Holds

    • Die Aktion SetStorageClass zur Verwaltung des Objektlebenszyklus

    • Die Aktion Delete zur Verwaltung des Objektlebenszyklus

    • Objektaufbewahrungssperre

    • Pub/Sub-Benachrichtigungen

    • Buckets verschieben

    • Fortsetzbare Uploads

    • Objekte umschreiben

    • Anforderer bezahlt

  • Zugriffssteuerung

    • Access Control Lists (ACLs) auf Objektebene

    • CORS-Konfigurationen

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

    • HMAC-Schlüssel

Kontingente

Für jede Zone pro Projekt gibt es ein Kontingent für Speicherbytes. Jede Zone pro Projekt hat auch ein Kontingent für ausgehenden Traffic von Cloud Storage zu Google-Diensten. Wie viel Speicherplatz oder Kontingent für ausgehende Daten verfügbar ist, können Sie auf der Seite Kontingente und Systemlimits nachsehen. 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, sollten Sie ein offenes Dateihandle für die eingebundenen Objekte beibehalten und für mehrere Vorgänge verwenden. Dies führt zu einer besseren Leistung, da Cloud Storage FUSE dadurch unnötige Netzwerk-Roundtrips pro wiederholtem Lesevorgang vermeiden kann.

Nächste Schritte