En el mundo de IT, la optimización de los recursos juega un papel muy importante a la hora de realizar aplicaciones de todo tipo. Podemos alcanzar el mayor rendimiento posible con tan sólo algunas buenas prácticas. Qlik también tiene las suyas, recursos tales como uso de memoria, tiempo de cálculo y carga pueden mejorar exponencialmente con varios tips que hoy presentamos en esta nota.
La optimización del rendimiento debe estar presente en todas las etapas del proceso de creación de una App, cada una de estas etapas tiene su propio responsable con un objetivo particular dentro del proyecto. Es su tarea realizar el mejor trabajo posible, y eso implica no sólo alcanzar el objetivo si no también realizarlo de la mejor manera.
Pero, en definitiva, ¿a qué debemos apuntar al realizar una mejora en Qlik? A tiempos de carga y cálculo más cortos, a una disminución de complejidad en el modelo de datos, entre otros. A continuación, les presentamos los beneficios que traen estas optimizaciones para cada perfil.
En los usuarios, tiempos de carga y cálculo más cortos habilitan la posibilidad de hacer recargas más frecuentes y en consecuencia se obtendrán datos más actualizados. Datos más actualizados suponen análisis y decisiones más rápidas.
En cuanto a los desarrolladores, sabemos que la refactorización y testeo son esenciales a la hora de programar. La recarga de datos optimizada les permite hacer cambios y testear los mismos de manera más eficiente.
Por último, tenemos a los administradores, quienes monitorean el proceso de cerca y seguramente se alegrarán al saber que un menor tiempo de carga disminuye la probabilidad de fallos de archivos y tareas a lo largo del flujo de trabajo.
Bueno ¿y qué sucede con el modelo de datos? ¿De qué nos sirve tener un modelo de datos más simple? Muchas veces la complejidad se asocia con mejoría y la realidad de los que trabajan en IT es totalmente opuesta. La simplicidad es a dónde queremos llegar y el trabajo más arduo. Cuando hablamos de simplicidad, no hablamos de “menor cantidad de datos”, nos referimos a cómo está construido, qué funciones se utilizan, si se utilizan claves únicas, eliminar los campos que no se utilizan para el análisis, etc.
Es más, cargar la mayor cantidad de datos en una aplicación, es la forma más simple que tienen los usuarios de analizar el flujo de negocio y la manera más fácil para el desarrollador de mantener la arquitectura. Y como hablamos de usuarios y desarrolladores, también hablamos de administradores: toda esta disminución de complejidad significa un menor impacto en el servidor.
A continuación, presentamos una serie de tips para mejorar la performance de tu aplicación asociados a las distintas etapas de desarrollo:
- Consultas a bases de datos
- Refinar la consulta para extraer únicamente lo que realmente se necesita de grandes tablas, una vez terminado el desarrollo.
- Si es significativo, realizar cargas incrementales extrayendo únicamente registros nuevos y actualizados, utilizando una key única o la fecha y hora de actualización.
- Extraer únicamente los registros de los últimos n días o meses, utilizando la fecha de orden/venta/compra etc.
- Modelado de datos:
- No levantar campos que no se necesiten luego en la interfaz de usuario o análisis.
- Utilizar AUTONUMBER para transformar claves únicas a formato numérico. Esto previene que Qlik cree una tabla de símbolos para identificar las claves.
- Remover los valores de campos distintos lo más que se pueda. Por ejemplo, sacando la hora de los campos de fecha, agrupando datos no significativos en “Otros”, etc.
- Remover registros que no tienen datos asociados con la función Exists().
- Cálculos en el modelado de datos y en las hojas
- Evitar dimensiones calculadas.
- Evitar el If y el Pick para expresiones dinámicas
- Evitar usar aggr()
- Utilizar datos numéricos en los set analysis
Si te gustó este artículo y querés saber más sobre Qlik o sobre nuestros
servicios de desarrollo y coaching analítico, escribinos a info@iq4b.com