Konsistenz

Auf dieser Seite wird erläutert, welche Cloud Storage-Vorgänge stark konsistent sind und welche letztendlich konsistent. Bei cachefähigen, öffentlich lesbaren Objekten steuern Sie, wie sehr Vorgänge für die Objekte konsistent sind.

Stark konsistente Vorgänge

Cloud Storage bietet bei den folgenden Vorgängen eine starke globale Konsistenz für Daten und Metadaten:

  • Lesen nach Schreiben
  • Lesen nach Metadatenaktualisierung
  • Lesen nach Löschen
  • Bucket-Auflistung
  • Objektauflistung
  • Gewähren des Zugriffs auf Ressourcen

Wenn Sie ein Objekt in Cloud Storage hochladen und eine Erfolgsmeldung erhalten, steht das Objekt sofort für Download- und Metadatenvorgänge an jedem Ort zur Verfügung, an dem Google Dienste anbietet. Dies gilt unabhängig davon, ob Sie ein neues Objekt erstellen oder ein vorhandenes überschreiben. Da Uploads stark konsistent sind, erhalten Sie nach einem "Lesen nach Schreiben"- oder "Lesen nach Metadatenaktualisierung"-Vorgang niemals die Antwort 404 Not Found oder veraltete Daten.

Wenn eine Uploadanfrage erfolgreich ist, bedeutet dies außerdem, dass Ihre Daten in mehreren Rechenzentren repliziert werden. Die Latenzzeit für das Schreiben in den global konsistenten replizierten Speicher von Cloud Storage ist möglicherweise etwas länger als bei einem nicht replizierten oder nicht gebundenen Speicher. Dies liegt daran, dass eine erfolgreiche Antwort nur dann zurückgegeben wird, wenn mehrere Schreibvorgänge durchgeführt wurden und nicht nur einer.

Die starke globale Konsistenz erstreckt sich auch auf Löschvorgänge für Objekte. Wenn eine Löschanfrage erfolgreich ist, führt ein sofortiger Versuch, das Objekt oder seine Metadaten herunterzuladen, zur Ausgabe des Statuscodes 404 Not Found. Der Fehler 404 wird Ihnen angezeigt, weil das Objekt nicht mehr existiert, nachdem der Löschvorgang erfolgreich war.

Die Bucket-Auflistung ist stark konsistent. Wenn Sie beispielsweise einen Bucket erstellen und dann sofort den Vorgang list buckets ausführen, wird der neue Bucket in der Liste der Buckets angezeigt.

Auch die Objektauflistung ist stark konsistent. Wenn Sie beispielsweise ein Objekt in einen Bucket hochladen und dann sofort den Vorgang list objects ausführen, wird das neue Objekt in der Liste der Objekte angezeigt.

Metadatenaktualisierungen sind zwar bei "Lesen nach Metadatenaktualisierung"-Vorgängen stark konsistent, aber die Umsetzung der daraus resultierenden Konfigurationsänderungen für Buckets kann etwas Zeit in Anspruch nehmen. Wenn Sie beispielsweise die Objektversionierung für einen Bucket aktivieren, sollten Sie mindestens 30 Sekunden warten, bevor Sie Objekte löschen oder überschreiben.

Letztendlich konsistente Vorgänge

Der folgende Vorgang ist letztendlich konsistent:

  • Aufheben des Zugriffs auf Ressourcen

Es dauert in der Regel etwa eine Minute, bis der Zugriff tatsächlich aufgehoben ist. In manchen Fällen kann dies auch mehr Zeit in Anspruch nehmen.

Hier ein Beispiel für ein Verhalten, das sich aus einer Eventual Consistency ergeben kann. Wenn Sie den Zugriff eines Nutzers auf ein Bucket entfernen, wird diese Änderung in den Metadaten des Buckets sofort übernommen. Der Nutzer kann jedoch für einen kurzen Zeitraum weiter Zugriff auf den Bucket haben.

Cachesteuerung und Konsistenz

Im Cache gespeicherte Objekte, die öffentlich lesbar sind, weisen möglicherweise keine starke Konsistenz auf. Wenn Sie die Speicherung eines Objekts im Cache zulassen und sich das Objekt dort befindet, während es aktualisiert oder gelöscht wird, wird es erst nach Ablauf seiner Aufbewahrungsdauer im Cache aktualisiert oder gelöscht.

Die Aufbewahrungsdauer eines Objekts im Cache wird durch die damit verbundenen Cache-Control-Metadaten festgelegt. Die Cache-Control-Metadaten können mithilfe des Anfrage-Headers Cache-Control im ursprünglichen Upload des Objekts oder bei einer nachfolgenden Aktualisierung der Metadaten des Objekts festgelegt werden. Da Sie die Cache-Control-Metadaten festlegen, steuern Sie auch, wie sehr Objekte im Cache konsistent sind. Anfragen für ein Objekt können darüber hinaus einen eigenen Cache-Control-Header enthalten. Dieser wird jedoch von Cloud Storage ignoriert, wenn er Inhalte im Cache nicht betrifft.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...