Heim  >  Artikel  >  Datenbank  >  Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

王林
王林nach vorne
2023-06-03 15:52:24784Durchsuche

Übersicht

Die erste Frage nach dem Entwurf der Datenbank- und Tabellenpartitionierung ist, wie der Routing-Schlüssel ausgewählt und wie der Schlüssel weitergeleitet wird. Routing-Schlüssel sollten in jeder Tabelle vorhanden und eindeutig sein. Die Routing-Strategie sollte versuchen, sicherzustellen, dass die Daten gleichmäßig verteilt werden.

Wenn Sie eine große Datenmenge archivieren, können Sie die Zeit als Routing-Schlüssel wählen. Erstellen Sie beispielsweise jeden Monat oder jedes Quartal eine Tabelle, indem Sie den Erstellungszeitpunkt der Daten als Routing-Schlüssel verwenden. Durch die Verwendung der Zeit als Routing-Strategie nach dem Sharding von Datenbanken und Tabellen kann eine Datenarchivierung erreicht werden. Der historische Datenzugriffsverkehr ist gering und der Datenverkehr wird an die neueste Datenbanktabelle gesendet.

Sie können auch den geschäftsbezogenen Routing-Schlüssel entwerfen. Dadurch wird sichergestellt, dass die Ressourcen jeder Datenbank den Datenverkehr gut vertragen.

Unterstützungsszenarien

Aus Benutzersicht muss die Take-Away-Bestellplattform nach der Aufteilung in Datenbanken und Tabellen die Echtzeitanzeige des Status bestellter Take-Away-Bestellungen unterstützen und Szenarien zur Verfolgung von Bestellinformationen. Händler müssen Bestellinformationen abfragen, die Qualität von Gerichten anhand von Bestellungen analysieren und Geschäftsentscheidungen treffen.

Benutzer Verbraucher = C-Seite Händler Geschäft = B-Seite

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Nach dem Der Benutzer gibt eine Bestellung auf. Bestellungen fallen möglicherweise in verschiedene Tabellen, und Sie müssen bei der Abfrage möglicherweise mehrere Tabellen abfragen.

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Routing-Strategie

Wenn die Reihenfolge beim Erstellen zufällig in eine bestimmte Tabelle eingefügt wird oder Sie es nicht wissen In welche Tabelle eingefügt werden soll, Abfrage Bei der Bestellung müssen Sie alle Tabellen abfragen, um die Genauigkeit der Abfrage sicherzustellen.

Wenn beim Einfügen einer Bestellung bestimmte Regeln gelten, wird diese gemäß dieser Regel in die Datenbank eingefügt. Bei der Abfrage werden auch die entsprechenden Regeln ausgeführt, um die entsprechende Tabelle abzufragen. Dies reduziert die Komplexität von Datenoperationen. Sowohl Benutzer als auch Händler können beim Abfragen von Daten dieselbe Routing-Strategie verfolgen, was durch den Entwurf einer Routing-Strategie erreicht werden kann.

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Kunden-Routing-Schlüssel

Gemäß dem Routing im vorherigen Abschnitt Für die Richtlinienanalyse müssen Sie nun einen Routing-Schlüssel auswählen. Der Client ermöglicht das Speichern der Daten derselben Benutzer-ID in einer festen Tabelle, sodass die Benutzer-ID als Routing-Schlüssel ausgewählt werden kann.

Im Fall einer einzelnen Datenbank gibt der Benutzer eine Bestellung auf, generiert eine Bestellung, verwendet die Benutzer-ID als Routing-Schlüssel, nimmt den Hash-Wert der Benutzer-ID und moduliert dann die Anzahl der Tabellen Rufen Sie die entsprechende Tabelle ab, die weitergeleitet werden muss, und schreiben Sie dann die Daten.

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Bei mehreren Bibliotheken und mehreren Tabellen müssen Sie zuerst die entsprechende Bibliothek und dann die entsprechende Tabelle finden. Routing-Strategie für mehrere Datenbanken und mehrere Tabellen: Benutzer gibt Bestellungen auf -> Bestellungen generieren - > Routing-Strategie: Modulieren Sie die Anzahl der Datenbanken basierend auf dem Hash-Wert der Benutzer-ID, um die entsprechende Datenbank zu finden -> Teilen Sie den Hash-Wert des Benutzers ID durch das Paar Die Anzahl der Tabellen, und modulieren Sie dann die Anzahl der Tabellen, um die entsprechende Tabelle zu finden.

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Der entscheidende Punkt beim Entwurf einer Routing-Strategie besteht darin, entsprechend dem spezifischen Geschäftsszenario zu entwerfen und den Routing-Schlüssel als Hash-Wert-Modul basierend auf dem zu verwenden Spezifisches Geschäftsszenario.

Händler-Routing-Schlüssel

Für die Händler-B-Seite ist ein separater Tabellensatz vorgesehen (C-Seite und B-Seite sind unabhängig).

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Die Benutzerperspektive verwendet user_id als Routingschlüssel und die Händlerperspektive verwendet die Händler-ID als Routingschlüssel. Wie leiten Händler Daten über Routing-Schlüssel weiter? Wenn Sie eine Bestellung aufgeben, sendet Youhu die Bestellnummer Ihres Teamkollegen an MQ. Der Händler kann diese MQ nutzen, dann die Bestellinformationen basierend auf der Bestellnummer abrufen und die Bestellinformationen dann in die Datenbanktabelle des Händlers einfügen. Die Routing-Richtlinie des Händlers ist dieselbe wie die Routing-Richtlinie des Benutzers.

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung

Vollständiges Datenflussdiagramm für Kunde und Händler:

Beispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung # 🎜🎜#

Das obige ist der detaillierte Inhalt vonBeispielanalyse des Routing-Strategiedesigns nach MySQL-Datenbank- und Tabellenpartitionierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen