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?
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?
Derzeit gibt es keinen vollständig verfügbaren Open-Source-Dienst für verteilte MYSQL-Datenbanken.
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>