Heim > Backend-Entwicklung > PHP-Tutorial > Wie implementiert man eine verteilte PHP-MySQL-Datenbank?

Wie implementiert man eine verteilte PHP-MySQL-Datenbank?

WBOY
Freigeben: 2016-10-22 00:14:15
Original
2312 Leute haben es durchsucht

Kürzlich arbeite ich an einer neuen Projektanforderung. Gemäß den Anforderungen des Nachfragers muss die verteilte Datenbankarchitektur berücksichtigt werden. Aber ich weiß nicht viel über diesen Aspekt.
Bezieht sich eine verteilte Datenbank auf mehrere Datenbankserver und verwendet der Geschäftscode dann eine bestimmte Positionierungsmethode, um in eine Datenbank zu schreiben, ähnlich einer Tabellenaufteilungsoperation? Oder eine verteilte Master-Slave-Datenbank? Wenn ersteres der Fall ist, wie positioniert man den Server?

Antwortinhalt:

Kürzlich arbeite ich an einer neuen Projektanforderung. Gemäß den Anforderungen des Nachfragers muss die verteilte Datenbankarchitektur berücksichtigt werden. Aber ich weiß nicht viel über diesen Aspekt.
Bezieht sich eine verteilte Datenbank auf mehrere Datenbankserver und verwendet der Geschäftscode dann eine bestimmte Positionierungsmethode, um in eine Datenbank zu schreiben, ähnlich einer Tabellenaufteilungsoperation? Oder eine verteilte Master-Slave-Datenbank? Wenn ersteres der Fall ist, wie positioniert man den Server?

  1. Derzeit gibt es keinen vollständig verfügbaren Open-Source-Dienst für verteilte MYSQL-Datenbanken.

  2. Mehrfaches Sharding, das durch Hash, Range usw. implementiert wird, wird als Sharding-Technologie bezeichnet.

Es ist eigentlich sehr einfach, die Datenbank zu finden.

<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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage