9 puntos por yunyun0505 2023-07-14 | 2 comentarios | Compartir por WhatsApp

Un caso de mejora de un servicio de búsqueda con una ingeniería ajustada al contexto, sin excesos.

Identificación del problema

  • Servicio de búsqueda cada vez más lento
  • Identificación de la complejidad causada por el uso de Join y expresiones regulares para la búsqueda

Estrategia de resolución

  • Al principio se consideró usar Elasticsearch
  • Había un problema de costos porque era necesario manejar sincronización en tiempo real con la DB principal y una gran cantidad de datos de conservación permanente
  • Se construyó una tabla simplificada dedicada a búsqueda y se armó la consulta de búsqueda
  • Se aplicó un trigger de MySQL para cargar los datos

Resultados

  • Una consulta que tardaba 3 minutos se redujo a 2 segundos
  • Entrega rápida de valor al cliente con una ingeniería sin excesos

2 comentarios

 
neidn 2023-07-20

Parece que aplicaron el método de crear varias tablas para un mismo conjunto de datos y separar sus usos, algo que se usa al construir sitios grandes con mucho tráfico.
A veces se divide en dos, por ejemplo para clientes y para administradores, pero este parece ser un buen caso de aplicación al definir un uso específico para búsqueda.

 
cosine20 2023-07-19

No sé mucho del área de bases de datos, así que cuando leo este tipo de artículos informativos me parecen sorprendentes y entretenidos.