Joindre des tables avec Envision
Quand il s’agit d’optimisation de la supply chain, il est important de relever les défis tout en minimisant la distorsion de la réalité introduite dans le processus. Les outils doivent relever le défi tel qu’il se présente plutôt que de déformer le défi pour le faire correspondre aux outils.
Il y a deux ans, nous avons introduit Envision, un langage spécifique au domaine, destiné précisément à accommoder la gamme incroyablement diversifiée de situations rencontrées dans la supply chain. Dès le premier jour, Envision offrait une expressivité programmatique qui constituait une avancée significative par rapport aux outils traditionnels de la supply chain. Cependant, cette flexibilité était encore limitée par le point de vue réel adopté par Envision lui-même sur les données de la supply chain.
Il y a quelques mois, nous avons introduit un mécanisme de JOIN générique dans Envision. Envision n’est plus limité par les jointures naturelles comme c’était le cas initialement, et offre la possibilité de traiter une gamme beaucoup plus large de données tabulaires. Dans la supply chain, les jointures de table arbitraires sont particulièrement utiles pour accommoder des scénarios complexes tels que la multi-sourcing, les compatibilités unidirectionnelles, les multi-canaux, etc.
Pour les lecteurs qui connaissent déjà SQL, la jointure de tables semble être une opération plutôt élémentaire ; cependant, en SQL, la combinaison de calculs numériques complexes avec des jointures de tables aboutit rapidement à un code source qui semble obscur et verbeux. De plus, la jointure de grandes tables soulève également plusieurs problèmes de performance qui doivent être soigneusement résolus soit en ajustant les requêtes SQL elles-mêmes, soit en ajustant la base de données elle-même grâce à l’introduction d’index de table.
L’un des principaux objectifs de conception d’Envision était de renoncer à certaines des fonctionnalités de SQL en échange d’une surcharge de codage beaucoup plus faible lors de la résolution des défis d’optimisation de la supply chain. En conséquence, le Envision initial était basé uniquement sur les jointures naturelles, ce qui éliminait presque entièrement la surcharge de codage associée aux opérations JOIN, comme cela se fait généralement en SQL.
Les jointures naturelles ont leurs limites cependant, et nous avons levé ces limites en introduisant la syntaxe left-by dans Envision. Grâce aux instructions left-by, il devient possible de joindre des tables arbitraires dans Envision. En coulisse, Envision se charge de créer des index optimisés pour maintenir les calculs rapides même lorsqu’il s’agit de fichiers de données gigantesques.
D’un point de vue purement syntaxique, le left-by est un ajout mineur au langage Envision, cependant, d’un point de vue de la supply chain, cette fonctionnalité a considérablement amélioré la capacité de Lokad à accommoder les situations les plus complexes.
_Si vous n’avez pas de data scientist en interne qui est également un expert en supply chain, nous en avons. Lokad peut fournir un service de bout en bout où nous nous occupons de mettre en œuvre votre solution de supply chain.