Búsqueda rápida en grandes bases de datos
Ayer mismo comentaba con un cliente un problema típico que suele darse en tiendas virtuales cuando el catálogo de productos comienza a crecer de forma significativa. En concreto se trata de una tienda virtual que espera llegar a tener más de 1 millón de referencias disponibles en su catálogo. Y aquí la base de datos ya empieza a ser determinante.

bases de datos
Usando MySQL como motor de base de datos y un VPS o pequeño servidor dedicado (tener 1.000.000 de referencias en un hosting compartido me parecería algo ridículo), cuando el volumen de consultas (sobre todo búsqueda de referencias del catálogo) aumenta y son cientos de consultas simultáneas las que soporta el servidor, la velocidad se resiente. Y mucho. Soluciones tradicionales aparte (cambiar de motor de base de datos, aumentar la potencia del hosting contratado) le he comentado al cliente una solución alternativa. La idea es ofrecer una búsqueda rápida y otra búsqueda avanzada o completa. La búsqueda rápida sólo tendrá en cuenta las referencias más comunes, las más vendidas y consultadas por la tienda virtual (sobre el 10%-15% del total de referencias), y la búsqueda avanzada tendrá en cuenta el 100% del catálogo.
Con la adecuada programación se podría incluso comenzar una búsqueda completa en segundo plano mientras se muestran los resultados de la búsqueda rápida, aunque esto habría que estudiarlo detenidamente porque puede llegar a ser contraproducente. Actualmente estoy metido de lleno en esta optimización de recursos de bases de datos, y de momento los resultados están siendo satisfactorios. Ahora falta por determinar cómo marcar las referencias preferentes que aparecerán en la búsqueda rápida, seguramente a criterio del cliente. Aunque con un poco de imaginación se puede establecer un sistema de puntuación y favorecer las referencias más buscadas para que salgan con más asiduidad y relevancia en la búsqueda rápida. Como en Google ;)
Comentarios recientes