For situations where we want to host data on multiple sources, we need to be able to sync database changes around. This involves:
- Recording changes made to the database
- Replaying them on other nodes
- Conflict resolution in case changes are out-of-sync
Point 3) will be most difficult and must be handled on a per-case basis. Sometimes we can let the last change win, sometimes the user needs to intervene and sometimes we can come up with fitting application-specific algorithms. This functionality should be modular enough to allow for all these cases. Additionally, it should allow for different mechanisms of storing and broadcasting the changes.
For situations where we want to host data on multiple sources, we need to be able to sync database changes around. This involves:
Point 3) will be most difficult and must be handled on a per-case basis. Sometimes we can let the last change win, sometimes the user needs to intervene and sometimes we can come up with fitting application-specific algorithms. This functionality should be modular enough to allow for all these cases. Additionally, it should allow for different mechanisms of storing and broadcasting the changes.