登陆

php mysql分布式数据库如何实现?

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

# PHP
小葫芦小葫芦1829 天前619 次浏览

全部回复(1)我要回复

  • 三叔

    三叔2016-10-22 09:12:36

    目前还没有完全可用的开源的,免费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(按天,按月等)
    //本质上来说,就是把不同的数据路由到不同的服务器。


    回复
    0
  • 取消回复发送