Amazon S3 se implementa utilizando la arquitectura descrita en el Libro Dynamo:
http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
El documento explica hash consistente, y cómo y por qué la garantía es "consistencia eventual".
La resolución de conflictos de la que hablan para Dynamo no está expuesta a los usuarios de S3. Se usa internamente en las aplicaciones de Amazon, pero para S3, la única resolución de conflicto es la última escritura gana.
Editar: Werner Vogels ha dicho "Dynamo no está directamente expuesto externamente como un servicio web, sin embargo, Dynamo y otras tecnologías similares de Amazon se utilizan para alimentar partes de nuestros servicios web de Amazon, como S3". http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
Quiero hacer hincapié en que él no está diciendo que S3 y Dynamo comparten componentes, explícitamente dice que Dynamo en sí es una de las tecnologías que alimentan S3. Todo lo que he visto de S3, incluidas las advertencias, se explica al suponer que S3 es un sofisticado envoltorio de servicios web alrededor de Dynamo con autenticación, contabilidad y resolución de conflictos de última escritura que es invisible para el usuario.
La pregunta original era sobre el mecanismo de almacenamiento subyacente para S3. No es explícitamente un sistema de archivos distribuidos como HDFS o una base de datos no relacional como CouchDB. Dynamo cumple esta función.
Hay al menos [uno] (https://sourceforge.net/projects/s3mockup/) Solución equivalente S3 que puede usar para probar clientes en contra. Puede encontrar información estudiando el código fuente y quizás podría usarlo en su propio proyecto. –
Mira MogileFS. No es compatible con API con S3, y tiene muchas menos funciones que S3, pero realiza el proceso básico de distribución de archivos estáticos en un conjunto de servidores de almacenamiento de bajo costo. – melo