Unire tabelle con Envision
Quando si tratta di ottimizzazione della supply chain, è importante affrontare le sfide riducendo al minimo la distorsione della realtà che viene introdotta nel processo. Gli strumenti dovrebbero accogliere la sfida così com’è anziché distorcerla per farla rientrare negli strumenti.
Due anni fa, abbiamo introdotto Envision, un linguaggio di dominio specifico, appositamente concepito come un modo per affrontare la straordinaria varietà di situazioni presenti nella supply chain. Fin dal primo giorno, Envision offriva una espressività programmabile che rappresentava un passo significativo avanti rispetto agli strumenti tradizionali per la supply chain. Tuttavia, questa flessibilità era ancora limitata dal punto di vista effettivo assunto da Envision stesso sui dati della supply chain.
Alcuni mesi fa, abbiamo introdotto un meccanismo di JOIN generico in Envision. Envision non è più limitato dalle join naturali come inizialmente, ma offre la possibilità di elaborare una gamma molto più ampia di dati tabulari. Nella supply chain, le join arbitrarie tra tabelle sono particolarmente utili per gestire scenari complessi come il multi-sourcing, le compatibilità unidirezionali, i multi-canali, ecc.
Per i lettori che potrebbero già essere familiari con SQL, l’unione di tabelle sembra un’operazione piuttosto elementare; tuttavia, in SQL, combinare calcoli numerici complessi con le join delle tabelle finisce rapidamente per generare codice sorgente che appare oscuro e verboso. Inoltre, l’unione di tabelle di grandi dimensioni solleva anche parecchie problematiche di prestazioni che devono essere affrontate con attenzione, sia mediante l’aggiustamento delle query SQL stesse, sia mediante l’aggiustamento del database stesso tramite l’introduzione di indici di tabella.
Uno degli obiettivi di progettazione chiave di Envision era quello di rinunciare a alcune delle capacità di SQL in cambio di un overhead di codifica molto più basso quando si affrontano sfide di ottimizzazione della supply chain. Di conseguenza, l’Envision iniziale si basava esclusivamente su join naturali, il che eliminava quasi interamente l’overhead di codifica associato alle operazioni di JOIN, come avviene di solito in SQL.
Le join naturali hanno i loro limiti, tuttavia, e noi abbiamo superato questi limiti introducendo la sintassi left-by in Envision. Attraverso le istruzioni left-by, diventa possibile unire tabelle arbitrarie all’interno di Envision. Nel frattempo, Envision si occupa di creare indici ottimizzati per mantenere i calcoli veloci anche quando si lavora con file di dati enormi.
Dal punto di vista della sintassi pura, il left-by è un’aggiunta minore al linguaggio Envision, tuttavia, dal punto di vista della supply chain, questa singola funzionalità ha significativamente migliorato la capacità di Lokad di gestire le situazioni più complesse.
_Se non hai un data scientist in azienda che sia anche un esperto di supply chain, noi lo abbiamo. Lokad può fornire un servizio completo in cui ci occupiamo di implementare la tua soluzione di supply chain.