Quem nunca passou por algum problema relacionado ao banco de dados?! Esse problema é muito comum e pode ter muitas causas, é comum versionarmos apenas o código então quando quando ocorre um erro no banco de dados pode se levar um bom tempo para resolver ou mesmo a perca de clientes cadastrados, contatos feitos e até vendas, por isso trago para vocês hoje algumas dicas para evitar essa dor de cabeça.

1. Backups regulares

Essa é a primeira e mais importante dica, se você ainda não faz backups regulares comece a fazer, a maioria das hospedagens oferecem o serviço de backup automático, muita gente não sabe mas o Magento tem uma opção de backups automáticos também, como você pode ver na imagem abaixo.

Backup do banco de dados automático no Magento 2

Para fazer backup manual via CLI eu uso o comandos abaixo, esse abaixo é para um backup quase total, não exportando apenas os reports.

Magento 2 CLI backup do banco de dados via terminal

2. Otimizando Query

As vezes a lentidão pode ser causada apenas para pelo uso de módulos de terceiros ou temas com más práticas aplicadas. Você pode detectar e mensurar o uso de query usando ferramentas mencionadas no post 3 Melhores Devtools para Magento 2 ou usando ferramentas como NewRelic e Blackfire que já são nativas no Magento Commerce (Enterprise Edition).

Magento 2 Adm Developer Quickbar

3. Verificação e reparação periódica

Você pode usar ou montar seus scripts configurados via CRON, ou executar manualmente via Magento CLI e Magerun.

Magento 2 verificação do banco de dados

4. Desligar e reiniciar serviços

Evite que os servidores SQL sejam reiniciados de forma abrupta, realizando manutenção planejada e monitorando as conexões e usuários para evitar perca de dados.

5. Servidor SQL atualizado e otimizado

Ao ajustar servidores SQL para alto desempenho, limitando as conexões e ativando conexões persistentes, evitando assim corrupções no banco de dados. Você pode ver algumas configurações que uso no artigo 7 Dicas para otimizar seu Magento 2, juntamente com o ajuste periódico da configuração, também mantenha o servidor atualizado para a versão estável mais recente para evitar um exploit.

6. Compacte o tamanho do seu banco de dados

Para deixar o banco de dados melhor distribuídos eu recomendo usar mais de um servidor Redis, use um outro servidor Redis apenas para suas sessões, falo rapidamente sobre isso no artigo Magento 2 + Docker no Mac e Linux.

Também recomendo o uso do Media Storage como File System, como na imagem abaixo.

Magento 2 Media Storage

Obrigado

Espero que tenha gostado das dicas, você conhece alguma outra dica importante que merecia ser adicionada ou não conhecia alguma dessas? Me fale nos comentários.