Rapid-Bucket

Auf dieser Seite wird Rapid Bucket beschrieben, eine Funktion, mit der Sie Objekte in der Rapid Storage speichern können, indem Sie eine Zone als Bucket-Standort festlegen. Mit diesem Ansatz können Sie Ihren Datenspeicher am selben Ort wie Ihre Rechenressourcen platzieren. Das sorgt für eine deutlich geringere Latenz und einen höheren Durchsatz im Vergleich zu anderen Speicherklassen in Cloud Storage. Arbeitslasten in anderen Zonen und Regionen können ebenfalls auf den Bucket zugreifen, wobei die Leistung von der Netzwerkentfernung abhängt.

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.

Damit Rapid Bucket für einen Bucket aktiviert werden kann, müssen für den Bucket auch der hierarchische Namespace und der einheitliche Zugriff auf Bucket-Ebene aktiviert sein.

Funktionen und Vorteile

Rapid Bucket wurde entwickelt, um Speicherengpässe zu beseitigen, und eignet sich ideal für datenintensive Anwendungen wie KI/ML und Datenanalyse. Rapid Bucket unterstützt Latenzen im Submillisekundenbereich, einen Gesamtdurchsatz von bis zu 15 TB/s und 20 Millionen Abfragen pro Sekunde (QPS). Die extrem niedrige Latenz ermöglicht einen sofortigen Datenabruf und sorgt dafür, dass Echtzeit-Inferenzanwendungen im großen Maßstab funktionieren. Der enorme Durchsatz und die hohen Abfragen pro Sekunde sorgen dafür, dass Ihre teuren GPU-Cluster vollständig ausgelastet sind, was die Trainingszeiten für Modelle drastisch verkürzt.

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

  • An Objekte im zonalen Bucket anhängen, ohne ein vollständiges Objekt-Rewrite durchzuführen

  • Objekte öffnen und einen Stream beibehalten, 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 Modellprüfpunkte, Bewertung und Bereitstellung sowie Logging- und Messaging-Warteschlangen. Es kann auch für Streamingdaten oder als Speicher für Datenbanken verwendet werden.

Wenn Sie die niedrige Latenz und den hohen Durchsatz von Rapid Bucket voll ausschöpfen möchten, müssen Sie die direkte gRPC-Verbindung aktivieren.

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 in Cloud Storage die höchste Leistung für den Datenzugriff und E/A-Vorgänge bietet. Wenn Sie Rapid Bucket verwenden, erstellen Sie einen Bucket, der Rapid Storage verwendet. Weitere Informationen zum 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.

Zugriff auf Objekte in zonalen Buckets

Um die Leistungsvorteile eines zonalen Buckets zu nutzen, 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 einrichten und verwalten, 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 erste Lesen der Metadaten der Datei (die Fußzeile) als auch das anschließende Lesen bestimmter Zeilen in einer einzigen Anfrage ausführen. Dieser Ansatz ist effizienter, als für jeden Schritt separate Anfragen zu verwenden.

Sobald Objektstreams eingerichtet sind, bleiben sie standardmäßig geöffnet, wenn Sie mit Cloud Storage FUSE oder den Cloud Storage-Clientbibliotheken auf zonale Bucket-Objekte zugreifen.

Sie können mehrere Lesestreams zu einem Objekt von einer beliebigen Anzahl von Hosts ö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, und 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 anfügen können, oder der Anzahl der Byte, die Sie gleichzeitig anhängen können. Sie können Anhänge hinzufügen, bis ein Objekt seine 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.

  • Anhängbare Objekte können jeweils nur einen Writer haben. Wenn ein neuer Schreibstream für ein Objekt eingerichtet wird, für das bereits ein Schreibstream vorhanden ist, wird von Cloud Storage ein Fehler 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 beibehaltenen Offset fortsetzen, ohne dass andere Anhänge an das Objekt verschachtelt werden.

Objekte finalisieren

Nachdem ein Objekt abgeschlossen wurde, können Sie keine Daten mehr anhängen. Sie können das Objekt jedoch weiterhin mit einer neuen Version überschreiben. Die Metadaten eines abgeschlossenen Objekts sind weiterhin änderbar. Beispielsweise können 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. Damit Sie den CSI-Treiber für Cloud Storage FUSE verwenden können, muss Ihre Google Kubernetes Engine-Version 1.35.0-gke.3047001 oder höher sein.

