De quel département êtes-vous ?

Vos informations générales

Quel est votre objectif ?

Quel est le nombre d'utilisateurs
pour votre projet ?

A quelle étape vous trouvez-vous actuellement ?

Quel est le délais de mise en place que vous souhaitez ?

Précédent

Déclenchez le signal !
Nous sommes les héros de Tableau Software, Microsoft Power BI et Alteryx ? Découvrez quelques unes de nos réalisations Let's rock ! Led Zeppelin et le basketball français en statistiques.

Maîtrisez votre temps !
Nous travaillons avec les outils Snowflake, Gathering Tools et Alteryx. Découvrez le retour de nos clientsOney Data et Keolis

Votre futur vous attend !

Découvrez notre Data Driven Journey et la solution Alteryx.

Rassemblons vos forces !

Découvrez notre Data Driven Journey et notre communauté. Renseignez-vous sur nos formation au Data-Universe.

Drive your insights!

Découvrez notre Communauté et nos réalisations Let's rock ! Led Zeppelin et la gestion d'une équipe de basketball en statistiques.

Évoluez à l'infini et au-delà !

Découvrez notre méthode exclusive : Data Driven Journey. Accédez à notre panel de formations.

05 Mar 2020.

Matillion : ELT clé pour le cloud !

Matillion : ELT clé pour le cloud !

La société Matillion a créé un outil de traitement de la donnée qui extrait les données, les charge dans une base de données puis les transforme.

Cet outil est dit ELT : Extract, Load and Transform. Contrairement à d’autres outils avec des utilisations similaires tels que Talend, Informatica PowerCenter ou Oracle Data Integrator, Matillion est 100% Cloud. Il n’y a donc aucun besoin d’installer un serveur. Il suffit simplement de louer une machine virtuelle via Amazon Web Services, Google Cloud Platform ou bien Microsoft Azure​​​​​​​.


Architecture globale de Matillion

ETL vs. ELT
Quelle(s) différence(s) ?

 

Pour comprendre comment fonctionne Matillion, il faut d’abord comprendre la différence entre un ELT et un ETL (Extract, Transform and Load).

Dans les deux approches, la première phase commune est l’extraction des données provenant d’une ou plusieurs sources. Les sources peuvent être diverses comme des fichiers plats, une API, une base de données, un ERP, etc. La différence entre ETL et ELT réside dans la seconde étape : contrairement à un ETL, un ELT charge directement les données dans l’entrepôt de données (Data Warehouse, DWH). Il insère les données de façon brute dans une partie de l’entrepôt qualifiée de base de Staging. Ainsi, les données sont dès la première étape dans la base de données cible qui servira à leur exploitation. Dans le cas d’un ETL, il faut généralement installer un serveur sur lequel est localisé l’outil de traitement des données. Dans ce cas, la donnée est d’abord chargée puis transformée et enfin insérée dans le Data Warehouse. Avec un ELT, la donnée est chargée une seule fois, puis elle est transformée.

Pour les transformations, un ETL utilise les ressources du serveur où il se situe ; il a donc besoin de sa propre puissance de calcul, indépendamment de celle allouée à la base de données – les traitements sont “externalisés”. De son côté, L’ELT utilise directement la puissance de calcul de la base de données puisque les traitements sont réalisés in situ, au sein même de la base de données cible. Les traitements sont écrits dans le langage propriétaire de la base de données (SQL) car la donnée ne quitte jamais la base. L’ELT utilise la base de données cible tel un outil pour réaliser les manipulations requises. Il mutualise les ressources de calculs pour les traitements, les expositions et le stockage.

 


ETL vs ELT

Comment utiliser
Matillion ?

 

L’utilisation de l’outil de traitement des données Matillion est simple. Depuis l’interface, on choisit des composants à déposer sur l’espace de travail. Ensuite, il suffit d’ordonner son besoin. Avec les différents composants de l’outil, il est ainsi possible de :

Modifier le modèle de données -> Créer/supprimer des tables par exemple ;
Charger des données -> Les données pouvant venir de bases de données, de fichiers, de mails, etc. ;
Transformer les données -> De nombreux composants permettent d’avoir une large possibilité de calculs ou de conversion de formats sur les données ;
Ecrire les données -> Il est possible d’insérer, de mettre à jour ou de supprimer des données ;
Gérer les flux de données -> La gestion des traitements est facile à mettre en place et aisé à ordonner ;
Etc.

 


Interface utilisateur

 

On peut voir que l’interface est composée de 5 parties :


1-
L’arborescence des Jobs créés ;
2- La liste des composants disponibles ;
3- L’espace de travail du Job ouvert ;
4- La zone des caractéristiques du composant sélectionné ;
5- Et enfin la liste d’exécution des tâches et des Logs.

 

Matillion propose ce que font plusieurs autres outils du marché (Informatica PowerCenter, Talend…) mais en ELT. Toutes les actions disponibles dans l’interface sont traduites en code SQL et sont transmises au Data Warehouse chargé d’exécuter ce même code. Matillion ne fait que générer le code SQL ; de ce fait, il ne peut pas fonctionner sans entrepôt de données. Matillion est l’orchestrateur des traitements et des transformations.

Ce qui différencie Matillion est qu’il est 100% Cloud et qu’il s’appuie exclusivement sur des solutions d’entrepôts de données dans le nuage informatique. Matillion facilite la connexion à ces entrepôts de données et permet de profiter de leurs avantages : puissance de calcul disponible à moindre coût, tarification sur mesure, couplage avec d’autres services également managés dans le Cloud.

Matillion se décline en trois solutions, toutes connectées à un service de Data Warehouse Cloud. Nous retrouvons ainsi :

