views:

318

answers:

4

What's the widest overview and where are the deepest analysis of different replication methods and problems?

A: 

In my opinion, you should pick a mainstream database (such as Oracle) and study everything it offers and go from there.

Oracle offers:

  • Replication
  • Data guard (standby database and beyond- physical, logical)
  • Real Application Clusters - (multiple instances, one DB) and more !

    A bit of hands-on would not hurt so you can download a PC version and try various replication approaches on one PC!

Enjoy !

Jay
+2  A: 

I would start here: wikipedia's replication article, then read a couple of related papers on general replication techniques such as the replicated distributed state machine approach (Paxos (pdf)) and epidemic replication (Google 'Epidemic Algorithms for Replicated Database Maintenance').

For a practical overview, perhaps consider investigating the source code for Postgresql, which seems to have some replication technologies built in. This presentation purports to have some details.

However, given that you're talking about deep analysis, the best approach is to make sure that you have a very sound understanding of fundamental distributed database systems issues. My copy of Date's Introduction to Database Systems has a few pages on distributed databases and their attendant issues. I should think a textbook dedicated to distributed databases would have much more detail - this one, for example, looks promising.

You can go much deeper if you read Ken Birman's work on Virtual Synchrony, and most things that Leslie Lamport has ever written. These will attack the problem from the perspective of a general distributed systems approach.

Good luck!

HenryR
A: 

Though it is MS-SQL specific, you should have a look at "Pro SQL SERVER 2005 Replication" (Sujoy P. PAUL, Apress). I owe this guy many quiet nights... I guess you can find some extracts of this book as PDF files.

Philippe Grondier
A: 

Wikipedia has some overview on the matter:

http://en.wikipedia.org/wiki/Multi-master_replication http://en.wikipedia.org/wiki/Lazy_replication

Yacoder