Technologie
Matillion + Snowflake
Quand le roi du stockage Cloud rencontre le petit prince de l’intégration
Rédigé par Eric Moss – Consultant Actinvision
Proposé sous la forme d’un logiciel en tant que service (SaaS), Snowflake est un Leader novateur et atypique parmi l’ensemble des solutions de stockage Cloud proposées aujourd’hui sur le marché. En tant que SaaS, et contrairement à une solution de stockage sur site (« On-Premise »), Snowflake ne requière aucune installation, configuration ou gestion hardware ou logiciel. La maintenance, la gestion et la configuration sont en effet entièrement prises en charge par la solution.
Les composants sont exécutés sur une infrastructure de type Cloud public (Azure, AWS ou GCP) permettant d’effectuer les calculs sur des instances virtuelles ; le stockage des données est quant à lui directement assuré par le service de stockage de Snowflake. La solution se démarque de la concurrence de par son architecture hybride et brevetée, à mi-chemin entre les architectures de bases de données traditionnelles à disques partagés et celles de type « Shared-Nothing », basée sur un nouveau moteur de base de données SQL. Cette architecture singulière repose sur trois composants principaux : le stockage sécurisé de bases de données (Database Storage), le traitement de requêtes (Query Processing), et les services Cloud (Cloud Services) (Figure 1).
En parfaite symbiose, ces trois composants assurent entre autres, respectivement, la réorganisation automatique des données dans un format propriétaire compressé et optimisé (Database Storage), le traitement efficient des requêtes via l’utilisation de clusters de calcul massivement parallèles composés de multiples nœuds appelés « Virtual Warehouses » (Query Processing), ou encore la coordination des activités telles que l’authentification, la gestion de l’infrastructure et des métadonnées, l’optimisation des requêtes et le contrôle des accès (Cloud Services). Côté utilisateurs, ces derniers profitent d’un accès simplifié, d’une élasticité des ressources, d’une capacité de stockage et d’une puissance de traitement quasi illimitées, ainsi que d’une maintenance et d’opérations de mise à jour automatiques. Les performances ainsi que la flexibilité offertes par Snowflake permettent de stocker efficacement des volumes massifs de données (Big Data) et de les requêter en toute simplicité, de façon optimale, avec un coût totalement maîtrisé (modèle de facturation à l’utilisation).
Une des spécificités de Snowflake est également son écosystème de partenaires technologiques, vaste et très complet. Fraîchement élu « Partenaire Snowflake de l’année 2021 », Matillion est une solution d’intégration de la donnée basée sur une approche de type ELT (Extract, Load, Transform). A première vue, entre approches ELT et ETL, seule existe une différence minime : l’inversion des deux dernières étapes du processus d’intégration (Transform et Load). Pourtant, dans les faits, comparativement aux solutions d’intégration de type ETL, l’approche ELT présente des performances incroyablement plus élevées puisque les transformations sont réalisées après l’étape de chargement (Load), in situ la base de données cible d’accueil des données, et non pas par un logiciel tiers comme c’est le cas avec les outils ETL plus traditionnels. Ainsi, dans le cas d’une utilisation conjointe de Matillion avec Snowflake, Matillion permet l’orchestration en toute sécurité des étapes d’intégration en extrayant (Extract) et chargeant (Load) les données dans Snowflake, puis en ordonnant à Snowflake de réaliser les transformations souhaitées (Transform), et ceci en utilisant la puissance de calcul offerte par la base de données Cloud ; on imagine alors aisément l’efficacité du résultat !
Matillion se lance rapidement depuis la Marketplace de Snowflake ; quelques clics suffisent pour créer, configurer et accéder à une instance Cloud de l’outil ELT. Basiquement, Matillion se présente sous la forme d’une interface graphique dans laquelle les différents composants peuvent être glissés et déposés (fameuse action de « Drag And Drop »), puis connectés les uns aux autres afin de créer un flux de données ou « Job » (Figure 2).
Les composants, facilement paramétrables, sont classés en différentes catégories et permettent par exemple de se connecter à une source de données ou d’effectuer aisément divers types de transformations (filtres, tries, calculs, jointures, etc.). La distinction entre Jobs de Transformation et Jobs d’Orchestration permet une organisation logique et naturelle du travail réalisé. Contrairement aux traitements réalisés dans les langages classiques de traitement de la donnée (e.g. Python ou Java), ou bien aux scripts exécutant des requêtes SQL successives, Matillion offre un visuel clair et précis du chemin suivi par les données, de la source à la cible, en passant par les transformations œuvrées. Nul besoin donc d’être un expert du code pour commencer à manipuler les données avec Matillion.
De leur côté, les « Checks » de validation réguliers apportent une vraie plus-value puisqu’ils permettent de s’assurer que le flux de données développé ne contient aucune erreur susceptible de compromettre le bon fonctionnement général du processus. Cerise sur le gâteau : Matillion enrichit régulièrement sa palette d’outils et de connecteurs natifs permettant entre autre une connexion plus facile à une multitude de sources, parmi lesquelles des bases de données (e.g. ElasticSearch ou SDK), des ERP (e.g. Salesforce ou SAP), ou encore des API (e.g. Twitter ou Instagram). Enfin, une documentation complète et une communauté active grandissante permettent à coup sûr de trouver la réponse à n’importe quelle question.
Facile d’utilisation, extrêmement rapide et très économique (modèle de facturation « Pay-As-You-Go »), Matillion est sans conteste le compagnon idéal pour toute personne ou toute entreprise qui souhaiterait intégrer efficacement et aisément des données de différents formats en provenance de sources multiples vers une base de données Cloud. Combiné à la puissance de Snowflake, l’outil révèle son plein potentiel ; et le duo formé par les deux solutions offre au jour d’aujourd’hui une alliance technologique stockage de la donnée / intégration de la donnée « Full Cloud » tout bonnement exceptionnelle !
Retrouvez notre interview exclusive avec Josh Lewis Vice President Global Channels & Alliances at Matillion.