Auf dieser Seite wird Anywhere Cache beschrieben, eine Funktion, die einen SSD-gestützten zonalen Lesecache für Cloud Storage-Buckets bietet. Anywhere Cache bietet On-Demand-Cachekapazität, indem der Cache und die verfügbare Bandbreite automatisch an Ihre Anforderungen angepasst werden. Aufgrund seiner Vorteile ist Anywhere Cache besonders hilfreich, um die Netzwerkkosten für arbeitslastige Lesevorgänge zu senken.
Weitere Informationen zum Erstellen und Verwalten von Caches in Anywhere Cache
Übersicht
Mit Anywhere Cache können Sie Caches in derselben Zone wie Ihre Arbeitslasten erstellen. Wenn Sie einen Cache in einer Zone erstellen, werden Datenleseanfragen, die von der Zone stammen, vom Cache und nicht vom Bucket verarbeitet. Jeder Cache dient Clients innerhalb derselben Zone wie der Cache. Daten werden nur dann aus Ihrem Bucket in den Cache aufgenommen, wenn sie von einer VM gelesen werden, die sich in derselben Zone wie der Cache befindet. Metadaten werden nicht im Cache gespeichert und Anfragen für Objektmetadaten werden vom Bucket und nicht vom Cache verarbeitet.
Wenn Sie einen Cache für einen Bucket erstellen, muss der Cache in einer Zone am Speicherort Ihres Buckets erstellt werden. Wenn sich Ihr Bucket beispielsweise in der Region us-east1
befindet, können Sie einen Cache in us-east1-b
, aber nicht in us-centra1-c
erstellen. Wenn sich Ihr Bucket in der Dual-Region ASIA
befindet, können Sie einen Cache in allen Zonen erstellen, die die Regionen asia-east1
und asia-southeast1
bilden. Eine Liste der Zonen finden Sie in der Compute Engine-Dokumentation unter Regionen und Zonen.
Für jeden Bucket können Sie einen Cache pro Zone erstellen. Wenn sich Ihr Bucket beispielsweise in der Multi-Region US
befindet und Ihre Compute Engine-VMs in den Zonen us-east1-b
und us-central1-a
ausgeführt werden, können Sie einen Cache in us-east1-b
und einen weiteren in us-central1-a
erstellen.
Der Anywhere-Cache ist ein vollständig verwalteter Dienst und gibt immer konsistente Daten zurück.
Vorteile
Der Anywhere-Cache bietet zwei Hauptvorteile:
Schnellerer Datenzugriff: Mit Anywhere Cache werden Ihre Daten auf Hochleistungsspeichergeräten in der Nähe von Rechenressourcen gespeichert. Durch den kürzeren Netzwerkpfad und die leistungsstarken Geräte können Sie mit Ihren Arbeitslasten einen höheren Durchsatz erzielen, Lesevorgänge schneller abschließen und die Latenz beim Lesen bis zum ersten Byte reduzieren.
Gebühren für die regionsübergreifende Datenübertragung vermeiden: Mit Anywhere Cache können Sie Gebühren für die Datenübertragung für andere Produkte wie die Compute Engine vermeiden, wenn Sie Cloud Storage-Daten mithilfe von multiregionalen Buckets abfragen.
Wann sollten Sie Anywhere Cache verwenden?
Der Anywhere-Cache eignet sich am besten für Daten, die selten geändert und häufig gelesen werden, z. B. Daten, die zum Trainieren von ML-Modellen oder zum Ausführen von Analysearbeitslasten verwendet werden.
Angenommen, Sie trainieren ein KI-Modell auf vielen Google Kubernetes Engine-Knoten, die wiederholt Daten lesen, die in Ihren Cloud Storage-Buckets gespeichert sind und in derselben Zone ausgeführt werden. Wenn Sie einen Cache in der Zone erstellen, in der Ihre Arbeitslast ausgeführt wird, bietet er zusätzliche Bandbreite und hilft Ihnen, die Gebühren für die Datenübertragung zu vermeiden, die mit dem Lesen von Daten in Multi-Region-Buckets verbunden sind. So können Sie größere, skalierte Arbeitslasten effizienter ausführen.
Unterstützte Standorte
Caches können in bestimmten Zonen erstellt werden, sofern die Kapazität verfügbar ist. Wenn die Kapazität zum Erstellen eines Caches nicht verfügbar ist, versucht der Anywhere Cache-Dienst weiterhin, einen Cache zu erstellen, bis die Kapazität verfügbar ist oder der Erstellungsprozess vom Nutzer abgebrochen wird. Die Kapazität ist möglicherweise über einen längeren Zeitraum nicht verfügbar.
Für jeden Bucket können Sie maximal einen Cache pro Zone erstellen. Wenn sich ein Bucket beispielsweise in der Region us-east1
befindet, können Sie einen Cache in us-east1-b
und einen weiteren in us-east1-c
erstellen. Wenn sich ein Bucket in einer Multiregion befindet, die us-central1
und us-east1
umfasst, können Sie einen Cache in us-central1-a
und einen weiteren in us-east1-b
erstellen.
Sie können Anywhere Cache in den folgenden Zonen verwenden. Diese Zonen können je nach Standorttyp Ihres Buckets verwendet werden.
Geografischer Bereich | Standort | ||||
---|---|---|---|---|---|
Zonenname | Region | Dual-Region | Mehrere Regionen | Benutzerdefinierte Dual-Region | |
Asien | |||||
asia-east1-a |
|||||
asia-east1-b |
|||||
asia-east1-c |
|||||
asia-northeast1-a |
|||||
asia-northeast1-b |
|||||
asia-northeast1-c |
|||||
asia-southeast1-a |
|||||
asia-southeast1-b |
|||||
asia-southeast1-c |
|||||
Europa | |||||
europe-north1-a |
|||||
europe-north1-b |
|||||
europe-north1-c |
|||||
europe-west1-b |
|||||
europe-west1-c |
|||||
europe-west1-d |
|||||
europe-west4-a |
|||||
europe-west4-b |
|||||
europe-west4-c |
|||||
europe-west6-a |
|||||
europe-west6-b |
|||||
USA | |||||
us-central1-a |
|||||
us-central1-b |
|||||
us-central1-c |
|||||
us-central1-f |
|||||
us-east1-a |
|||||
us-east1-b |
|||||
us-east1-c |
|||||
us-east1-d |
|||||
us-east4-a |
|||||
us-east4-b |
|||||
us-east4-c |
|||||
us-east5-a |
|||||
us-east5-b |
|||||
us-east5-c |
|||||
us-west1-a |
|||||
us-west1-b |
|||||
us-west1-c |
|||||
us-west4-a |
|||||
us-west4-b |
|||||
us-west4-c |
Anywhere Cache-Empfehlung
Der Anywhere Cache-Recommender bietet Empfehlungen und Statistiken zum Erstellen von Caches in Bucket-Zonen-Paaren. Dazu wird Ihre Datennutzung und Ihr Speicherplatz analysiert. Eine Übersicht und eine Anleitung zur Verwendung des Anywhere Cache-Recommenders finden Sie unter Anywhere Cache-Recommender.
Cache-Vorgänge
In diesem Abschnitt werden Vorgänge beschrieben, die Sie auf Anywhere Cache-Caches ausführen können. Einige Vorgänge sind asynchron und geben einen lang andauernden Vorgang zurück. Andere Vorgänge sind synchron, d. h., sie werden sofort ausgeführt und geben eine AnywhereCache-Ressource zurück.
Cache erstellen
Beim Erstellen eines Caches können Sie die folgenden Eigenschaften konfigurieren:
Die Gültigkeitsdauer (TTL) ist die maximale Zeitspanne, in der ein Datenblock nach der letzten Lesevorgang im Cache verbleibt. Wenn die TTL beispielsweise auf 24 Stunden festgelegt ist, wird ein Datenblock, der am Montag um 11:00 Uhr zuletzt gelesen wurde und danach nicht mehr gelesen wurde, am Dienstag um 11:00 Uhr aus dem Cache entfernt.
Sie können eine TTL zwischen 1 Stunde und 7 Tagen festlegen. Wenn nicht angegeben, ist die Standardeinstellung 24 Stunden.
Die Zulassungsrichtlinie bestimmt, ob Daten beim ersten oder beim zweiten Fehlen in den Cache aufgenommen werden. Bei der Aufnahme bei zweitem Fehlen werden Daten nur dann in den Cache aufgenommen, wenn sie innerhalb der von Ihnen angegebenen TTL ein zweites Mal gelesen werden. Wenn Sie die Daten bei einem zweiten Cache-Fehler aufnehmen, können Sie die Kosten für die Verwendung des Anywhere-Cache senken, da nur Objekte im Cache gespeichert werden, die mehrmals gelesen werden. Außerdem wird die Cache-Trefferrate reduziert.
Wenn keine Angabe gemacht wird, wird standardmäßig die Aufnahme bei der ersten Auslassung verwendet.
Wenn Sie einen Cache erstellen, befindet er sich während des Erstellens im Status CREATING (Erstellen) und im Status RUNNING (Aktiv), wenn er aktiv ist. Das Erstellen des Caches kann bis zu 48 Stunden dauern. Danach wird der Vorgang abgebrochen.
Die AnywhereCaches Create API ist asynchron. Bei einem Erstellenvorgang wird ein lang andauernder Vorgang zurückgegeben. Der Vorgang mit langer Ausführungszeit gibt den Status des Erstellungsvorgangs an und ermöglicht es Ihnen, den Vorgang abzubrechen, bevor er abgeschlossen ist.
Cache aktualisieren
Sie können die TTL oder Zulassungsrichtlinie eines Caches im Status RUNNING aktualisieren.
Wenn ein Cache gerade aktualisiert wird, wird im Feld pending_update
der Wert true
zurückgegeben. Solange das Feld pending_update
den Wert true
hat, kann der Cache nicht mehr aktualisiert werden.
Ein Cache im Status CREATING (Wird erstellt), PAUSED (Pausiert) oder DISABLED (Deaktiviert) kann nicht aktualisiert werden. Die AnywhereCaches Update API ist asynchron und gibt einen Vorgang mit langer Ausführungszeit zurück.
Wenn die Aktualisierung der TTL eines Caches abgeschlossen ist, gilt die neue TTL sofort für neu aufgenommene Daten und nur für vorhandene Daten, wenn diese gelesen werden. Das bedeutet, dass vorhandene Daten im Cache die alte TTL beibehalten, bis sie gelesen werden oder aufgrund des Ablaufs der TTL entfernt werden.
Cache abrufen
Wenn Sie einen Cache abrufen, gibt Anywhere Cache den Status und die Konfiguration der Cacheinstanz zurück. Die AnywhereCaches Get API ist synchron und gibt eine AnywhereCache-Ressource zurück.
Caches auflisten
Sie können eine Liste der zugehörigen Caches für einen bestimmten Bucket zurückgeben. Sie können die Liste der Caches in Seitenform zurückgeben.
Die AnywhereCaches List API ist synchron und gibt eine Liste von AnywhereCache-Ressourcen zurück.
Cache pausieren
Sie können einen Cache pausieren, um die Datenaufnahme eines Caches zu stoppen, der sich im Status RUNNING (AKTIV) befindet. Wenn sich ein Cache im Status PAUSIERT befindet, können Sie zwar vorhandene Daten aus dem Cache lesen, aber keine neuen Daten in den Cache aufnehmen. Wenn vorhandene Daten aus dem Cache gelesen werden, wird die TTL der Daten im Cache zurückgesetzt.
Wenn Sie einen Cache im Status PAUSIERT fortsetzen, wechselt er in den Status AKTIV.
Die AnywhereCaches Pause API ist synchron und gibt eine AnywhereCache-Ressource zurück.
Cache fortsetzen
Sie können Caches, die den Status PAUSED (Pausiert) oder DISABLED (Deaktiviert) haben, fortsetzen, solange die Karenzzeit von einer Stunde noch nicht abgelaufen ist. Nach Ablauf der Kulanzzeitraums von einer Stunde wird der Wiederaufnahmevorgang im Rahmen der Möglichkeiten ausgeführt, da der Cache nach Ablauf des Kulanzzeitraums jederzeit gelöscht werden kann. Sobald ein Cache fortgesetzt wurde, erhält er den Status RUNNING.
Die AnywhereCaches Resume API ist synchron und gibt eine AnywhereCache-Ressource zurück.
Cache deaktivieren
Sie können einen Cache deaktivieren, um ihn dauerhaft aus der Konfiguration Ihres Buckets zu entfernen. Wenn Sie einen Cache deaktivieren, wechselt er in den Status DEAKTIVIERT. In diesem Zustand können Sie vorhandene Daten weiterhin aus dem Cache lesen, aber keine neuen Daten in den Cache aufnehmen.
Nach der Deaktivierung eines Caches haben Sie eine Kulanzzeitraum von einer Stunde, in dem Sie die Deaktivierung rückgängig machen können, indem Sie den Cache fortsetzen. Nach Ablauf dieser Frist von einer Stunde wird der Cache gelöscht. Wenn der Cache gelöscht wird, werden alle Daten im Cache entfernt und der Cache aus dem Bucket entfernt.
Innerhalb der Stunde vor dem Löschen des Caches können Sie den Status DEAKTIVIERT rückgängig machen, indem Sie den Cache fortsetzen. Der Cache wird dann wieder mit dem Status AKTIVIERT fortgesetzt.
Die AnywhereCaches Disable API ist synchron und gibt eine AnywhereCache-Ressource zurück.
Autoscaling der Cachegröße und des Bandbreitenlimits
Anywhere Cache bietet temporären Cachespeicher und Bandbreite, die nach Bedarf skaliert werden kann. Weitere Informationen zu Größe und Bandbreitenlimits für Anywhere Cache finden Sie unter Cloud Storage-Kontingente und -Limits.
Kostenkontrollen
Im Folgenden finden Sie einige Tipps, mit denen Sie die Kosten für die Ausführung eines Caches minimieren können:
Bucket-Auswahl: Sie sollten nur Caches für Buckets erstellen, die Daten enthalten, die Sie im Cache speichern möchten.
Zonenauswahl: Sie sollten nur Caches in Zonen erstellen, in denen Ihre Arbeitslast vom Caching profitiert.
Aufnahme bei zweiter Lese: Sie können angeben, dass Daten erst bei der zweiten Lese und nicht bei der ersten Aufnahme werden. So wird sichergestellt, dass im Cache nur Daten gespeichert werden, die mehrmals gelesen werden.
TTL-Einstellung: Sie sollten die minimale TTL angeben, die zum Speichern von Daten im Cache erforderlich ist. Die TTL kann ohne Unterbrechung geändert werden.
Cache pausieren: Sie können einen Cache pausieren, um die Datenaufnahme und die zugehörigen Gebühren für die Cacheaufnahme zu beenden. Das Pausieren des Caches hat sofortige Auswirkungen. Sie können einen Cache pausieren, bis alle Daten nach Ablauf der angegebenen TTL entfernt werden. Wenn alle Daten entfernt wurden, werden Ihnen keine Datenspeichergebühren mehr in Rechnung gestellt.
Cache deaktivieren: Sie können einen Cache deaktivieren, um ihn dauerhaft aus dem Dienst zu entfernen und alle zugehörigen Cachegebühren zu vermeiden.
Limits und Einschränkungen
Sie können einen Bucket erst löschen, wenn alle mit dem Bucket verknüpften Caches gelöscht wurden.
Anywhere Cache ist kein dauerhafter Speicher und Daten können in verschiedenen Szenarien aus dem Cache entfernt werden. In einem Szenario wird der Cache beispielsweise automatisch neu dimensioniert, damit für Ihre Arbeitslasten genügend Ressourcen verfügbar sind. In diesem Fall werden einige Daten möglicherweise gemäß einem LRU-Algorithmus (Least Recently Used) entfernt, bis der Anywhere Cache-Dienst die Cache-Größe erhöht hat.
Ihre Daten bleiben in jedem Fall sicher in Ihrem Quell-Bucket gespeichert. Wenn Daten aus anderen Gründen als dem Ablauf der TTL aus dem Cache entfernt werden, versucht der Anywhere Cache-Dienst, die Daten transparent und kostenlos wieder in den Cache aufzunehmen. Wenn die Daten nicht transparent wieder aufgenommen werden können oder aufgrund eines TTL-Ablaufs gelöscht wurden, nimmt der Anywhere Cache-Dienst die Daten bei der ersten oder zweiten Lesevorgang wieder auf.
Vorübergehende Ressourcenknappheit
In den folgenden Abschnitten wird das Verhalten von Anywhere Cache beschrieben, wenn ein vorübergehender Ressourcenmangel auftritt, d. h., wenn in einer bestimmten Zone nicht genügend SSD-Kapazität oder Bereitstellungskapazität vorhanden ist, um einen Cache zu erstellen oder die Cache-Größe zu erhöhen.
Fehler beim Erstellen eines neuen Caches
Es kann vorkommen, dass Anywhere Cache in einer bestimmten Zone keinen neuen Cache erstellen kann, entweder aufgrund fehlender SSD-Kapazität oder aufgrund von Ressourcen, die für den Durchsatz zuständig sind. Dies führt zu einem vorübergehenden Mangel an Ressourcen. Während dieser Zeit versucht Anywhere Cache bis zu 48 Stunden lang, den neuen Cache zu erstellen. Wenn innerhalb von 48 Stunden Ressourcen verfügbar werden, führt Anywhere Cache die Anfrage zum Erstellen des Caches erfolgreich aus. Wenn innerhalb von 48 Stunden keine Ressourcen verfügbar werden, schlägt die Anfrage zum Erstellen des Caches fehl. Um Unterbrechungen beim Caching zu vermeiden, können Sie die Cacheerstellungsanfrage manuell abbrechen und einen neuen Cache in einer anderen Zone oder Region erstellen, in der möglicherweise Kapazität verfügbar ist.
Informationen zum Überwachen der Cache-Erstellung bei einem vorübergehenden Ressourcenmangel finden Sie in der Dokumentation zu Anywhere Cache unter Langlaufende Vorgänge verwenden.
Cache-Größe konnte nicht erhöht werden
In zwei Fällen kann die Erhöhung der Cachegröße durch Anywhere Cache aufgrund eines vorübergehenden Ressourcenmangels fehlschlagen:
Wenn nicht genügend SSD-Kapazität vorhanden ist, um die Cachegröße in der angegebenen Zone zu erhöhen. Weitere Informationen finden Sie unter Unzureichende SSD-Kapazität.
Wenn in einer Zone vorübergehend zu wenig Durchsatzressourcen für die Bereitstellung vorhanden sind, um das Cache-Bandbreitenlimit zu skalieren. Weitere Informationen finden Sie unter Unzureichende Bereitstellungskapazität.
Unzureichende SSD-Kapazität
Anywhere Cache bietet zwar eine automatische Cachegrößenerhöhung auf Anfrage, die Erhöhung der Cachegröße ist jedoch von der Verfügbarkeit der SSD-Kapazität abhängig. Wenn beim Anfordern der automatischen Erhöhung der Cachegröße keine SSD-Kapazität verfügbar ist, sendet Anywhere Cache die Anfrage so lange, bis der vorübergehende Ressourcenmangel behoben ist oder eine Erhöhung der Cachegröße nicht mehr erforderlich ist.
Bei einem vorübergehenden Ressourcenmangel werden neue Daten aufgenommen und vorhandene Daten im Cache werden anhand des Prinzips „Nutzung am wenigsten in letzter Zeit“ entfernt, damit im Cache genügend Platz für neue Daten vorhanden ist. Bei Caches, die groß genug sind, um die meisten heißen Daten zu speichern, haben Cache-Messwerte kaum Auswirkungen. Caches mit einer geringeren Kapazität als die Menge der heißen Daten können Daten häufiger entfernen und wieder aufnehmen als Caches, die nicht von Ressourcenknappheit betroffen sind. Wenn die tatsächliche Größe Ihres Caches viel kleiner als die erforderliche Kapazität ist, kann es aufgrund von Ressourcenmangel zu den folgenden Problemen kommen:
Ein niedrigeres Cache-Bandbreitenlimit, ein niedrigerer Cache-Durchsatz, eine höhere Inanspruchnahme des Bandbreitenkontingents für die Datenübertragung und eine mögliche Auswirkung auf andere Messwerte.
Die Abrechnung kann sich auf folgende Weisen auswirken:
Preiserhöhung für die Cache-Aufnahme
Senkung der Gebühren für den Cache-Speicher
Senkung der Gebühr für die Übertragung von Cache-Daten
Senkung der Gebühren für Cache-Datenübertragungsvorgänge
Erhöhung der Gebühr für die multiregionale Datenübertragung
Preiserhöhung für Vorgänge der Klasse B
Bei einem vorübergehenden Ressourcenmangel empfehlen wir, die Caches zu überwachen und den Cache oder die Arbeitslast nach Bedarf anzuhalten.
Unzureichende Auslieferungskapazität
Ein Mangel an Cache-Bandbreitenlimit (Cache Bandwidth Limit, CBL) kann vorübergehend bei einer Erhöhung der Cachegröße auftreten, wenn die Ressourcen für die Durchsatzbereitstellung in einer bestimmten Zone nicht ausreichen, um das Cache-Bandbreitenlimit bestehender Caches auf 20 Gbit/s pro TiB zu skalieren. Bei einem CBL-Engpass lässt Anywhere Cache die CBL des Caches nicht mit 20 Gbit/s pro TiB Daten skalieren, aber der Cache bedient weiterhin Leseanfragen. Anfragen zur Erhöhung des CBL werden einzeln geprüft. Bei einem CBL-Engpass kann es zu einer Erhöhung der ausgehenden Bandbreitennutzung kommen.
Bei vorübergehenden Ressourcenengpässen empfehlen wir, die Caches zu überwachen und den Cache oder die Arbeitslast nach Bedarf anzuhalten.