Skip to main content
Esta guía forma parte de una recopilación de aprendizajes surgidos en encuentros de la comunidad. Para ver más soluciones y experiencias reales, puedes explorar por problema específico. ¿Demasiadas partes están ralentizando tu base de datos? Consulta la guía de la comunidad sobre Too Many Parts. Más información sobre vistas materializadas.

El antipatrón de almacenamiento 10x

Problema real en producción: “Teníamos una vista materializada. La tabla de logs sin procesar ocupaba unos 20 GB, pero la vista basada en esa tabla de logs creció hasta 190 GB, es decir, casi 10 veces el tamaño de la tabla sin procesar. Esto ocurrió porque estábamos creando una fila por atributo y cada log puede tener 10 atributos.” Regla: Si tu GROUP BY crea más filas de las que elimina, estás creando un índice costoso, no una vista materializada.

Verificación del estado de la vista materializada en producción

Esta consulta te ayuda a prever si una vista materializada comprimirá tus datos o hará que se disparen antes de crearla. Ejecútala sobre tu tabla y tus columnas reales para evitar el escenario de la “explosión de 190 GB”. Qué muestra:
  • Ratio de agregación bajo (<10%) = Buena MV, compresión significativa
  • Ratio de agregación alto (>70%) = Mala MV, riesgo de explosión del almacenamiento
  • Multiplicador de almacenamiento = Cuánto más grande o más pequeña será tu MV

Cuando las vistas materializadas se convierten en un problema

Señales de advertencia que conviene vigilar:
  • Aumenta la latencia de inserción (las consultas que tardaban 10 ms ahora tardan 100 ms o más)
  • Los errores “Too many parts” aparecen con más frecuencia
  • Picos de CPU durante las operaciones de inserción
  • Timeouts en las inserciones que antes no se producían
Puedes comparar el rendimiento de inserción antes y después de añadir MVs usando system.query_log para seguir la evolución de la duración de las consultas.

Fuentes en video

Última modificación el 29 de junio de 2026