php mysql分布式数据库如何实现?
程序员文章站
2022-04-14 22:11:49
...
最近在做一个新的项目需求,按照需求方的要求,需要考虑到分布式数据库架构。但是对这一方面不是很了解。
分布式数据库是指多台数据库服务器,然后业务代码中使用某种定位方式写入一个数据库吗,类似分表操作?还是主从式的分布数据库?如果是前者,怎么实现对服务器的定位?
分布式数据库是指多台数据库服务器,然后业务代码中使用某种定位方式写入一个数据库吗,类似分表操作?还是主从式的分布数据库?如果是前者,怎么实现对服务器的定位?
回复内容:
最近在做一个新的项目需求,按照需求方的要求,需要考虑到分布式数据库架构。但是对这一方面不是很了解。
分布式数据库是指多台数据库服务器,然后业务代码中使用某种定位方式写入一个数据库吗,类似分表操作?还是主从式的分布数据库?如果是前者,怎么实现对服务器的定位?
目前还没有完全可用的开源的,免费MYSQL分布式数据库服务。
通过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(按天,按月等)
//本质上来说,就是把不同的数据路由到不同的服务器。