Quelles différences entre Data Blending, Data Fusion, Data Merging et Data Join ?
Quelles sont les différences entre Data Blending, Data Fusion, Data Merging et Data Join ? Cet article vise à distinguer les concepts sous-tendus par ces termes.
Le Big Data, l’analytique et le machine learning engendre l’émergence de nouveaux concepts. Les experts utilisent couramment des expressions par lesquelles ils se font ou espèrent se faire comprendre par leurs collaborateurs. À cela, s’ajoute une approche marketing qui, suivant l’importance du concept chez un éditeur, va déterminer l’utilisation d’un mot ou d’un groupe de mots auprès des clients.
Cet article tente de faire la différence entre quatre expressions liées à l’intégration, à la préparation (Data Preparation) et à l’exploration (Data Exploration) des données.
Nous cherchons à savoir quelle est la différence entre Data Fusion, Data Blending, Data Merging et Data Join. Au premier coup d’œil, difficile de différencier cette terminologie qui évoque la fusion, le mélange, la jonction et la confluence (au sens géographique ou géologique) des informations dans une base de données.
Selon Christophe Heng, Cloud Practice Manager chez Umanis, il faut remonter aux origines de l’ETL (Extraction Transformation Loading) pour comprendre ces termes.
« Quand nous avons commencé à traiter des données dans les années 1970-1980, l’ETL s’est imposé. Les techniciens amenaient les données d’un endroit à un autre et les transformaient au passage à l’aide du langage SQL », explique Christophe Heng. « Pour mettre les données sous forme de fichier .txt nous les transformions pour les mettre dans une table Oracle. Avec l’ELT, nous extrayions les fichiers, ils étaient chargés dans les tables, avant d’être transformés par le biais du langage SQL sans que ce soit visible pour l’utilisateur. Pendant très longtemps dans un pipeline BI, il y avait toujours la partie ETL/ELT avant la partie reporting ».
Quatre expressions, un même but
Les sources sont devenues de plus en plus hétérogènes sous des formats très différents (XML, images, textes, .CSV, etc.). « Les ETL traditionnels sont conçus pour fonctionner avec du traitement par lot. Avec le Big Data et le machine learning, donc l’avènement du flux et du temps réel, ils n’étaient plus armés », assure le Cloud Practice Manager d’Umanis. « De plus, nous sommes passés d’un chargement à l’aide d’une interface, l’ELT, et nous sommes revenus à de la programmation pure et dure ».
Selon Christophe Heng, cette pratique renvoie à la notion d’ingénierie de la donnée. Avec le machine learning, sont apparus des figures de proue dans l’entreprise : le data scientist et le data analyst. « Nous avons déjà vu la scission dans les projets entre les data engineers, les data scientists et les data analysts ». Celui qui s’occupe d’ingérer, de charger et de transformer les données à partir des demandes du data scientist, c’est le data engineer.
Les concepts que nous tentons de différencier dans cet article sont des émanations de cette différenciation entre ces trois postes.
Selon Christophe Heng, la différence entre les quatre expressions est ténue. Il s’agit globalement de rassembler des données dans un seul jeu. Les nuances dépendent ce que l’entreprise cherche, les données qu’elle emploie et si elles proviennent de différentes sources ou non.
Data Blending : des outils pour les métiers
Le Data Blending, c’est combiner plusieurs données qui proviennent de différentes sources et les placer dans un jeu de données unique ou un seul data warehouse. « Le blending répond au besoin de rassembler une grande diversité des sources. Cette pratique existait déjà avec les ETL, mais elle ne portait pas de nom », explique Christophe Heng. Cependant, il évoque davantage le travail des data analysts qui n’ont pas de compétence en ETL ou qui n’ont pas le temps de le faire de manière industrialisée. La notion décrit un ensemble d’outils conçus pour des populations moins techniques, des utilisateurs métiers qui peuvent utiliser des outils de Data Exploration, par exemple.
Data Fusion : la conceptualisation de l'intégration de données
L’expression data fusion renvoie à une dimension plus conceptuelle. Il s’agit de la procédure d’intégration de données en provenance de sources multiples afin de produire des informations plus consistantes utiles, et précises que si les tables étaient séparées.
Dans la documentation de Tableau, elle est définie comme telle :
« La fusion des données est une méthode permettant de combiner des données issues de plusieurs sources. La fusion des données intègre des informations supplémentaires provenant d'une source de données secondaire et les affiche avec les données de la source de données principale directement dans la vue. Contrairement aux jointures, la fusion des données garde les sources de données séparées et affiche simplement leurs informations ensemble ».
Techniquement, chez Tableau, il s’agit de comparer ou d’associer une source de données principale avec une ou plusieurs sources secondaires. Il est préférable que les informations aient des dimensions communes.
Selon Christophe Heng, la notion de Data Fusion comporte une dimension plus technique.
Data Merging et Data Join : des opération techniques
Le Merging et le Join sont les actions techniques, les opérations SQL afin d’obtenir le résultat désiré pour la fusion ou le blending des données.
Concrètement, un « Merge » est une commande simplifiée qui contient plusieurs options de « Join ». Par extension, ces termes évoquent les concepts qui suivent.
Selon Christophe Heng, le Data Merging consiste à combiner et plusieurs données de différentes sources dans un data set ou un data warehouse. Avec le Data Join, il s’agit de combiner de plusieurs données provenant d’une même source pour les mettre dans un jeu de données unique.
Seulement, tous les éditeurs et développeurs ne sont pas forcément d’accord sur l’utilisation de la terminologie. « Les éditeurs ajoutent des expressions pour différencier leurs solutions », affirme le Cloud Pratice Manager chez Umanis. Elles peuvent également être des noms de commandes.
DisplayR, un éditeur d’un outil en direction des data Analyst, reprend à son compte l’explication concernant le Data Merging. Il s’agit bien de faire se rejoindre (ou rassembler) au sein d’une seule table, des données en provenance de sources diverses via des commandes SQL.
De son côté, Databricks évoque dans sa documentation technique les commandes « Merge Into » et « Join ». La première permet de gérer la déduplication des logs liés aux tables au sein d’un delta lake (le data lake/data warehouse de Databricks). La commande disponible en SQL, Scala et Python évite les doublons. En revanche, le Join correspond bien à la commande SQL (toutefois, l’opération fonctionnera mieux codée en Python).