correction: because the single master was too BUSY

On 28 Sep 2012, at 7:48 PM, a...@hsk.hk wrote:

> Hi Jon,
> 
> I have had a similar case as yours, I have one data center in Hong Kong 
> another one in Tokyo, we have line between them, here are my feedback:
> 
> 1) we used multiple masters at first, from time to time, some issues like 
> that it took time to sync between master servers which caused obvious 
> slowness of the entire database, moreover, it took more support resources to 
> monitor them, the team became very tired 
> 2) we switched the config from multiple servers to single master, the 
> database performance improved but we still saw DB slowness mainly because the 
> single master was too buy
> 3) finally we fixed the issue by a) modify the application to handle heavy 
> read-only accesses from local slave to reduce the loading from the master b) 
> used the remote slave purely for remote backup c) built advanced cache system 
> to further reduce database access
> 
> Regards
> AC
> 
> 
> On 28 Sep 2012, at 2:27 PM, Chris Travers wrote:
> 
>> 
>> 
>> On Thu, Sep 27, 2012 at 9:37 PM, Jon Hancock <jhanc...@shellshadow.com> 
>> wrote:
>> We have a new pg system on 9.1, just launched inside China.  We now know we 
>> may need to run a replicate, with some writes to it outside China.  Would 
>> like some advice.  Here are parameters:
>> 
>> 1 - Our data center is in Beijing.  If we have a replicate in a data center 
>> in California, we can expect the bandwidth to vary between the Beijing and 
>> California servers and for any connection between the two servers to break 
>> down occasionally.  How well does pg replication work for suboptimal 
>> connects like this? 
>> 
>> How do you want things to work when the internet connection goes down? 
>> 
>> 2 - Is multi-master an option to allow some writes to the otherwise slave 
>> California db?
>> 
>> Multi-master replication is inherently problematic.  It doesn't matter what 
>> system you are using, avoid it if you can.  The problem is that multi-master 
>> replication typically means "replicate the easy cases and let a programmer 
>> figure out what to do if anything looks a little weird."  I suppose it might 
>> work for some cases but.... 
>> 
>> I actually think that some sort of loose coupling usually makes better sense 
>> than multi-master replication.  I recently wrote pg_message_queue to make it 
>> easier to implement loose coupling generally.  You could, for example, send 
>> xml docs back and forth, parse those and save them into your databases.  You 
>> can't guarantee the C part of the CAP theorem (you pick A and P there), but 
>> you can guarantee local data consistency on both sides.
>> 
>> 
>> 3 - Would trying this on 9.2 be a better place to start?  I don't think 
>> there is any reason we couldn't migrate up at this point.
>> 
>> The one thing in 9.2 that changes in this area is that it is designed so 
>> that if you have multiple servers on each continent, you  only replicate 
>> data once for each long haul link.  I don't think that's applicable to your 
>> case though.
>> 
>> Best Wishes,
>> Chris Travers
> 

Reply via email to