2010-01-10 15 views
5

¿Existen algoritmos que se usan comúnmente para lograr la consistencia final en los sistemas distribuidos?¿Hay algún algoritmo general para lograr la consistencia final en los sistemas distribuidos?

Existen algoritmos que se han desarrollado para transacciones ACID en sistemas distribuidos, Paxos en particular, pero ¿hay un cuerpo de teoría similar que se haya desarrollado para escenarios BASE, con garantías de coherencia más débiles?

Editar: Esto parece ser un área de investigación académica que apenas comienza a desarrollarse. La respuesta de Mcdowella muestra que ha habido al menos algo de trabajo en esta área.

Respuesta

2

BASE y una consistencia más débil se reduce a la convergencia de copias en un escenario de replicación. Hay una gran cantidad de literatura sobre la replicación en el sistema distribuido, con eiter ansiosos o perezoso replicación, con grupo o maestro copia, etc.

Consensus es un problema que se puede formular con precisión. Se pueden proponer varias soluciones/algoritmos. La replicación diferida con convergencia de copias no lo es. Siento que es más un problema arquitectónico. Pero como acabo de decir, hay un gran volumen de trabajo sobre replicación o almacenamiento distribuido, que podría ser lo que está buscando.

Éstos son sin embargo un par de enlaces que me pareció interesante:

+0

No estoy seguro si estoy de acuerdo con que el problema de cómo manejar la replicación diferida no se puede establecer con precisión. Espero que surja un conjunto de teorías sobre qué restricciones de integridad son compatibles con este tipo de arquitectura, y cuáles no, cómo manejar las actualizaciones colisionantes, etc. –

+0

Quizás tenga razón. Probablemente se propondrán modelos en los próximos años para razonar acerca de la elasticidad, la consistencia eventual, etc. El que puedan llamarse teorías será otra cuestión. ¡Pero me encantaría ver eso! – ewernli

Cuestiones relacionadas