Heim  >  Artikel  >  Backend-Entwicklung  >  php mysql分布式数据库如何实现?

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

WBOY
WBOYOriginal
2016-10-22 00:14:152255Durchsuche

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

回复内容:

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

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

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

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

<code class="php">$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(按天,按月等)
//本质上来说,就是把不同的数据路由到不同的服务器。</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn