what is a good way to do 'maintaining data distribution'

HP Wei hp@REDACTED
Sat Apr 12 19:56:06 CEST 2003


Regarding synchronization of entities across all nodes in 
Mnesia (or ets),
what is the general model (algorithm) used ?   
Is it like (1)    -- the makefile model
or is it like (2) -- the Spreadsheet model ???
[Note: (1) and (2) refers to those in my first email. see below.]

(I know the answer is in the source code.  I figure it's faster and
 easier to ask :)
 
--hp

----------------------------------------------------------------
>1) If you could switch to Mnesia it did all work for you. Some
>sophisticated rules could be solved using Ulf Wiger's `rdbms' package
>(available at contributions page).

-------------------------------------------------------------------
>hp> On of my responsibilities is to make sure that all databases 
>hp> generated on a few master machines get distributed to other machines
>hp> in a timely and reliable fashion.
>hp> Scale: machine number is around 240.
>hp> Dependence: intertwining.

>hp> Here are two approaches that I can think of.
>hp> (1) Write down the 'dependence rules' 
>hp>     --- in analogous to an erlang makefile.
>hp>     
>hp>     Then, a sync-engine (in analogous to ermake.erl)
>hp>     should gather data and execute functions to maintain rule's integrity.
>hp>  
>hp> (2) More general way (?).
>hp>     we can have a list of entities,
>hp>     [entity1, entity2, ...]
>hp>     Each entity has its value (representing its state)
>hp>     and has associated with it a rule (one or more functions) which may
>hp>     depend on other entities.
>hp>     ---> sort of like a Spreadsheet model.
>hp>     If the value of one entity gets changed, all other entities
>hp>     that depend on it will be updated too.




More information about the erlang-questions mailing list