[development] Re: enterprise needs

Darrel O'Pry dopry at thing.net
Mon Feb 27 16:11:46 UTC 2006


On Mon, 2006-02-27 at 08:51 +0100, Dries Buytaert wrote:
> On 27 Feb 2006, at 02:34, pat at linuxcolumbus.com wrote:
> >> 6. Do MySQL replication
> >>
> >
> > By this do you mean geographically seperate web servers?
> 
> Not necessarily.  You can use MySQL replication and clustering for  
> (at least) two reasons:
> 
> 1. Redundancy.  You can use MySQL's replication functionality to have  
> a backup database.  It's a "hot spare" so it can take over instantly  
> without downtime.  No need to restore a backup from tape.  Depending  
> on the amount of "replication traffic" and your internet connection,  
> different database servers could be in geographically separate  
> locations.
> 
> 2. Performance.  You can use MySQL's replication functionality to  
> scale your database layer.  You can use it to distribute the workload  
> among multiple database servers that are exact copies of one another  
> (load balancing).  Occasionally companies use geographically separate  
> servers to improve performance; by bringing the data closer to the  
> user's geographical location you can eliminate some network latency.
> 
> --
> Dries Buytaert  ::  http://www.buytaert.net/


I will point to the fact that currently drupal will not support mysql's
replication technology since we haven't implemented a concept of
slave/master...

Two quick ways I can think of adding it are...
1) further db abstraction ala, db_select, db_insert, db_update..... 
2) and using a if (!strpos('SELECT', $query))
{ db_set_active('master') } in db_query.

with 1) you may get slightly better performance since you aren't
constantly parsing strings, but you start making some major changes to
drupal's db_abstraction layer.


.darrel.



More information about the development mailing list