9 pontos por yunyun0505 2023-07-14 | 2 comentários | Compartilhar no WhatsApp

Este é um caso de melhoria de um serviço de busca com uma engenharia adequada ao contexto, sem excessos.

Reconhecimento do problema

  • Serviço de busca ficando mais lento
  • Identificação de problemas de complexidade causados pelo uso de Join e expressões regulares para busca

Estratégia de solução

  • Inicialmente, considerou-se usar Elasticsearch
  • Havia questões de custo, já que era necessário lidar com sincronização em tempo real com o banco de dados principal e com um grande volume de dados de preservação permanente
  • Foi criada uma tabela simplificada dedicada à busca e construída a consulta de busca
  • Aplicação de MySQL Trigger para carregamento dos dados

Resultados

  • Uma consulta que levava 3 minutos foi reduzida para 2 segundos
  • Entrega rápida de valor ao cliente com uma engenharia sem excessos

2 comentários

 
neidn 2023-07-20

Parece que aplicaram a abordagem de criar várias tabelas para um mesmo dado e separar seus usos, algo usado na construção de sites de grande porte com muito tráfego.
Às vezes se divide em duas, como para cliente e para administrador, mas aqui é um bom caso de aplicação ao definir um uso específico para busca.

 
cosine20 2023-07-19

Não entendo muito da área de bancos de dados, então acho fascinante e divertido ler textos informativos como este.