Überblick über die Lösung für die Aufspaltung der Datenbank

NOTE
Diese Funktion ist nur für Adobe Commerce-Instanzen verfügbar.
IMPORTANT
Die Funktion „Split Database wurde in2.4.2 von Adobe Commerce als veraltet gekennzeichnet. Siehe Von einer geteilten Datenbank auf eine einzelne Datenbank zurücksetzen.

Adobe Commerce bietet mehrere Skalierbarkeitsvorteile, darunter die Möglichkeit, drei separate Master-Datenbanken für verschiedene Funktionsbereiche der Commerce-Anwendung zu verwenden.

Checkout, Bestellungen und Produktdaten können jeweils eine separate Master-Datenbank verwenden, die Sie optional replizieren können. Diese Trennung skaliert die Last unabhängig von Website-Checkouts, Bestellverwaltungsaktivitäten, Website-Browsing und Merchandising-Aktivitäten je nach Ihren Anforderungen. Diese Änderungen bieten beträchtliche Flexibilität bei der Skalierung der Datenbankebene.

INFO
Adobe Commerce auf Cloud-Infrastruktur unterstützt nicht diese Funktion.

Die ResourceConnections-Klasse stellt die einheitliche MySQL-Datenbankverbindung zum Commerce-Programm bereit. Für Abfragen an die primären Datenbanken implementieren wir das Datenbankmuster Command Query Responsibility Segregation (CQRS) . Dieses Muster behandelt die Logik zum Routing der Lese- und Schreibabfragen an die entsprechenden Datenbanken. Entwickler müssen nicht wissen, welche Konfiguration verwendet wird, und es gibt keine separaten Lese- und Schreibdatenbankverbindungen.

Wenn Sie eine optionale Datenbankreplikation einrichten, erhalten Sie die folgenden Vorteile:

  • Datensicherung
  • Datenanalyse ohne Beeinträchtigung der Master-Datenbank
  • Skalierbarkeit

MySQL-Datenbanken werden asynchron repliziert, was bedeutet, dass Slaves nicht dauerhaft verbunden sein müssen, um Aktualisierungen vom Master zu erhalten.

Die folgende Abbildung zeigt, wie diese Funktion funktioniert.

Adobe Commerce verwendet verschiedene Datenbanken zum Speichern von Tabellen

In Magento Open Source wird nur eine Master-Datenbank verwendet.

Adobe Commerce verwendet drei Master-Datenbanken und eine konfigurierbare Anzahl von Slave-Datenbanken für die Replikation. Adobe Commerce verfügt über eine einzige Schnittstelle für Datenbankverbindungen, was zu einer schnelleren Leistung und besseren Skalierbarkeit führt.

Konfigurationsoptionen

Aufgrund der Art und Weise, wie die Lösung zur Aufspaltung der Datenbankleistung konzipiert ist, können Ihr benutzerdefinierter Code und installierten Komponenten der folgenden Aufgaben ausführen:

  • Schreiben Sie direkt in die Datenbank (stattdessen müssen Sie die Adobe Commerce-Datenbankschnittstelle verwenden)
  • JOINs verwenden, die sich auf die Verkaufs- oder Angebotsdatenbanken auswirken
  • Verwenden von Fremdschlüsseln für Tabellen in der Checkout-, Verkaufs- oder Hauptdatenbank
WARNING
Wenden Sie sich an Entwickler von Komponenten, um zu überprüfen, ob ihre Komponenten einen der oben genannten Punkte erfüllen. In diesem Fall müssen Sie nur eine der folgenden Optionen auswählen:
  • Bitten Sie die Komponentenentwickler, ihre Komponenten zu aktualisieren.
  • Verwenden Sie die Komponenten wie vorliegend ohne die Lösung für die Aufspaltung der Datenbank.
  • Entfernen Sie die Komponenten, damit Sie die Lösung für die Aufspaltung der Datenbank verwenden können.

Dies bedeutet auch, dass Sie entweder:

  • Konfigurieren Sie die Split-Datenbanklösung, bevor Commerce in die Produktion überführt wird.

    Adobe empfiehlt, Split-Datenbanken so bald wie möglich nach der Installation der Commerce-Software zu konfigurieren.

  • Manuelles Konfigurieren der Split-Datenbanklösung.

    Sie müssen diese Aufgabe ausführen, wenn Sie bereits Komponenten installiert haben oder wenn Commerce bereits in der Produktion ist. (Aktualisieren Sie Produktionssystem. Nehmen Sie die Aktualisierungen in einem Entwicklungssystem vor und synchronisieren Sie die Änderungen, nachdem Sie sie getestet haben.)

    note warning
    WARNING
    Sie müssen die beiden zusätzlichen Datenbankinstanzen manuell sichern. Commerce sichert nur die Hauptdatenbankinstanz. Mit den magento setup:backup --db Befehls- und Admin-Optionen werden die zusätzlichen Tabellen nicht gesichert.

Voraussetzungen

Für die Split-Datenbank müssen drei MySQL-Master-Datenbanken auf einem beliebigen Host eingerichtet werden (alle drei auf dem Commerce-Server, jede Datenbank auf einem separaten Server usw.). Dies sind Master-Datenbanken, die wie folgt verwendet werden:

  • Eine Master-Datenbank für Checkout-Tabellen
  • Eine Master-Datenbank für Verkaufstabellen (auch als Order Management-System oder OMS-Tabellen bezeichnet)
  • Eine Master-Datenbank für die übrigen Commerce 2-Anwendungstabellen

Darüber hinaus können Sie optional eine beliebige Anzahl von Slave-Datenbanken einrichten, die als Lastenausgleich und Backups dienen.

In diesem Handbuch wird beschrieben, wie Sie nur die primären Datenbanken einrichten. Wir stellen Ihnen Beispielkonfigurationen und Referenzen zur Verfügung, um bei Bedarf Slave-Datenbanken einzurichten.

In diesem Handbuch werden die drei Master-Datenbanken benannt:

  • magento_quote
  • magento_sales
  • magento

(Sie können Ihre Datenbanken beliebig benennen.)

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c