Cohérence

Cette page décrit les opérations Cloud Storage qui sont fortement cohérentes et celles qui sont cohérentes à terme. Dans le cas d'objets lisibles publiquement et pouvant être mis en cache, vous pouvez contrôler le degré de cohérence des opérations exécutées sur les objets.

Opérations fortement cohérentes

Cloud Storage offre une cohérence globale forte pour les opérations ci-dessous. Cette remarque s'applique à la fois aux données et aux métadonnées :

  • Lecture après écriture
  • Lecture après mise à jour des métadonnées
  • Lecture après suppression
  • Affichage d'une liste de buckets
  • Répertorier des objets
  • Attribution de droits d'accès aux ressources à l'aide de listes de contrôle d'accès (LCA)

Si vous importez un objet dans Cloud Storage et recevez une réponse de réussite, l'objet est immédiatement disponible pour le téléchargement et les opérations de métadonnées à partir de n'importe quel emplacement où les services Google sont disponibles. Ce résultat s'applique si vous créez un objet ou si vous écrasez un objet existant. Les importations étant fortement cohérentes, vous ne recevrez jamais de réponse 404 Not Found ni de données obsolètes pour une opération de lecture après écriture ou de lecture après mise à jour des métadonnées.

De plus, lorsqu'une requête d'importation aboutit, cela signifie que vos données sont répliquées dans plusieurs centres de données. La latence d'écriture dans le datastore répliqué et cohérent à l'échelle mondiale de Cloud Storage peut être légèrement supérieure à celle observée avec un datastore non répliqué ou sans engagement. En effet, une réponse de réussite n'est renvoyée que si plusieurs écritures (et non une seule) sont effectuées.

La cohérence globale forte s'étend également aux opérations de suppression d'objets. Si une requête de suppression aboutit, toute tentative immédiate de téléchargement de l'objet ou de ses métadonnées renvoie le code d'état 404 Not Found. L'erreur 404 est générée, car l'objet n'existe plus une fois l'opération de suppression exécutée.

L'affichage d'une liste de buckets est une opération fortement cohérente. Par exemple, si vous créez un bucket et exécutez immédiatement une opération list buckets, le nouveau bucket s'affiche dans la liste de buckets renvoyée.

L'affichage d'une liste d'objets est également une opération fortement cohérente. Par exemple, si vous importez un objet dans un bucket et exécutez immédiatement une opération list objects, le nouvel objet s'affiche dans la liste d'objets renvoyée.

Pour les buckets, alors que les mises à jour de métadonnées sont fortement cohérentes pour les opérations de lecture après mise à jour des métadonnées, la propagation des modifications de configuration qui en résultent peut prendre du temps. Par exemple, si vous activez la gestion des versions d'objets pour un bucket, vous devez attendre au moins 30 secondes pour que les objets soient supprimés ou écrasés.

Opérations cohérentes à terme

L'opération suivante est cohérente à terme :

En règle générale, ces opérations prennent environ une minute. Dans certains cas, elles peuvent nécessiter quelques minutes de plus.

Pour illustrer le comportement pouvant résulter de la cohérence à terme, prenons l'exemple suivant : si vous supprimez l'accès d'un utilisateur à un bucket, cette modification est immédiatement reflétée dans les métadonnées du bucket. Toutefois, il est possible que l'utilisateur ait toujours accès au bucket pendant un court laps de temps.

Cohérence et contrôle du cache

Les objets mis en cache qui sont lisibles publiquement peuvent ne pas avoir une cohérence forte. Si vous autorisez la mise en cache d'un objet et si celui-ci se trouve dans le cache lors de sa mise à jour ou de sa suppression, il n'est ni mis à jour, ni supprimé tant que sa durée de vie dans le cache n'a pas expiré.

La durée de vie d'un objet dans le cache est déterminée par les métadonnées Cache-Control associées à l'objet. Vous pouvez définir les métadonnées Cache-Control à l'aide d'un en-tête de requête Cache-Control inclus dans l'importation initiale de l'objet ou dans une mise à jour ultérieure des métadonnées de l'objet. Étant donné que vous contrôlez les métadonnées Cache-Control, vous déterminez également le degré de cohérence des objets mis en cache. Les requêtes concernant l'objet peuvent inclure leur propre en-tête Cache-Control. Toutefois, Cloud Storage ignore ces en-têtes s'ils sont définis pour éviter la mise en cache de contenu.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.