使用一个查询在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');
}
我没有使用集群db的经验,也不知道它们是如何工作的。有人能帮我理解吗?
发布于 2013-12-08 00:22:52
基本上,插入多个DB并不是开发人员的工作(在特定情况下,这是一个复制上下文)。在DB宇宙中,有一种复制模式可以帮助您。
您在一个“主”db中插入,然后该数据库单独地将它的差异复制到它的所有奴隶,(A)同步地。
在更大的网站中,你可能甚至不知道数据层的基础设施,想象一下一些流量很大的openstack或aws应用程序,动态添加db实例。作为开发人员,您不必知道基础设施,或者每次创建实例时,都必须将其添加到集群配置中,而您就是不能这样做。
发布于 2013-12-08 01:45:59
丑陋的编码。
必须使用一个查询将数据保存在10台数据库服务器上以及更多的服务器上。
但是,开发人员实现复制是不可能的。
而mysql、redis等具有复制机制,具有较好的扩展性和性能。
从官方网站.http://dev.mysql.com/doc/refman/5.5/en/replication.html了解更多有关mysql复制的信息。
https://stackoverflow.com/questions/20448136
复制相似问题