Propiedades liveness y safety de correccion
Writeahead log y Private workspace, dar ventajas y desventajas y decir cual usaria para un ambiente distribuido con informacion persistente. describir concurrencia optimista
Private Workspace realiza una copia del workspace local y trabaja sobre esta copia privada hasta que este lista para commitear. Es prohibidamente costosa porque se debe reproducir constantemente el workspace, pero tiene como ventaja que para hacer un rollback, basta con elimitar la copia actual ya que nunca se modifica el workspace original.
A la hora de commitear revisa que no haya cambiado el workspace y en caso de haber cambiado aborta la transaccion y vuelve a comenzar de vuelta
Writeahead Log anuncia el estado antes y despues de cada statement en forma de un registro en el log y cuando esta listo para commitear anuncia que va a commitear y lo escribe en el log. Tiene la ventaja de que es facil hacer rollback ya que se puede leer el log desde el final hacia atras y tambien permite editar directamente sobre los archivos por lo que es rapido.
Tiene como principal entidad un actor el cual esta compuesto de
Una direccion: Donde se le envian todos los mensajes
Una FIFO: la cual acumula todos los mensajes que recibe
Los actores son single-threaded
Funciona asincronicamente
Tienen estado privado que solo puede cambiarse a travez de mensajes
Los actores se comunican entre si con mensajes
Los actores entienden mensajes previamente establecidos y definidos como se handlean
Context: Contiene el estado privado del actor y se encarga de obtener mensajes del inbox y de llamar al handler apropiado
Arbiter: Se encarga de manejar la vida del actor (el thread que lo contiene) y de enviarle mensajes al inbox