Visão geral da solução de banco de dados dividido

NOTE
Esse recurso está disponível somente para instâncias do Adobe Commerce.
IMPORTANT
O recurso de banco de dados dividido foi descontinuado na versão 2.4.2 do Adobe Commerce. Consulte Reverter de um banco de dados dividido para um único banco de dados.

O Adobe Commerce oferece várias vantagens de escalabilidade, incluindo a capacidade de usar três bancos de dados principais separados para diferentes áreas funcionais do aplicativo Commerce.

Os dados de check-out, pedidos e produtos podem usar um banco de dados mestre separado que você pode replicar opcionalmente. Essa separação dimensiona independentemente a carga de check-outs do site, atividades de gerenciamento de pedidos, navegação no site e atividades de merchandising, dependendo das suas necessidades. Essas alterações fornecem flexibilidade considerável na maneira como o nível do banco de dados pode ser dimensionado.

INFO
A infraestrutura do Adobe Commerce na nuvem não oferece suporte a esse recurso.

A classe ResourceConnections fornece a conexão de banco de dados MySQL unificada com o aplicativo Commerce. Para consultas aos bancos de dados mestres, implementamos o padrão de banco de dados Command Query Responsibility Segregation (CQRS). Esse padrão lida com a lógica do roteamento de consultas de leitura e gravação para os bancos de dados apropriados. Os desenvolvedores não precisam saber qual configuração está sendo usada e não há conexões separadas de banco de dados de leitura e gravação.

Se você configurar a replicação opcional do banco de dados, obterá as seguintes vantagens:

  • Backup de dados
  • Análise de dados sem afetar o banco de dados mestre
  • Escalabilidade

Os bancos de dados MySQL são replicados de forma assíncrona, o que significa que os escravos não precisam ser conectados permanentemente para receber atualizações do mestre.

A figura a seguir mostra como esse recurso funciona.

O Adobe Commerce usa bancos de dados diferentes para armazenar tabelas

No Magento Open Source, somente um banco de dados mestre é usado.

O Adobe Commerce usa três bancos de dados mestre e um número configurável de bancos de dados escravos para replicação. O Adobe Commerce tem uma única interface para conexões de banco de dados, resultando em desempenho mais rápido e melhor escalabilidade.

Opções de configuração

Devido ao modo como a solução de desempenho de banco de dados dividido foi criada, o código personalizado e os componentes instalados não podem executar um dos seguintes procedimentos:

  • Gravar diretamente no banco de dados (em vez disso, você deve usar a interface de banco de dados do Adobe Commerce)
  • Usar JOINs que afetam os bancos de dados de vendas ou cotação
  • Usar chaves estrangeiras para tabelas no check-out, vendas ou bancos de dados principais
WARNING
Entre em contato com os desenvolvedores de componentes para verificar se seus componentes fazem qualquer uma das ações anteriores. Em caso afirmativo, você deve escolher apenas um dos seguintes:
  • Peça aos desenvolvedores de componentes que atualizem seus componentes.
  • Usar os componentes como estão sem a solução de banco de dados dividido.
  • Remova os componentes para que você possa usar a solução de banco de dados dividido.

Isso também significa que você pode:

  • Configure a solução de banco de dados dividido antes de colocar o Commerce em produção.

    A Adobe recomenda configurar bancos de dados divididos assim que possível após a instalação do software Commerce.

  • Configurar manualmente a solução de banco de dados dividido.

    Execute essa tarefa se já tiver instalado componentes ou se o Commerce já estiver em produção. (Não atualize um sistema de produção; faça as atualizações em um sistema de desenvolvimento e sincronize as alterações depois de testá-las.)

    note warning
    WARNING
    Você deve fazer backup das duas instâncias adicionais do banco de dados manualmente. O Commerce faz backup somente da instância do banco de dados principal. O comando magento setup:backup --db e as opções de Admin não fazem backup das tabelas adicionais.

Pré-requisitos

O banco de dados dividido requer que você configure três bancos de dados mestre MySQL em qualquer host (todos os três no servidor Commerce, cada banco de dados em um servidor separado e assim por diante). Estes são os bancos de dados mestre e são usados da seguinte maneira:

  • Um banco de dados mestre para tabelas de check-out
  • Um banco de dados mestre para tabelas de vendas (também conhecido como Sistema Order Management ou OMS, tabelas)
  • Um banco de dados mestre para o restante das tabelas de aplicativos do Commerce 2

Além disso, você pode, opcionalmente, configurar qualquer número de bancos de dados escravos que sirvam como backups e balanceadores de carga.

Este guia discute como configurar somente os bancos de dados mestres. Fornecemos exemplos de configurações e referências para que você possa configurar bancos de dados subordinados, se desejar.

Neste guia, os três bancos de dados mestres são nomeados como:

  • magento_quote
  • magento_sales
  • magento

(Você pode dar aos seus bancos de dados o nome que desejar.)

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