Como en todo proyecto de sistemas, la etapa de diseño es clave para el resultado final del entregable, no sólo en cuanto a llegar a tiempo con la implementación de la solución, sino en cuanto a la calidad de la misma. Con calidad nos referimos no sólo a la visión funcional sino también a su performance, a su rendimiento, a su escalabilidad, etc.
Por lo tanto, dedicarle el tiempo necesario, hacerlo con una mirada global y estratégica y luego tomar buenas decisiones de diseño, impactan en los pasos siguientes del desarrollo, en el funcionamiento y en la evolución y mantenimiento del mismo. Para el caso de las recargas de datos en tableros analíticos, tomar buenas decisiones de diseño, impactan directamente en el tiempo de codificación de esa recarga y los tiempos de ejecución de esta. Para el desarrollador será mucho menor el tiempo que demorará en armarla, y minimizará la posibilidad de errores en la codificación.
Para el usuario final de las aplicaciones, tableros en nuestro caso, reducirá en el día a día el TTM (time to market) de sus datos y métricas, ya que los tableros tardarán menos en estar actualizados. Esto lleva a un impacto positivo en su toma de decisiones, y en las acciones de negocio que se desencadenan en el día a día a partir de los hallazgos que detecte desde el tablero.
No hay una regla única de diseño detallado para las recargas de las aplicaciones (tableros) que realizamos con Qlik, ya que hay que analizar la situación actual de la arquitectura (aplicaciones, infraestructura y necesidades funcionales de cada caso) pero sí hay mejores prácticas que pueden ser conceptualizadas bajo estos lineamientos a seguir, y debemos distinguir lo siguiente:
- Existen pasos en la recarga que sí o sí deberán ser secuenciales: para los casos que nos encontremos con dependencias técnicas y/o funcionales que deberán ser respetados a la hora de realizar la recarga. Por eso, habrá que considerar si en el diseño y solución existen requerimientos que a nivel datos impliquen cierto orden / secuencia de carga que sí o sí deban ser respetados. Estas instancias de recarga se diseñarán y desarrollarán en forma secuencial.
- Existen otras situaciones, como aplicaciones que no tienen dependencias, que habilitan a paralelizar pasos de recarga. Aquí está el foco central en el que se apalanca la optimización, ya que se desarrollarán de forma conjunta esos pasos de recarga una vez sola, y al momento de la ejecución en el día a día, también ocurrirán de forma simultánea ahorrándose mucho tiempo y dejándose disponibles las aplicaciones con los datos actualizados brindando una mejor experiencia al usuario.
Por lo tanto, los principales beneficios de la paralelización son:
- Reducción del código y por ende, de los tiempos de desarrollo, ya que se desarrolla una vez sola todos los eventos necesarios (carga, envío de mail/alarmas, etc.) para todas las aplicaciones involucradas en la paralelización.
- Reducción del tiempo de ejecución de la recarga ya que se están ejecutando a la vez "n" eventos. El usuario podrá contar con su actualización en menos tiempo.
- Reducción del tiempo que se están comprometiendo recursos asociados a las fuentes de datos, ya que se reducen los tiempos en que Qlik se vincula con la fuente para realizar la recarga.
Métricas que sustentan los beneficios:
- El tiempo (ver gráfico debajo): Baja considerablemente el tiempo de recarga.
- Esto aplica tanto para cloud como para on premise.
Ventajas:
- Reutilización del código, mismo desarrollo para varias recargas a la vez
- Eficiencia / optimización: de tiempos de desarrollo, de disponibilidad de las aplicaciones actualizadas con las recargas, de liberación del sistema fuente proveedor del dato
- Minimización de riesgos
Otro tema para considerar bajo este esquema de
mejores prácticas para recargas automáticas –y que potencia los beneficios mencionados– es configurar el
envío de alertas para posibles puntos de falla, para detectarlos y corregirlos en tiempo, si no afecta a la actualización de las aplicaciones y su impacto al usuario final.
Por útlimo, ara sustentar con datos (como toda organización Data Driven) lo antes expuesto, y los beneficios vinculados en los tiempos de ejecución, a continuación, presentamos en forma gráfica una explicación sobre los hitos de ETL, las opciones para su diseño y ejecución, y
marcamos sobre el gráfico los cambios que realizamos de diseño de solución entre una versión inicial de una aplicación en Qlik y las mejoras obtenidas en los KPIs de tiempos de ejecución al modificarla, bajo la solución optimizada.