最好使用一个查询在10个数据库服务器上保存数据?像保存群集数据一样。
示例:
$cluster = array(
'pdo1' => new PDO('host_1','dbname1','dbuser1','dbpass1');
'pdo2' => new PDO('host_2','dbname1','dbuser1','dbpass1');
'pdo3' => new PDO('host_3','dbname1','dbuser1','dbpass1');
'pdo4' => new PDO('host_4','dbname1','dbuser1','dbpass1');
);
$i=0;
foreach($cluser as $ket => $value){
$done = $value->execute('myquery);
if($done){
$i++;
}
}
if($i == count($cluster)){
echo ('yeah i store data in 4 databases at one run');
}
我没有使用群集数据库的muc经验,真的不知道这些是如何工作的。有人可以帮助理解吗?
答案 0 :(得分:2)
基本上,插入多个DB(在特定情况下,这是一个复制上下文)并不是开发人员的工作。 在DB Universe中,有一种复制模式可以帮助您。
您插入“master”数据库,然后该数据库本身会将它所拥有的差异复制到其所有从属服务器,(a)同步。
在较大的网站中,您可能甚至不知道数据层的基础架构,想象一些具有大量流量的openstack或aws应用程序,即时添加数据库实例。作为开发人员,您不必了解基础结构,或者每次创建实例时,您都必须将其添加到群集配置中,而您却无法做到这一点。
答案 1 :(得分:0)
需要使用一个查询在10个数据库服务器上保存数据。
但是,开发人员实现复制并不行。而mysql,redis和其他存储具有复制机制,具有更好的可扩展性和性能。
从官方网站了解有关mysql复制的更多信息。http://dev.mysql.com/doc/refman/5.5/en/replication.html