Auf dieser Seite wird Anywhere Cache beschrieben, eine Funktion, die einen SSD-basierten zonenbezogenen 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 leseintensive Arbeitslasten zu senken.
Informationen zum Erstellen und Verwalten von Caches in Anywhere Cache finden Sie unter Caches erstellen und verwalten.
Ü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 aus der Zone stammen, vom Cache anstelle des Buckets verarbeitet. Jeder Cache bedient Clients in derselben Zone wie der Cache. Daten werden nur dann 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 er in einer Zone innerhalb des Standorts 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, aus denen die Regionen asia-east1
und asia-southeast1
bestehen. 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 multiregionalen 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 Cache in us-central1-a
erstellen.
Anywhere Cache ist ein vollständig verwalteter Dienst, der immer konsistente Daten zurückgibt.
Informationen zu den Preisen für die Verwendung von Anywhere Cache finden Sie unter Anywhere Cache-Preise.
Vorteile
Wenn Sie Ihre Daten mit Anywhere Cache zwischenspeichern, profitieren Sie von folgenden Vorteilen:
Schnellerer Datenzugriff: Mit Anywhere Cache werden Ihre Daten in derselben Zone wie Ihre Rechenressourcen platziert und vollständig von SSD unterstützt. So können Ihre Arbeitslasten einen Durchsatz von bis zu 2,5 TB/s erreichen und die Latenz für schnellere Lesevorgänge wird reduziert.
Gebühren für die Datenübertragung in mehreren Regionen vermeiden: Da Ihre Daten aus dem Cache bereitgestellt werden, können Sie mit Anywhere Cache Gebühren für die Datenübertragung vermeiden, die mit dem Lesen von Daten aus multiregionalen Buckets verbunden sind.
Gebühren für den Datenabruf vermeiden: Gebühren für den Datenabruf für Buckets in Nearline Storage, Coldline Storage und Archive Storage fallen nicht für Daten an, die aus dem Cache gelesen werden.
Geringere Kosten für Lesevorgänge: Lesevorgänge, die über Anywhere Cache bereitgestellt werden, sind günstiger als Vorgänge der Klasse B, die über einen Bucket im Standard Storage bereitgestellt werden.
Cachegröße automatisch skalieren: Das dynamische SSD-Caching von Anywhere Cache wird automatisch an die Nutzung angepasst, ohne dass Sie eine Cachegröße angeben müssen.
Caches effizient nutzen: Anywhere Cache kann für vorhandene Buckets aktiviert werden, ohne dass Änderungen an Ihren vorhandenen Anwendungen oder APIs erforderlich sind. Daten, die im Anywhere-Cache gespeichert sind, sind stark konsistent.
Weitere Informationen zu den Preisen finden Sie unter Preise für Anywhere Cache. Informationen zu Kontingenten finden Sie unter Anywhere Cache-Kontingente.
Wann sollten Sie Anywhere Cache verwenden?
Anywhere Cache eignet sich am besten zum Zwischenspeichern von 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 alle 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 der Cache zusätzliche Bandbreite und hilft Ihnen, die Gebühren für die Datenübertragung zu vermeiden, die mit dem Lesen von Daten in multiregionalen 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 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 Cache 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 Cache in us-east1-b
erstellen.
Anywhere Cache kann in den folgenden Zonen verwendet werden. 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-south1-a |
|||||
us-south1-b |
|||||
us-south1-c |
|||||
us-west1-a |
|||||
us-west1-b |
|||||
us-west1-c |
|||||
us-west3-a |
|||||
us-west3-b |
|||||
us-west3-c |
|||||
us-west4-a |
|||||
us-west4-b |
|||||
us-west4-c |
Anywhere Cache-Empfehlungen
Der Anywhere Cache-Recommender bietet Empfehlungen und Statistiken zum Erstellen von Caches in Bucket-Zonen-Paaren, indem er Ihre Datennutzung und Ihren Speicher analysiert. Übersichtsinformationen und Anleitungen zur Verwendung des Anywhere Cache-Recommenders finden Sie unter Anywhere Cache-Recommender.
Cache-Vorgänge
In diesem Abschnitt werden die Vorgänge beschrieben, die Sie für Anywhere Cache-Caches ausführen können. Einige Vorgänge sind asynchron und geben einen Vorgang mit langer Ausführungszeit zurück, während andere Vorgänge synchron sind. Bei synchronen Vorgängen werden die Vorgänge sofort ausgeführt und eine AnywhereCache-Ressource wird zurückgegeben.
Cache erstellen
Wenn Sie einen Cache erstellen, können Sie die folgenden Attribute konfigurieren:
Die Gültigkeitsdauer (TTL) ist die längste Zeit, die ein Datenblock ab dem letzten Lesen im Cache verbleibt. Wenn die TTL beispielsweise auf 24 Stunden festgelegt ist, wird ein Datenblock, der zuletzt am Montag um 11:00 Uhr gelesen wurde und danach nicht mehr, 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, beträgt die TTL standardmäßig 24 Stunden.
Die Aufnahmerichtlinie bestimmt, ob Daten beim ersten oder zweiten Cache-Fehler in den Cache aufgenommen werden. Wenn Sie Daten beim zweiten Cache-Fehler aufnehmen, werden Daten nur dann in den Cache aufgenommen, wenn sie innerhalb der von Ihnen angegebenen TTL ein zweites Mal gelesen werden. Wenn Sie die Aufnahme beim zweiten Fehler aktivieren, können Sie die Kosten für die Verwendung von Anywhere Cache senken, da nur Objekte im Cache gespeichert werden, die mehr als einmal gelesen werden. Dadurch sinkt jedoch auch die Cache-Trefferrate.
Wenn nicht angegeben, wird die Zulassungsrichtlinie standardmäßig auf „Bei erstem Fehler aufnehmen“ festgelegt.
Wenn Sie einen Cache erstellen, hat er den Status CREATING (Wird erstellt) und wechselt in den Status RUNNING (Wird ausgeführt), sobald er aktiv ausgeführt wird. Die Erstellung des Cache kann bis zu 48 Stunden dauern. Danach wird der Vorgang beendet.
Die AnywhereCaches Create API ist asynchron. Bei einem Erstellungsvorgang wird ein Vorgang mit langer Ausführungszeit 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, hat das Feld pending_update
den Wert true
. Solange das Feld pending_update
den Wert true
hat, kann der Cache nicht noch einmal aktualisiert werden.
Ein Cache im Status WIRD ERSTELLT, PAUSIERT oder 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 Cache abgeschlossen ist, wird die neue TTL sofort auf neu aufgenommene Daten angewendet. Sie gilt erst für vorhandene Daten, wenn diese gelesen werden. Das bedeutet, dass für vorhandene Daten im Cache die alte TTL beibehalten wird, bis diese Daten gelesen 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. Die AnywhereCaches List API ist synchron und unterstützt die Paginierung.
Cache pausieren
Sie können einen Cache pausieren, um die Datenaufnahme für einen Cache im Status RUNNING zu stoppen. Wenn sich ein Cache im Status PAUSED befindet, können Sie weiterhin 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 PAUSED fortsetzen, wechselt er in den Status RUNNING.
Die AnywhereCaches Pause API ist synchron und gibt eine AnywhereCache-Ressource zurück.
Cache fortsetzen
Sie können Caches fortsetzen, die den Status PAUSED oder DISABLED haben, sofern der deaktivierte Cache innerhalb der 1-stündigen Kulanzfrist liegt. Nach Ablauf der 1-stündigen Kulanzfrist wird der Vorgang zum Fortsetzen nach dem Best-Effort-Prinzip ausgeführt, da der Cache jederzeit nach Ablauf der Kulanzfrist gelöscht werden kann. Sobald ein Cache fortgesetzt wurde, hat er den Status WIRD AUSGEFÜHRT.
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 DISABLED. In diesem Zustand können Sie weiterhin vorhandene Daten aus dem Cache lesen, aber keine neuen Daten in den Cache aufnehmen.
Nachdem Sie einen Cache deaktiviert haben, haben Sie eine Stunde Zeit, um die Deaktivierung abzubrechen, indem Sie den Cache fortsetzen. Nach Ablauf dieser Stunde wird der Cache gelöscht. Wenn der Cache gelöscht wird, werden alle Daten im Cache entfernt und der Cache wird aus dem Bucket entfernt.
In der Stunde vor dem Löschen des Caches können Sie den Status DISABLED rückgängig machen, indem Sie den Cache fortsetzen. Der Cache wird dann im Status RUNNING fortgesetzt.
Die AnywhereCaches Disable API ist synchron und gibt eine AnywhereCache-Ressource zurück.
Autoscaling von Cachegröße und Bandbreitenlimit
Anywhere Cache bietet temporären Cache-Speicher und Bandbreite, die je nach Bedarf skaliert werden. Weitere Informationen zu Größen- 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 Caches nur in Zonen erstellen, in denen Ihre Arbeitslast vom Caching profitiert.
Aufnahme beim zweiten Lesen: Sie können festlegen, dass Daten erst beim zweiten Lesen aufgenommen werden, nicht beim ersten. So wird sichergestellt, dass im Cache nur Daten gespeichert werden, die mehr als einmal gelesen werden.
TTL-Einstellung: Sie sollten die minimale TTL angeben, die Sie zum Speichern von Daten im Cache benötigen. 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 Cache-Aufnahme zu stoppen. Das Pausieren des Cache hat sofortige Auswirkungen. Sie können einen Cache pausieren, bis alle Daten nach Ablauf der angegebenen TTL entfernt werden. Wenn alle Daten entfernt werden, fallen keine Gebühren für die Datenspeicherung mehr an.
Cache deaktivieren: Sie können einen Cache deaktivieren, um ihn dauerhaft aus dem Dienst zu entfernen und alle zugehörigen Cachegebühren zu stoppen.
Limits und Einschränkungen
Sie können einen Bucket erst löschen, wenn alle zugehörigen Caches gelöscht wurden.
Wenn Sie Vorgänge zum Erstellen, Deaktivieren, Anhalten, Fortsetzen oder Aktualisieren des Caches ausführen, beschränken Sie die Rate der Vorgänge auf maximal einen Vorgang pro Sekunde. Wenn Sie mehr als einen Vorgang pro Sekunde ausführen, kann dies zu Fehlern führen.
Anywhere Cache ist kein dauerhafter Speicher. Daten können in verschiedenen Szenarien aus dem Cache entfernt werden. Ein Szenario ist, wenn die Größe des Cache automatisch angepasst wird, um sicherzustellen, dass genügend Ressourcen für Ihre Arbeitslasten verfügbar sind. In diesem Fall werden einige Daten möglicherweise gemäß einem LRU-Algorithmus (Least Recently Used, am wenigsten verwendet) entfernt, bis der Anywhere Cache-Dienst die Cachegröße erhöht hat.
Ihre Daten bleiben in jedem Fall sicher in Ihrem Quell-Bucket gespeichert. Wenn Daten aus dem Cache entfernt werden, weil die TTL abgelaufen ist, versucht der Anywhere Cache-Dienst, die Daten transparent und ohne zusätzliche Kosten für Sie wieder in den Cache aufzunehmen. Wenn die Daten nicht transparent neu aufgenommen werden können oder aufgrund des Ablaufs der TTL gelöscht wurden, nimmt der Anywhere Cache-Dienst die Daten beim ersten oder zweiten Lesen neu auf.
Anywhere Cache kann nicht verwendet werden, um Daten für Objektleseanfragen bereitzustellen, die von BigQuery ausgegeben werden. Wenn Sie mit BigQuery Daten in einem Cloud Storage-Bucket als externe Tabelle abfragen, werden die Daten aus dem Bucket bereitgestellt und nicht in den Cache aufgenommen, auch wenn für den Bucket ein Cache aktiviert ist.
Empfehlungen und Statistiken, die vom Anywhere Cache-Empfehlungssystem generiert werden, können nicht mit BigQuery gelesen werden.
Beheben von Problemen mit vorübergehenden Ressourcenengpässen
In den folgenden Abschnitten wird beschrieben, wie Sie Probleme beheben, wenn ein vorübergehender Ressourcenmangel auftritt, bei dem in einer bestimmten Zone nicht genügend SSD-Kapazität oder Bereitstellungskapazität vorhanden ist, um einen Cache zu erstellen, die Größe eines Caches zu erhöhen oder das Bandbreitenlimit eines Caches zu erhöhen.
Fehler beim Erstellen eines neuen Caches
Anywhere Cache kann in einer bestimmten Zone keinen neuen Cache erstellen, weil entweder die SSD-Kapazität oder die Ressourcen für den Durchsatz nicht ausreichen. Dies führt zu einem vorübergehenden Ressourcenmangel. In diesem Zeitraum versucht Anywhere Cache bis zu 48 Stunden lang, den neuen Cache zu erstellen. Wenn innerhalb von 48 Stunden Ressourcen verfügbar werden, schließt Anywhere Cache die Anfrage zum Erstellen des Cache erfolgreich ab. Wenn Ressourcen nicht innerhalb von 48 Stunden verfügbar werden, schlägt die Anfrage zur Cacheerstellung fehl.
Fehlerbehebung: Um Störungen beim Caching zu vermeiden, können Sie den Vorgang zum Erstellen des Cache manuell abbrechen und einen neuen Cache in einer anderen Zone erstellen, in der möglicherweise Kapazität verfügbar ist. Informationen zum Überwachen oder Abbrechen eines Vorgangs zum Erstellen eines Cache finden Sie unter Vorgänge mit langer Ausführungszeit verwenden.
Cache-Größe kann nicht erhöht werden
Anywhere Cache kann die Größe eines Caches nicht erhöhen, wenn die erforderliche SSD-Kapazität in der Zone des Caches nicht verfügbar ist.
Anywhere Cache bietet zwar automatische Cache-Größen-Erweiterungen bei Bedarf, diese sind jedoch von der Verfügbarkeit der SSD-Kapazität abhängig. Wenn die SSD-Kapazität nicht verfügbar ist, wenn die Anfrage zur automatischen Erhöhung der Cachegröße gestellt wird, wird die Anfrage von Anywhere Cache so lange gesendet, bis die vorübergehende Ressourcenknappheit endet 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 auf Grundlage der am wenigsten verwendeten Daten gelöscht. Bei Caches, die groß genug sind, um die meisten Hot Data zu speichern, haben Cache-Messwerte kaum oder gar keine Auswirkungen. Bei Caches mit weniger Kapazität als die Menge an Hot Data kann es vorkommen, dass Daten häufiger entfernt und wieder aufgenommen werden als bei Caches, die nicht von Ressourcenengpässen betroffen sind. Wenn die tatsächliche Größe Ihres Cache viel kleiner ist als die benötigte Kapazität, kann es zu folgenden ressourcenbedingten Problemen kommen:
- Ein niedrigeres Cache-Bandbreitenlimit, ein niedrigerer Cache-Durchsatz, ein höherer Verbrauch des Bandbreitenkontingents für die Datenübertragung und mögliche Auswirkungen auf andere Messwerte
- Die Abrechnung kann auf folgende Weise beeinträchtigt sein:
- Höhere Kosten durch die Gebühr für die Cache-Aufnahme
- Geringere Kosten durch die Cache-Speichergebühr
- Geringere Kosten durch die Gebühr für die Übertragung von Cache-Daten
- Geringere Kosten durch Gebühren für den Cache-Datentransfer
- Höhere Kosten durch die Gebühr für die multiregionale Datenübertragung
- Höhere Kosten durch die Verwendung von Vorgängen der Klasse B
Informationen zu diesen Gebühren finden Sie unter Anywhere Cache-Preise.
Fehlerbehebung: Um bei einem vorübergehenden Ressourcenmangel optimale Ergebnisse zu erzielen, empfehlen wir, Ihre Caches zu überwachen und unnötige Caches oder Arbeitslasten nach Bedarf zu pausieren.
Bandbreitenlimit eines Cache kann nicht erhöht werden
Ein Mangel an Cache-Bandbreitenlimit kann vorübergehend auftreten, wenn die Cachegröße erhöht wird und die Durchsatzressourcen in einer bestimmten Zone nicht ausreichen, um das Cache-Bandbreitenlimit vorhandener Caches mit 20 Gbit/s pro TiB zu skalieren. Bei einem Mangel an Cache-Bandbreite kann das Cache-Bandbreitenlimit von Anywhere Cache nicht mit 20 Gbit/s pro TiB an Daten skaliert werden, der Cache verarbeitet jedoch weiterhin Leseanfragen. Anfragen zur Erhöhung des Cache-Bandbreitenlimits werden einzeln geprüft. Bei einem Mangel an verfügbarer Cache-Bandbreite kann es zu einem Anstieg des Bandbreitenverbrauchs für den Daten-Egress Ihres Buckets kommen.
Fehlerbehebung: Um bei einem vorübergehenden Ressourcenmangel optimale Ergebnisse zu erzielen, empfehlen wir, Ihre Caches zu überwachen und unnötige Caches oder Arbeitslasten nach Bedarf zu pausieren.