architecture - Does MNesia support synchronization after disconnected operation? -
i'm starting architect project following requirements:
- the overall system distributed across multiple physical nodes on wan
- each node using , manipulating common set of data records
- operations on these records must resilient network outages
i'm considering utilizing mnesia/erlang base platform project, i'd know how (mnesia) can handle simultaneous disconnected conflicting operations on data set.
an illustrative scenario:
- nodes , b have connectivity , empty data set.
- node adds record (1, abc).
- here, record sets should transparently synchronize , node b has record (1, abc).
- network connectivity between them lost.
- node alters record (1, def).
- node b (later timestamp) alters record (1, ghi).
- network connectivity restored
- expected: after transparent synchronization, both nodes contain record (1, ghi).
to simplify, let's assume complete change history not required (e.g. it's not important record 1 used contain abc or def, it's important contains ghi).
is out-of-the-box (or trivial implement) capability of mnesia?
ulf wiger had talk last erlang factory in san francisco (2010) on topic. can find slides here: http://www.erlang-factory.com/upload/item/7/ulfwiger-10minutetalk.pdf
they contains overview of problems , pointers source code might of use you.
Comments
Post a Comment