Avant de parler des technologies Microsoft Azure Synapse et Data Factory, il faut bien comprendre le processus ETL utilisé pour exploiter ces deux outils pour collecter, analyser et intégrer les données. Le but est de les rendre utiles et exploitables par les gens du métier ou les utilisateurs finaux, afin de les aider à prendre des décisions commerciales en connaissance de cause.
Qu’est-ce que le processus ETL ?
C’est l’abréviation de Extract, Transform, Load. C’est un processus automatisé qui prend les données brutes sous forme de fichiers JSON, Excel ou plat (csv ou txt), extrait l’information nécessaire à l'analyse, la transforme en un format qui peut répondre aux besoins opérationnels et la charge dans un data warehouse. L'ETL résume généralement les données afin de réduire leur taille et d'améliorer leur performance pour des types d'analyses spécifiques.
Tout ce que vous devez savoir sur le processus ETL
Pour charger régulièrement votre entrepôt de données afin qu'il puisse servir à faciliter l'analyse commerciale, les données d'un ou plusieurs systèmes opérationnels doivent être extraites et copiées dans l'entrepôt de données. Le défi dans les environnements d'entrepôts de données consiste à intégrer, réorganiser et consolider de grands volumes de données sur de nombreux systèmes, fournissant ainsi une nouvelle base d'information unifiée pour la Business Intelligence.
Le processus d'extraction des données des systèmes sources et de leur transfert dans l'entrepôt de données est communément appelé ETL. Il est à noter que l'ETL fait référence à un processus général et non à trois étapes bien définies. L'acronyme ETL est peut-être trop simpliste, car il omet la phase de transport et implique que chacune des autres phases du processus est distincte.
Que se passe-t-il pendant le processus ETL ? Les tâches suivantes sont les principales actions du processus.
1. Extraction des données
La première étape de l'ETL est l'extraction. Au cours de l'extraction, les données sont spécifiquement identifiées et ensuite prélevées à de nombreux endroits différents. Ces données peuvent provenir d’une variété de choses, comme des fichiers, des feuilles de calcul, des systèmes de bases de données et des applications, etc. Il n'est généralement pas possible d'identifier le sous-ensemble exact d'intérêt, de sorte que l'on extrait plus de données que nécessaire pour s'assurer qu'il couvre tous les besoins.
Selon les capacités du système source (par exemple, les ressources du système d'exploitation), certaines transformations peuvent avoir lieu pendant ce processus d'extraction. La taille des données extraites varie de quelques centaines de kilo-octets à plusieurs giga-octets, selon le système source et la situation commerciale. C'est également le cas pour la période entre deux extractions ; certaines peuvent varier de jours ou d'heures à presque en temps réel.
2. Transport des données
Une fois les données extraites, elles doivent être physiquement transportées vers le système cible ou vers un système intermédiaire pour traitement ultérieur. Selon le mode de transport choisi, certaines transformations peuvent également être effectuées au cours de ce processus.
3. Transformation des données
La prochaine étape du processus ETL est la transformation. Une fois les données extraites, elles doivent être physiquement transportées vers la destination cible et converties dans le format approprié. Cette transformation de données peut inclure des opérations telles que le nettoyage, l'assemblage et la validation des données.
4. Chargement des données
La dernière étape du processus ETL consiste à charger les données transformées dans la cible de destination. Cette cible peut être une base de données ou un data warehouse. Il existe deux méthodes principales pour charger les données dans un entrepôt : chargement complet et chargement incrémental. La méthode du chargement complet implique un déchargement complet des données qui a lieu la première fois que la source est chargée dans l'entrepôt. La charge incrémentale, en revanche, a lieu à intervalles réguliers. Ces intervalles peuvent être des incréments de flux (meilleurs pour de plus petits volumes de données) ou des incréments de lots (meilleurs pour de plus grands volumes de données).
Les équipes de Business Intelligence (BI) lancent ensuite des requêtes sur ces données, qui sont enfin présentées aux utilisateurs finaux ou aux personnes chargées de prendre des décisions commerciales, ou utilisées comme entrées pour des algorithmes de Machine Learning. Un problème courant rencontré ici est que si les résumés OLAP ne peuvent pas supporter le type d'analyse que l'équipe BI veut faire, alors tout le processus doit être relancé, cette fois avec différentes transformations.
Pourquoi utiliser le processus ETL ?
Dans la plupart des cas, les entreprises et les sociétés qui ont besoin de construire et de maintenir des data warehouse complexes investiront dans des outils ETL et ELT, mais d'autres organisations peuvent aussi les utiliser à une plus petite échelle.
Les entreprises s'appuient sur le processus ETL depuis de nombreuses années pour obtenir une vue consolidée des données qui leur permet de prendre de meilleures décisions commerciales. Aujourd'hui, cette méthode d'intégration de données provenant de multiples systèmes et sources demeure un élément central de la boîte à outils d'intégration de données d'une organisation.
Qu'est-ce que l'environnement Azure Cloud ?
Azure est une plateforme de Cloud faite par Microsoft qui dispose de tout ce dont une entreprise a besoin pour gérer virtuellement une partie ou la totalité de ses opérations informatiques : serveurs, stockage, bases de données, réseaux, statistiques et bien plus encore.
Qu'est-ce qu'Azure Synapse ?
Il s'agit d'un service d'analyse qui réunit l'entreposage de données d'entreprise et l'analyse de données volumineuses. Il interroge les données selon vos besoins avec plusieurs modalités et de types des ressources même sans serveur. Il réunit ces deux mondes avec une expérience unifiée pour ingérer, préparer, gérer et servir des données pour les besoins immédiats de BI et d'apprentissage automatique.
Qu'est-ce qu'Azure Data Factory ?
Il s'agit d'un service qui permet aux développeurs d'intégrer des sources de données hétérogène. Il s'agit d'une plate-forme un peu comme SSIS mais dans le cloud pour gérer les données que vous avez à la fois sur site et dans le cloud.
Azure Data Factory vs Azure Synapse : quelles sont les différences ?
Les développeurs décrivent Azure Data Factory comme « un service d'intégration de données hybride qui simplifie l'ETL à grande échelle ». C’est donc un service qui permet aux développeurs d’intégrer plusieurs sources de données.
Azure Synapse est décrit comme un "service d'analyse qui rassemble l'entreposage de données d'entreprise et l'analyse de données volumineuses" afin de collectionner et étudier les informations à votre guise. Il réunit ces deux mondes avec une expérience unifiée pour ingérer, préparer, gérer et servir des données pour des besoins immédiats en matière de BI et d'apprentissage automatique.
Azure Data Factory et Azure Synapse appartiennent à la catégorie "Big Data Tools" de la pile technologique.
Certaines des fonctionnalités offertes par Azure Data Factory sont :
- Intégration en temps réel
- Traitement parallèle
- Bloc de données D'autre part, Azure Synapse fournit les fonctionnalités clés suivantes :
- Analyse complète basée sur T-SQL
- Apache Spark profondément intégré
- Intégration de données hybrides
Quelles sont les alternatives à Azure Data Factory et Azure Synapse ?
Azure Databrick : Accélérez les solutions d'analyse de données volumineuses et d'intelligence artificielle (IA) avec Azure Databricks, un service d'analyse rapide, simple et collaboratif basé sur Apache Spark.
Talend : Il s'agit d'une plate-forme d'intégration de logiciels open source qui vous aide à transformer sans effort les données en informations commerciales. Il utilise la génération de code natif qui vous permet d'exécuter vos pipelines de données de manière transparente sur tous les fournisseurs de cloud et d'obtenir des performances optimisées sur toutes les plates-formes.
AWS Data Pipeline : AWS Data Pipeline est un service web qui fournit un système de gestion simple pour les workflows basés sur les données. À l'aide d'AWS Data Pipeline, vous définissez un pipeline composé des « sources de données » qui contiennent vos données, des « activités » ou de la logique métier telles que les tâches EMR ou les requêtes SQL, et de la « planification » selon laquelle votre logique métier s'exécute. Par exemple, vous pouvez définir une tâche qui, toutes les heures, exécute une analyse basée sur Amazon Elastic MapReduce (Amazon EMR) sur les données de journal Amazon Simple Storage Service (Amazon S3) de cette heure, charge les résultats dans une base de données relationnelle pour une recherche future, puis vous envoie automatiquement un e-mail récapitulatif quotidien.
Colle AWS : Un service d'extraction, de transformation et de chargement (ETL) entièrement géré qui permet aux clients de préparer et de charger facilement leurs données pour l'analyse.
Apache NiFi : Un système facile à utiliser, puissant et fiable pour traiter et distribuer les données. Il prend en charge des graphes dirigés puissants et évolutifs de routage de données, de transformation et de logique de médiation système.