Requerimientos
Last updated
Last updated
Frontend: cuando se están desarrollando vistas en D3JS, es importante que se verifiquen las versiones que se usan, de modo tal que, al escribir código, no se presente error de incompatibilidad por utilizar versiones distintas (dependiendo de la versión cambian ciertas sintaxis al utilizar la librería).
Backend: con la integración entre MongoDB y CubeJS se corre un riesgo de estabilidad al momento de salida a producción. En este sentido, una de las soluciones adoptadas por la organización para mitigar este riesgo es conectar CubeJS con un nodo PostgreSQL definido dentro de la infraestructura del lago de datos Cloudera de la Comisión de la Verdad.
CubeJS es una tecnología nueva. En este sentido, y debido a que la comunidad no es muy grande, la documentación que existe es poca; esto ocasiona que la curva de aprendizaje sea lenta. Esta limitante es la que conlleva a utilizar PostgreSQL en lugar de MongoDB, en tanto la integración entre ambas tecnologías (MongoDB y CubeJS) es nueva y poco confiable.
Es importante que, al realizar una visualización, se tenga un dataset normalizado y consistente en su estructura, cantidad de registros y cantidad de variables que se necesitan. La generación de estos dataset puede hacerse mediante tareas de preprocesamiento, con herramientas como R o Python, con el fin de no trabajar directamente en la fuente de datos (la fuente en crudo).
De no tener dataset consistentes y normalizados, al correr las visualizaciones, pueden presentarse inconvenientes en el funcionamiento de las plataformas (rendimiento, por ejemplo), debido al consumo importante de recursos que implica trabajar con la fuente en crudo. Puede solucionarse, a nivel de infraestructura, mejorando los requerimientos de máquina, pero no se considera una buena práctica.
Se recomienda estandarizar tareas de preprocesamiento para normalizar dataset y no trabajar con la fuente en crudo.
Adicional a los dataset, debe definirse qué visualizaciones requieren información en tiempo real y cuáles no. Este proceso puede optimizar el cargue de tableros y el consumo de recursos en máquina.
La máquina que está consultando debe tener una buena conexión a internet y unos mínimos en memoria RAM para que el rendimiento, en la consulta, sea más óptimo; no obstante, no hay una limitación importante al respecto. Adicionalmente, algunas pantallas tienen un tamaño menor y esto puede hacer que los filtros y algunas vistas no alcancen a observarse en el primer plano.
Se recomienda implementar vistas bajo la metodología Responsive Web Design, con el fin de que las visualizaciones se adapten y sean accesibles desde cualquier máquina, independiente del tamaño y resolución de las pantallas.