Re: Pear DB on mysql replication cluster
| From: | Alan Knowles | Date: | Fri, 28 Nov 2003 13:50:29 +0000 |
| Subject: | Re: Pear DB on mysql replication cluster | ||
| References: | 1 2 3 4 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-23953@lists.php.net to get a copy of this message | ||
It would be pretty simple to do this using dataObjects, by putting an intermediate layer that overrides update/delete/insert, and forces a different host...
Regards
Alan
Michael Wallner wrote:
Hi Alberto M, you wrote: [...] Hi, I don't think it would make much sense bloating the DB class itself... class ClusterDB { function ClusterDB($master) { $this->master = &DB::connect($master); $slave = $this->master->getOne(' SELECT slave FROM slaves ORDER BY connections ASC LIMIT 1' ); $slavedsn = "mysql://user:pass@$slave/db"; $this->slave = &DB::connect($slavedsn); $this->query(" UPDATE slaves SET connections=connections+1 WHERE slave='$slave'" ); } function query($query) { if (DB::isManip($query)) { return $this->master->query($query); } else { return $this->slave->query($query); } } } What about this? Regards,