Unterstützte Tools

Sie können mit zonalen Buckets arbeiten, indem Sie die meisten Tools für Cloud Storage verwenden. Es gelten jedoch die folgenden Einschränkungen:

  • Sie können nicht mit Standard-Clientbibliotheks-APIs, die für nicht zonale Buckets vorgesehen sind, in zonale Buckets schreiben. Wenn Sie in zonale Buckets schreiben möchten, müssen Sie Ihren Code so ändern, dass unterstützte APIs für zonale Buckets verwendet werden. Informationen dazu, welche APIs Sie verwenden sollten, finden Sie in den Codebeispielen für Ihre Clientbibliothek unter Objekte in zonalen Buckets verwenden.

  • Sie können Objekte in zonalen Buckets mit der JSON API, der XML API oder gRPC lesen, einschließlich nicht bidirektionaler gRPC-Lesemethoden wie ReadObject.

  • Die Unterstützung für das Schreiben in zonale Buckets variiert je nach API:

    • gRPC: Wenn Sie gRPC verwenden, können Sie nur mit der BidiWriteObject API in zonale Buckets schreiben. Anhängbare Objekte werden nur vom RPC-Aufruf BidiWriteObject im Anfügemodus unterstützt. Nicht bidirektionale gRPC-Schreibmethoden wie WriteObject werden für zonale Buckets nicht unterstützt.

    • XML API: Sie können mit der XML API in zonale Buckets schreiben, mit Ausnahme von mehrteiligen XML-Uploads.

    • JSON API: Sie können mit der JSON API nicht in zonale Buckets schreiben.

  • Rapid Bucket wird von der GCSFS-Python-Bibliothek ab Version 2026.3.0 unterstützt.

  • Einschränkungen der Google Cloud CLI:

    • Unterstützte Mindestversion der Google Cloud CLI: Die Mindestversion der gcloud CLI, die zonale Buckets unterstützt, ist 553.0.0. Frühere Versionen sind nicht mit zonalen Buckets kompatibel. Wir empfehlen, die aktuelle Version der gcloud CLI zu verwenden, um die neuesten Funktionen und Fehlerkorrekturen zu erhalten. Für segmentierte Objektdownloads und Leistungsoptimierungen für zonale Buckets ist die gcloud CLI-Version 583.0.0 oder höher erforderlich. Weitere Informationen finden Sie unter gcloud CLI-Leistung für zonale Buckets optimieren.

    • Sichtbarkeit unvollständiger Uploads: Im Gegensatz zu Buckets in anderen Speicherklassen, bei denen Objekte erst nach Abschluss eines Uploads im Namespace angezeigt werden, sind teilweise hochgeladene Objekte in zonalen Buckets sofort sichtbar. Wenn ein Uploadbefehl der Google Cloud CLI fehlschlägt oder unterbrochen wird, werden möglicherweise unvollständige Objekte in Ihrem Bucket angezeigt. Sie können diese Uploads aber 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 bereits eine Datei oder ein Objekt mit demselben Namen vorhanden ist, wird es standardmäßig von den Google Cloud CLI-Befehlen cp, mv und rsync ü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 neu hochgeladen werden.

    • Objektabschluss: 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 sind. Da Cloud Storage ein Modell mit Eventual Consistency verwendet, kann der Versuch, ein Objekt sofort nach dem Upload herunterzuladen, zu einem Hash-Abweichungsfehler führen, wenn die Metadaten noch nicht aktualisiert wurden.

      Wenn ein Download kurz nach einem Upload mit einem Hash-Abweichungsfehler fehlschlägt, versuchen Sie es noch einmal. Downloads sind entweder vollständig erfolgreich oder schlagen explizit fehl. Teilweise oder beschädigte Downloads werden nicht unbemerkt ausgeführt.

  • Leistung der Prüfsummenvalidierung: Zonale Buckets verwenden ausschließlich CRC32C für die Datenvalidierung. Dadurch kann das System Prüfsummen pro Block und für den gesamten Upload oder Download erstellen. Standardmäßig verwendet die Google Cloud CLI die Python-Bibliothek google-crc32c, die in der Google Cloud CLI vorinstalliert ist. Wenn Sie jedoch eine nicht gebündelte Python-Installation verwenden, müssen Sie die google-crc32c-Bibliothek explizit aus PyPI installieren. Andernfalls greift die Google Cloud CLI auf die Binärdatei gcloud-crc32c zurück, was zu einer langsameren Leistung bei der CRC-Berechnung pro Block führen kann.

