Auf dieser Seite wird Rapid Bucket beschrieben, eine Funktion, mit der Sie Objekte in der Rapid Storage-Speicherklasse speichern können, indem Sie eine Zone als Standort des Buckets festlegen. Mit diesem Ansatz können Sie Ihren Datenspeicher am selben Ort wie Ihre Rechenressourcen platzieren. Das führt im Vergleich zu anderen Storage-Klassen in Cloud Storage zu einer deutlich geringeren Latenz und einem höheren Durchsatz. Arbeitslasten in anderen Zonen und Regionen können ebenfalls auf den Bucket zugreifen. 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 Ihre datenintensivsten Anwendungen wie KI/ML und Datenanalyse. Rapid Bucket unterstützt Latenzen von weniger als einer Millisekunde, 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 sorgt dafür, dass Anwendungen für Echtzeitinferenz skaliert werden können. Der massive Durchsatz und die hohe Anzahl an Abfragen pro Sekunde (QPS) tragen dazu bei, dass Ihre teuren GPU-Cluster vollständig ausgelastet sind, wodurch sich die Trainingszeiten für Modelle erheblich verkürzen.
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 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 in Rapid Storage gespeichert und können angehängt werden.
Funktionen von zonalen Buckets
Zonale Buckets bieten nicht nur eine geringe 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 das Erstellen von Modell-Checkpoints, die Bewertung und Bereitstellung von Modellen 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 gRPC-Direktverbindungen 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:
Mindestversion der unterstützten Google Cloud CLI: Die Mindestversion der gcloud CLI, die zonale Buckets unterstützt, ist 553.0.0. Frühere Versionen sind nicht mit zonenbasierten Buckets kompatibel. Wir empfehlen, die aktuelle Version der gcloud CLI zu verwenden, um die neuesten Funktionen und Fehlerkorrekturen zu erhalten.
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,mvundrsyncstandardmäß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 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
Bucket-übergreifende Replikation
Datenverwaltung
Rapid Cache
Autoclass
Bucket-Sperre
Objekte zusammensetzen
Objekt-Holds
Die Aktion
SetStorageClasszur Verwaltung des ObjektlebenszyklusObjektaufbewahrungssperre
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
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 sind anderweitig nicht beschreibbar. Beispiel:
Die Metadateneigenschaften
softDeleteTimeundhardDeleteTimewerden nicht in der Ressourcendarstellung derObjects-Ressource angezeigt, da das vorläufige Löschen für Objekte in zonalen Buckets nicht unterstützt wird.Die
storageClass-Metadaten von Objekten in zonalen Buckets haben immer den WertRAPIDund können nicht neu geschrieben werden, da für zonale Buckets immer die Speicherklasse „Rapid Storage“ verwendet werden muss.
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 ausgehenden Traffic 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.