Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

have written a Django application that reads / writes data into a postgres database, at the moment I have been deploying one of these devices per client. I am faced with having to deploy multiple instances of this across a client site. I need to keep all databases consistent across the instances with each instance talking to its own database (essentially a multi-master setup)

I have been looking into various replication solutions (mySQL Cluster, PGCluster) but these all seem to require that I have each instance accessing the database through one location, whereas I want each instance to read /write to its own database and the databases to be kept consistent across all devices. Does anyone have any ideas of a solution that may work for this or somewhere else I could look?

Its also worth noting that the databases are write heavy rather than read heavy

share|improve this question
    
Have you had a look at all the products mentioned here? –  Jack Douglas Oct 27 '11 at 14:39
add comment

1 Answer

up vote 2 down vote accepted

I'm going to highlight one of the products listed in the wiki link provided by Jack Douglas.

Galera is a product I've been hearing a lot about recently, but have not had a cause to implement it yet into a production environment.

Back in July, Percona wrote a brief blog about implementing it, but mentioned there was no 'production' release at that time.

They've since released the first major version, v1.0. And Vladimir has been shedding more light on it this month. And with some benchmarks

Due to your write-heavy environment, I highlight this use-case:

Distributing writes across the cluster will harness the CPU power in slave nodes for better use to process client write transactions. Due to the row based replication method, only changes made during a client transaction will be replicated and applying such a transaction in slave applier is much faster than the processing of the original transaction. Therefore the cluster can distribute the heavy client transaction processing across many master nodes and this yields in better write transaction throughput overall.

Disclaimer: I'm not affiliate with Galeria or Percona, and have not used it personally...yet.

share|improve this answer
    
I had read of Galera but that was prior to a release, this will solve my solution, that or using MySQL circular replication. Thank you for the swift response. –  Mark Diggles Oct 27 '11 at 16:08
1  
@markdiggles Do come back and chat with us on about it. I'm curious how well it works. –  Derek Downey Oct 27 '11 at 16:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.