Inkompatibilitäten

Zonale Buckets sind mit den folgenden Produkten und Diensten nicht kompatibel:

  • Datenupload und -verwaltung

    • Rapid Cache

    • Autoclass

    • Bucket-Sperre

    • Zusammengesetzte Objekte

    • Mehrteilige XML-Uploads

    • Objekt-Holds

    • Die Aktion SetStorageClass für die Verwaltung des Objektlebenszyklus

    • Objektaufbewahrungssperre

    • Verschieben von Buckets

    • Fortsetzbare Uploads

    • Objektumschreibungen

    • Anforderer bezahlt

  • Metadaten

    • Objekte in zonalen Buckets haben keinen MD5-Hash.

    • Die Metadatenattribute, die mit nicht unterstützten Funktionen und Produkten verknüpft sind, werden in der Ressourcendarstellung eines zonalen Buckets oder eines Objekts, an das Daten angehängt werden können, nicht angezeigt oder sind anderweitig nicht beschreibbar. Beispiel:

      • Die Metadatenattribute softDeleteTime und hardDeleteTime werden in der Ressourcendarstellung der Objects-Ressource nicht 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 zonale Buckets immer die Speicherklasse „Rapid Storage“ verwenden müssen.

  • Zugriffssteuerung

    • Access Control Lists (ACLs) auf Objektebene

    • CORS-Konfigurationen

    • Vom Kunden bereitgestellte Verschlüsselungsschlüssel (CSEK, Customer-Supplied Encryption Keys)

    • HMAC-Schlüssel

  • Datenschutz und Notfallwiederherstellung

    • Objektversionierung

    • Vorläufig löschen

    • Bucket-übergreifende Replikation

  • Andere Cloud de Confiance by S3NS Dienste

    • BigQuery

Kontingente

Für jede Zone pro Projekt gilt ein Standardkontingent für die Speicherkapazität. Jede Zone pro Projekt hat außerdem ein Standardkontingent für ausgehenden Traffic von Cloud Storage zuS3NS -Diensten. Informationen zu diesen Kontingenten finden Sie unter Kontingente und Limits.

Informationen zum Überwachen der Nutzung von ausgehendem Traffic und zum Anfordern von mehr Bandbreite finden Sie unter Bandbreitennutzung überwachen.

Preise

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

Best Practices

Beachten Sie die folgenden Best Practices, um die Leistung und Ressourcennutzung bei der Arbeit mit zonalen Buckets zu optimieren:

  • Objektlesevorgänge optimieren: Wenn Sie Objekte aus zonalen Buckets mit der gcloud CLI lesen, wendet die CLI automatisch Standardkonfigurationen für Nebenläufigkeit und Slicing an. Weitere Informationen zum Optimieren dieser Einstellungen für eine bestimmte Arbeitslast finden Sie unter gcloud CLI-Leistung für zonale Buckets optimieren.

  • Cloud Storage FUSE-Dateihandles: Um die Leistung bei der Verwendung von zonalen Buckets mit Cloud Storage FUSE zu optimieren, sollten Sie ein offenes Dateihandle für Objekte in Ihrem bereitgestellten zonalen Bucket beibehalten und es für mehrere Vorgänge verwenden. Dadurch wird die Leistung verbessert, da Cloud Storage FUSE unnötige Netzwerk-Roundtrips für wiederholte Lesevorgänge vermeidet.

  • Latenz bei parallelen Schreibvorgängen optimieren: Wenn Sie Ihre eigene gRPC-Logik für parallele Schreibvorgänge verwalten, sollten Sie einen Pool von vorab geöffneten Schreibvorgängen mit nicht abgeschlossenen Objekten verwenden, um die Einrichtung des Streams aus dem Schreibpfad zu entfernen. Ein Pool von vorab geöffneten Writern öffnet Objektstreams und erstellt neue, leere anhängbare Objekte im Bucket, bevor Ihre Anwendung sie benötigt. Weitere Informationen finden Sie unter Schreiblatenz optimieren.

Nächste Schritte