Panoramica della soluzione di database suddiviso

NOTE
Questa funzione è disponibile solo per le istanze di Adobe Commerce.
IMPORTANT
La funzionalità di suddivisione del database era obsoleto nella versione 2.4.2 di Adobe Commerce. Consulta Ripristino da un database diviso a un singolo database.

Adobe Commerce offre diversi vantaggi in termini di scalabilità, tra cui la possibilità di utilizzare tre database master separati per aree funzionali diverse dell’applicazione Commerce.

Il checkout, gli ordini e i dati dei prodotti possono utilizzare un database master separato che è possibile replicare. Questa separazione consente di scalare in modo indipendente il carico dalle attività di checkout sul sito web, gestione degli ordini, navigazione sul sito web e merchandising, in base alle esigenze. Queste modifiche forniscono una notevole flessibilità nelle modalità di scalabilità del livello del database.

INFO
Adobe Commerce su infrastruttura cloud non supporta questa funzione.

Il ResourceConnections La classe fornisce la connessione unificata del database MySQL all'applicazione Commerce. Per le query sui database master, viene implementato il modello di database CQRS (Command Query Responsibility Segregation). Questo modello gestisce la logica per l'instradamento delle query di lettura e scrittura ai database appropriati. Gli sviluppatori non devono sapere quale configurazione viene utilizzata e non esistono connessioni separate al database di lettura e scrittura.

Se si imposta la replica di database facoltativa, si otterranno i seguenti vantaggi:

  • Backup dei dati
  • Analisi dei dati senza influire sul database principale
  • Scalabilità

I database MySQL vengono replicati in modo asincrono, il che significa che non è necessario che gli slave siano connessi in modo permanente per ricevere gli aggiornamenti dal master.

Nella figura seguente viene illustrato il funzionamento di questa feature.

Adobe Commerce utilizza database diversi per memorizzare le tabelle

In Magento Open Source viene utilizzato un solo database master.

Adobe Commerce utilizza tre database master e un numero configurabile di database slave per la replica. Adobe Commerce dispone di un'unica interfaccia per le connessioni ai database, che offre prestazioni più veloci e una migliore scalabilità.

Opzioni di configurazione

A causa del modo in cui è progettata la soluzione di prestazioni del database suddiviso, il codice personalizzato e i componenti installati non può eseguire una delle operazioni seguenti:

  • Scrivere direttamente nel database (è necessario utilizzare l'interfaccia del database di Adobe Commerce)
  • Utilizzare JOIN che influiscono sui database delle vendite o delle offerte
  • Utilizzare le chiavi esterne per le tabelle nei database di pagamento, vendite o principali
WARNING
Contatta gli sviluppatori di componenti per verificare se i loro componenti eseguono una delle operazioni precedenti. In tal caso, è necessario scegliere solo una delle seguenti opzioni:
  • Chiedi agli sviluppatori di componenti di aggiornare i loro componenti.
  • Utilizzare i componenti così come sono senza la soluzione di database diviso.
  • Rimuovere i componenti in modo da poter utilizzare la soluzione di database suddiviso.

Ciò significa anche che è possibile:

  • Configurare la soluzione di database suddiviso prima di Commerce in produzione.

    L'Adobe consiglia di configurare i database suddivisi il prima possibile dopo l'installazione del software Commerce.

  • Configura manualmente la soluzione di database diviso.

    È necessario eseguire questa attività se sono già stati installati i componenti o se Commerce è già in produzione. (Do not aggiornare un sistema di produzione; apportare gli aggiornamenti in un sistema di sviluppo e sincronizzare le modifiche dopo averle testate.)

    note warning
    WARNING
    È necessario eseguire manualmente il backup delle due istanze di database aggiuntive. Commerce esegue il backup solo dell'istanza di database principale. Il magento setup:backup --db nelle opzioni Command e Admin non viene eseguito il backup delle tabelle aggiuntive.

Prerequisiti

Il database diviso richiede l'impostazione di tre database master MySQL su qualsiasi host (tutti e tre sul server Commerce, ogni database su un server separato e così via). Queste sono le principale e vengono utilizzati come segue:

  • Un database master per le tabelle di estrazione
  • Un database principale per le tabelle di vendita (denominato anche Sistema di gestione ordini, o OMS, tabelle)
  • Un database master per le altre tabelle applicazioni di Commerce 2

Inoltre, è possibile impostare un numero qualsiasi di schiavo database che fungono da load balancer e backup.

In questa guida viene descritto come impostare solo i database master. Se lo si desidera, vengono forniti esempi di configurazioni e riferimenti per l'impostazione di database slave.

In questa guida vengono denominati i tre database principali:

  • magento_quote
  • magento_sales
  • magento

È possibile assegnare ai database qualsiasi nome si desideri.

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