Uniendo tablas con Envision
Cuando se trata de optimización de supply chain, es importante abordar los desafíos mientras se minimiza la cantidad de distorsión de la realidad que se introduce en el proceso. Las herramientas deben abrazar el desafío tal como es en lugar de distorsionarlo para que se ajuste a las herramientas.
Hace dos años, presentamos Envision, un lenguaje específico de dominio, precisamente diseñado como una manera de adaptarse a la increíblemente diversa gama de situaciones encontradas en supply chain. Desde el primer día, Envision ofrecía una expresividad programática que supuso un avance significativo en comparación con las herramientas tradicionales de supply chain. Sin embargo, esta flexibilidad aún estaba limitada por el punto de vista real asumido por el propio Envision sobre los datos de supply chain.
Hace unos meses, introdujimos un mecanismo genérico de JOIN en Envision. Envision ya no está limitado por los natural joins como lo estaba inicialmente, y ofrece la posibilidad de procesar una gama mucho más amplia de datos tabulares. En supply chain, los joins arbitrarios entre tablas son particularmente útiles para abordar complejos scenarios tales como multi-sourcing, compatibilidades unidireccionales, multi-channels, etc.
Para los lectores que ya puedan estar familiarizados con SQL, unir tablas se siente como una operación bastante elemental; sin embargo, en SQL, combinar cálculos numéricos complejos con joins de tablas termina rápidamente dando lugar a un código fuente que resulta oscuro y verboso. Además, unir tablas grandes también genera bastantes problemas de rendimiento que deben abordarse cuidadosamente, ya sea ajustando las propias consultas SQL o modificando la base de datos mediante la introducción de table indexes.
Uno de los objetivos de diseño clave para Envision fue renunciar a algunas de las capacidades de SQL a cambio de una sobrecarga de codificación mucho menor al enfrentar desafíos de optimización de supply chain. Como resultado, el Envision inicial se basaba únicamente en natural joins, lo que eliminó casi por completo la sobrecarga de codificación asociada a las operaciones JOIN, tal como se hace habitualmente en SQL.
Los natural joins tienen sus límites, sin embargo, y los superamos al introducir la sintaxis left-by en Envision. Mediante declaraciones left-by, es posible unir tablas arbitrarias dentro de Envision. Bajo el capó, Envision se encarga de crear índices optimizados para mantener los cálculos rápidos incluso cuando se trata de archivos de datos giganormosos.
Desde una perspectiva puramente sintáctica, el left-by es una adición menor al lenguaje de Envision; sin embargo, desde una perspectiva de supply chain, esta única característica mejoró significativamente la capacidad de Lokad para abordar las situaciones más complejas.
_Si no cuentas con un data scientist interno que, además, sea un experto en supply chain, nosotros sí. Lokad ofrece un servicio integral en el que nos encargamos de implementar tu supply chain solution.