Re: Synchronizing database data - intercontinental dependencies...

  • From: Nigel Thomas <nigel_cl_thomas@xxxxxxxxx>
  • To: Marco.Gralike@xxxxxxx, oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 13 Feb 2008 06:14:56 -0800 (PST)


Multi-master replication is a bitch (logically as well as technically). Ideally 
you want to know where / when data is updated; and if possible have a single 
master for each row, or at least a well understood conflict resolution policy.

Oracle Advanced Replication (now Oracle Streams Replication) was intended 
(starting while I was still at Oracle - so well over a decade ago) to solve 
this problem. Not sure if it has yet, and certainly Streams seems to appear as 
the culprit in many posts here and on the OTN forums. See also OraFaq's (short) 
list of questions. However it should be easier to manage replication if all the 
sites have the same schema (watch out for application upgrade issues!).

You could do worse than than look at Hibernate Shards  - not actually to use 
it, but to pick up on some of the issues in the Reference Manual. 
Remember in your case, you can always master some data in NL and some in 
Taiwan... so your factory "owns" its own production data (and NL sees a replica 
of that) while NL "owns" (for example) the product BOM.

All needs very careful data analysis to understand who needs the data, when, 
and what for; what might happen if updates are delayed (a day or a week); 
what's the cost and risk of working with out of date data. The "urgency" of 
data may vary by table, by row and by column (with complex interdependencies). 

I did some work with Nokia Finland 14 or 15 years ago where they were 
replicating data to some remote offices (eg, in those days, Beijing) via floppy 
discs. Not ideal, but it worked for them ... because they understood how to 
handle the (postal or courier) "network latency" involved. No different to 
synchronising your Palm with your Outlook really :)

Anyway - good luck!

Regards Nigel

Other related posts: