首頁  >  文章  >  後端開發  >  php mysql分散式資料庫如何實作?

php mysql分散式資料庫如何實作?

WBOY
WBOY原創
2016-10-22 00:14:152294瀏覽

最近在做一個新的專案需求,按照需求方的要求,需要考慮到分散式資料庫架構。但是對這方面不是很了解。
分散式資料庫是指多台資料庫伺服器,然後業務程式碼中使用某種定位方式寫入一個資料庫嗎,類似分錶操作?還是主從式的分散資料庫?如果是前者,怎麼實現對伺服器的定位?

回覆內容:

最近在做一個新的專案需求,按照需求方的要求,需要考慮到分散式資料庫架構。但是對這方面不是很了解。
分散式資料庫是指多台資料庫伺服器,然後業務程式碼中使用某種定位方式寫入一個資料庫嗎,類似分錶操作?還是主從式的分散資料庫?如果是前者,怎麼實現對伺服器的定位?

  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>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn