Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL, in dem hauptsächlich Fragen im Zusammenhang mit den Grundprinzipien der Lese-Schreib-Trennung organisiert werden, einschließlich des Arbeitsprinzips der Lese-Schreib-Trennung, Implementierungsmethoden der Lese-Schreib-Trennung und häufig verwendeter Middleware für Lesen-Schreiben-Trennung Schauen wir uns den folgenden Inhalt an. Ich hoffe, er ist für alle hilfreich.
Empfohlenes Lernen: MySQL-Video-Tutorial
In einigen großen Website-Geschäftsszenarien kann die von einem einzelnen Datenbankserver bereitgestellte Parallelität die Geschäftsanforderungen nicht mehr erfüllen. Um diese Anforderungen zu erfüllen, werden die Daten im Allgemeinen durch Master-Slave-Synchronisation synchronisiert. Auf dieser Basis werden die Parallelität und die Ladekapazität der Datenbank durch Lese-/Schreibtrennung verbessert.
Im Allgemeinen sind Abfragevorgänge in der Datenbank in Geschäftsszenarien viel höher als das Hinzufügen, Löschen und Ändern, und Lesevorgänge haben weniger Auswirkungen auf die Datenbank. Daher richten wir im Allgemeinen einen Datenbankserver als Master-Server ein, der hauptsächlich für die Aufgaben des Hinzufügens, Löschens und Änderns von Daten verantwortlich ist, und konfigurieren 3-4 Datenbankserver als Slave-Server, die hauptsächlich für Datenabfrageaufgaben verantwortlich sind. Der Datenbank-Slave-Server synchronisiert Daten vom Datenbank-Master-Server, um Datenkonsistenz zu erreichen.
Je nach Grad der Lese-Schreib-Trennung wird die Lese-Schreib-Trennung im Allgemeinen auf zwei Arten implementiert: über die Anwendungsschicht und über die Middleware-Schicht.
Die Implementierung über die Anwendungsschicht bezieht sich auf die Implementierung der Datenabfragesprache und der Datenoperationssprache innerhalb der Webseite, um auf verschiedene MySQL-Hauptbibliotheken bzw. Slave-Bibliotheken zu verweisen. Das Diagramm der über die Anwendungsschicht implementierten MySQL-Lese-/Schreibtrennung lautet wie folgt:
Der Vorteil besteht darin, dass die Bereitstellungsschwierigkeit verringert wird, Bereitstellung und Installation sofort einsatzbereit sind und die Leistung besser ist Wenn die Architektur erweitert wird, muss der Code geändert werden, was schwierig zu implementieren ist. Erweiterte Vorgänge wie automatisches Datenbank-Sharding und Tabellen-Sharding sind in einigen großen Anwendungsszenarien nicht sehr geeignet.
Bei der Implementierung über die Middleware-Schicht geht es darum, alle SQL-Anweisungen einheitlich auf ein Middleware-Gerät auf der Anwendungsebene zu verweisen, und das Middleware-Gerät verweist verschiedene SQL-Anweisungen für Vorgänge auf verschiedene Datenbankserver. Das Diagramm zur Realisierung der Lese-/Schreibtrennung durch die Middleware-Schicht sieht wie folgt aus:
Der Vorteil davon besteht darin, dass das Architekturdesign flexibler ist, weniger Auswirkungen auf den Geschäftscode hat, eine gute Portabilität aufweist und eine erweiterte Kontrolle erreichen kann Diese Architektur erfordert einen professionellen Betrieb. Wartungspersonal wartet die Architektur.
1. Das von Alibaba B2B entwickelte relationale verteilte System ist eine frühe Middleware es beibehalten, weil der Entwickler gegangen ist.
2. MyCAT
Technologiebegeisterte haben eine Sekundärentwicklung auf Basis von Cobar durchgeführt, einige Probleme von Cobar gelöst und einige neue Funktionen hinzugefügt. Derzeit ist die MyCAT-Community sehr aktiv und viele Unternehmen nutzen MyCAT.
3. OneProxy
Oneproxy ist eine kommerzielle kostenpflichtige Middleware, die vom Alipay-Team entwickelt wurde und in Szenarien mit hoher Parallelität sehr stabil ist.
4. Vitess
Diese Middleware verfügt über eine komplexe Architektur und die Verwendung von Vitess erfordert die Verwendung der von ihr bereitgestellten API-Schnittstelle.
5. Kingshard
wird vom 360-Team entwickelt und unterstützt Unterdatenbanken und Tabellen, aber seine Stabilität ist unter Bedingungen hoher Parallelität durchschnittlich.
6, MaxScale und MySQL Route
Beide sind offizielle MySQL-Middleware. Maxscale wurde von Mariadb entwickelt und MySQL Route ist die derzeit von Oracle veröffentlichte Middleware für die MySQL-Datenbank.
Empfohlenes Lernen:
MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Grundprinzipien der MySQL-Lese- und Schreibtrennung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!