Redshift d’Amazon Web Service ;
Big Query de Google Cloud Plateform ;
Et Snowflake, lequel peut se trouver sur Azure, Amazon Web Service et Google Cloud Plateform.

 


Data Warehouses Cloud compatibles avec Matillion

 

Ces solutions mettent à disposition différentes fonctionnalités propres aux services d’entrepôts de données concernés. Cela permet à l’utilisateur de pouvoir choisir sa version de Matillion en fonction de son hébergeur Cloud et de ses préférences ; chacun des entrepôts de données ayant ses avantages et ses inconvénients. En guise d’exemple, Snowflake gère l’auto-extinction des machines après un temps d’inactivité choisi par l’utilisateur depuis l’interface, ce qui permet une économie d’argent considérable contrairement à Redshift qui, pour le moment, ne le permet pas.

En outre, les trois solutions de Matillion possèdent exactement la même interface ; les composants d’orchestration et de traitement sont également les mêmes. Ils peuvent cependant se différencier par les fonctionnalités que chacun des trois entrepôts Cloud propose.

Les avantages de Matillion sont les suivants :

Solution managée dans le Cloud. Aucune installation requise ;
Il s’appuie sur des outils, plateforme de lancement et entrepôts de données, qui sont également dans le Cloud ;
Vitesses et puissances de calcul modulables et grandissantes ;
Prise en main possible par des équipes peu habituées aux technologies de traitement de la donnée ;
Une installation et une configuration rapides et faciles à partir des plateformes comme Azure ou AWS ;
Présentation très visuelle des projets.

Orchestration
des traitements
dans Matillion

 

Matillion possède 2 catégories de Jobs : les Jobs d’orchestration et ceux de transformation. Les Jobs d’orchestration s’utilisent pour la récupération des différentes données à partir d’une ou plusieurs sources extérieures au Data Warehouse, pour la modification du modèle de données ainsi que pour le chargement & l’orchestration des différents traitements. Les Jobs de transformation sont quand à eux concernés par la lecture des données récupérées, par les différentes jointures, par les calculs à réaliser et par l’écriture.

Comme pour Talend, un Job d’orchestration peut appeler d’autres Jobs, d’orchestration ou de transformation. Ce qui fait qu’un traitement peut être réutilisable plusieurs fois, avec ou sans condition. Les composants utilisés par les Jobs sont différents suivant le type de Job utilisé. En ce sens, un composant utilisé dans un Job d’orchestration a peu de chance d’être aussi disponible au sein d’un Job de transformation, et inversement.

Matillion possède un très grand nombre de composants différents. La difficulté majeure réside dans le fait de trouver le composant pouvant précisément répondre à votre besoin ; car il peut être facile de s’y perdre ou de mettre un certain temps avant de savoir exactement quel composant mettre en place. Par exemple, si nous avons besoin de récupérer des données depuis un ERP, il est nécessaire de fouiller parmi les différents dossiers contenant les composants pour essayer de savoir lequel est propice. En outre, puisque la solution est relativement récente, il y a pour l’instant peu d’utilisateurs au sein de la communauté pour trouver de l’aide.

 


Exemples de dossiers contenant les composants

Pourquoi Matillion
est-il très intéressant ?

 

De part les éléments qui suivent, Matillion ressemble à d’autres outils de traitement de la donnée (Talend, PowerCenter…) :

Drag & Drop des différents composants pour la construction des flux ;
Disponibilité de nombreuses fonctions natives ;
Facilité d’orchestrer les différents traitements.

Une personne connaissant un ou plusieurs outils similaires pourra rapidement prendre en main Matillion. Ce dernier est finalement très visuel et il est facile d’avoir une idée du flux de données mis en place. Il est également aisé de savoir quelles sont les données chargées et où elles sont traitées, quelles sont les manipulations réalisées et tout ceci étape par étape. C’est pour cette raison que je pense que les novices aux outils de traitement de données peuvent rapidement comprendre la logique qui se cache derrière Matillion.

Un des plus de l’outil est également qu’il y a un “Check” de validation pour chaque modification réalisée. La possibilité d’avoir un échantillonnage des données traitées existe également : cela permet de rapidement valider son travail, de vérifier si les traitements répondent au besoin et de corriger les erreurs le cas échéant.

Matillion fait tout son possible pour pouvoir se connecter aux différentes sources de données existantes. La gamme de composants disponibles permet de répondre efficacement à cette problématique. La seule ressource qui n’est pas accessible pour Matillion est celle qui se trouve en local ; il faudra forcement que l’outil puisse se connecter en ligne à la source pour pouvoir récupérer les données. Il convient néanmoins de garder à l’esprit que les traitements sont effectués par l’entrepôt de données sur lequel Matillion s’appuie. Tout n’est donc pas forcement réalisable et certains projets pourront être plus intéressants à réaliser avec tel ou tel autre outil d’intégration.

 

De mon point de vue, les forces de la solution sont :

Un gain de temps en développement lorsque les sources de données sont nombreuses ;
Une transmission des connaissances facile ;
Une économie significative de part la mutualisation stockage/traitement ;
Le bénéfice de la puissance de calcul des solutions d’entrepôt de données Cloud ainsi que leurs avantages ;
Aucune maintenance infra (serveurs, etc.).

 

Du côté des points pouvant être améliorés :

Une communauté d’utilisateurs restreinte ;
Des messages d’erreurs parfois très (très) vagues ;
Quelques bugs d’interface ;
Parfois, un peu de mal à savoir comment répondre à un nouveau besoin.

Vous souhaitez en savoir plus sur Matillion ?
Contactez-nous !

A propos des auteurs

Eric Moss / Consultant Bi Actinvision
Cyril Cardon / Consultant BI Actinvision