Notas: Optimización y desnormalización del modelo de datos en Active Record
Ponente: Fernando Blat
Caso
Explicación del proceso seguido por La Coctelera para mejorar la eficiencia de los tags.
El problema se debía a que el plugin de Tags de ruby generaba demasiadas consultas a la BBDD, con el gran proceso que conlleva.
Solución
- desnormalización del modelo, añadiendo nuevas tablas no relacionadas, de manera que se pueda consultar una única
- uso de observers y callbacks sobre el modelo de datos
- callbacks
- MySQL: Engine=Memory, tablas ultrarápidas vigente durante la sesion de MySQL
- casos de prueba sobre modelos normalizados y callbacks
Conclusiones
- Cuidado con ActiveRecord y el nº de consultas que genera
- Vigilar logs (plugins) y cuellos de botella
- Empezar con un modelo desnormalizado bien definido
- Testear
Esta entrada fué escrita el Domingo, 26 Noviembre 2006 a las 5:03 y etiquetada con Desarrollo Web. Puedes seguir lo comentarios en el feed RSS 2.0. Deja tu comentario, o traza desde tu sitio web.


Tu comentario
Se requieren los campos indicados. El email nunca se publica o distribuye.
Puedes usar algo de HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>Las URIs deben esta cualificadas (ej: http://www.nombredominio.com) y las etiquetas cerradas convenientemente.
Los párrafos y saltos de línea se convierten automágicamente.