Mysql Distributed Databases

Kimball Larsen kimball at
Sat Feb 5 02:12:21 MST 2005

This may have been posed before, but:
    Using MySQL, is it possible to set up a distributed database wherein 
it mattereth not which node is updated?  

    From reading the docs, I gather that typical MySQL replication is 
pretty much a one-way road.  Updates to the master are propagated to the 
slaves.  Simple enough... but what if I can't get to the master and I 
have to update a slave instead... is there a process to get those 
updates rolled back into the master?

    A more concrete example:  Let's say I have opened a chain of burger 
joints.  Each burger joint needs to know how many ketchup packets they 
have on hand.  As ketchup packets are distributed to customers, the 
burger joint updates its records to reflect the decrease in ketchup 
stock.  Now, let's say that each of your locations would like to know 
how much ketchup is left at the other locations.  This would be useful 
when a particular location runs low - it can simply request some from a 
location with plenty.  This seems like a perfect spot to stick a 
centralized server that keeps track of all the inventory for everyone.

    But what happens if the network connection to a particular location 
goes down?

    That location can no longer update the stock levels on the main 
server... pandemonium!

Ideally, here is the sort of solution I am looking for:  To service 
customer requests, I MUST have access to a data store that has 
information about other points of sale in my business.  I cannot 
guarantee that I will always have a good connection to each of the 
points of sale.  I would like to have a "master" centralized data store 
that all locations use by default.  If a network connection dies, I 
would like that location to have a local copy of the master that is as 
up to date as possible.  As soon as the connection is restored, I'd like 
to have any transactions that were recorded on the local copy pushed 
back to the master, so the other points of sale can become aware of the 
data changes.

Suggestions?  Can MySQL even do this?


-- Kimball

More information about the PLUG mailing list