web-dev-qa-db-fra.com

Que signifie vraiment la cohérence lecture après écriture sur un nouvel objet PUT dans S3?

La documentation d'Amazon ( http://docs.aws.Amazon.com/AmazonS3/latest/dev/Introduction.html#ConsistencyModel ) indique:

"Amazon S3 offre une cohérence de lecture après écriture pour les PUTS de nouveaux objets dans votre compartiment S3 dans toutes les régions avec une mise en garde."

Ignorer la mise en garde, cela signifie qu'un client émettant un GET après un PUT pour un nouvel objet est garanti d'obtenir le résultat correct. Ma question est la suivante: la garantie s'appliquerait-elle également si l'EEG est émise par un autre client que celui qui a effectué le PUT (en supposant bien sûr que l'EEG suive le PUT chronologiquement)? En d'autres termes, la cohérence lecture après écriture est-elle simplement une cohérence lecture-écriture ou cela fonctionne-t-il pour tous les clients?

Je soupçonne que la réponse est qu'elle fonctionne à l'échelle mondiale mais ne peut pas trouver de réponse définitive.

18
Alf

Oui, ce serait cohérent.

Le concept de "client" n'est pas pertinent car chaque appel d'API est indépendant.

Le us-east-1 région (anciennement connue sous le nom de US-Standard) n'avait pas auparavant de cohérence de lecture après écriture, mais c'est maintenant fourni dans toutes les régions .

12
John Rotenstein

J'ai toujours supposé que vous, c'est-à-dire que la lecture après écriture s'applique à tous les clients, pas seulement au client qui a écrit.

Ce billet de blog semble le confirmer (pour ce que ça vaut), mais je n'ai pas non plus trouvé de réponse définitive sur les documents officiels d'AWS:

https://shlomoswidler.com/2009/12/read-after-write-consistency-in-Amazon.html

Qu'est-ce que la cohérence lecture après écriture?

La cohérence de la lecture après écriture resserre un peu les choses, garantissant une visibilité immédiate des nouvelles données à tous les clients. Avec une cohérence lecture après écriture, un objet ou un fichier ou une ligne de table nouvellement créé sera immédiatement visible, sans aucun retard.

8
E.J. Brennan