Unire tabelle con Envision
Quando si tratta di ottimizzazione della supply chain, è importante affrontare le sfide, minimizzando al contempo la quantità di distorsione della realtà che viene introdotta nel processo. Gli strumenti dovrebbero accogliere la sfida così com’è, invece di distorcerla per farla rientrare negli strumenti.
Due anni fa, abbiamo introdotto Envision, un linguaggio specifico di dominio, concepito esattamente come un modo per gestire la gamma incredibilmente diversificata di situazioni che si trovano nella supply chain. Fin dal primo giorno, Envision offriva un’espressività programmatica che rappresentava un notevole passo avanti rispetto agli strumenti tradizionali di supply chain. Tuttavia, questa flessibilità era ancora limitata dal punto di vista adottato da Envision sui dati della supply chain.
Alcuni mesi fa, abbiamo introdotto un meccanismo generico di JOIN in Envision. Envision non è più limitato dai join natural come inizialmente, e offre la possibilità di elaborare una gamma molto più ampia di dati tabellari. Nella supply chain, le join arbitrarie tra tabelle sono particolarmente utili per gestire complessi scenari come il multi-sourcing, le compatibilità unidirezionali, i multi-canali, ecc.
Per i lettori che potrebbero già avere familiarità con SQL, unire le tabelle può sembrare un’operazione piuttosto elementare; tuttavia, in SQL, combinare complesse operazioni numeriche con le join delle tabelle porta rapidamente a un codice sorgente che risulta oscuro e verboso. Inoltre, unire tabelle di grandi dimensioni solleva numerosi problemi di prestazioni che devono essere affrontati con attenzione, sia modificando le query SQL stesse, sia adattando il database attraverso l’introduzione di table indexes.
Uno degli obiettivi principali del design di Envision era rinunciare a qualche capacità di SQL in cambio di un overhead di codifica molto inferiore nell’affrontare le sfide della supply chain optimization. Di conseguenza, il Envision iniziale si basava esclusivamente sui join natural, che eliminavano quasi completamente l’overhead di codifica associato alle operazioni di JOIN, come avviene solitamente in SQL.
I natural join hanno comunque i loro limiti, e li abbiamo superati introducendo la sintassi left-by in Envision. Attraverso le istruzioni left-by, diventa possibile unire tabelle arbitrarie all’interno di Envision. Sotto il cofano, Envision si occupa di creare indici ottimizzati per mantenere i calcoli veloci anche quando si tratta di file di dati giganteschi.
Da un punto di vista puramente sintattico, il left-by è un’aggiunta minore al linguaggio di Envision; tuttavia, dal punto di vista della supply chain, questa singola funzionalità ha migliorato significativamente la capacità di Lokad di gestire le situazioni più complesse.
Se non hai un Supply Chain Scientist in-house che sia anche un esperto di supply chain, noi ce l’abbiamo. Lokad può fornire un servizio end-to-end in cui ci occupiamo di implementare la tua supply chain solution.