当前位置:Gxlcms > PHP教程 > phpmysql分布式数据库如何实现?

phpmysql分布式数据库如何实现?

时间:2021-07-01 10:21:17 帮助过:14人阅读

最近在做一个新的项目需求,按照需求方的要求,需要考虑到分布式数据库架构。但是对这一方面不是很了解。
分布式数据库是指多台数据库服务器,然后业务代码中使用某种定位方式写入一个数据库吗,类似分表操作?还是主从式的分布数据库?如果是前者,怎么实现对服务器的定位?

回复内容:

最近在做一个新的项目需求,按照需求方的要求,需要考虑到分布式数据库架构。但是对这一方面不是很了解。
分布式数据库是指多台数据库服务器,然后业务代码中使用某种定位方式写入一个数据库吗,类似分表操作?还是主从式的分布数据库?如果是前者,怎么实现对服务器的定位?

  1. 目前还没有完全可用的开源的,免费MYSQL分布式数据库服务。

  2. 通过hash,range等方式实现的多分片叫做sharding技术。

要实现对数据库的定位其实是很简单的。

$dbs = array(
    array("host"=>"127.0.0.1:3306"),
    array("host"=>"127.0.0.2:3306") 
);

$choose_db = $dbs[$data["id"] % count($dbs)]; //hash型sharding
//更多的还有range(按自增区间),date(按天,按月等)
//本质上来说,就是把不同的数据路由到不同的服务器。

人气教程排行