Définition et analyse de la Stack Data Moderne

Un Data Engineer qui aurait été cryogénisé en 2010 et que l’on réveillerait par malice aujourd’hui ne comprendrait plus grand-chose à la stack data moderne. Dites-vous bien qu’il n’a fallu que quelques années pour que tout change dans la manière de collecter, extraire, acheminer, stocker, préparer, transformer, redistribuer et activer les données. Nous avons clairement changé de monde et les opportunités de générer du business grâce aux données n’ont jamais été aussi grandes.

A quoi ressemble la stack data moderne ? On peut commencer avec un premier schéma très macro.

stack data moderne

Clairement, l’évolution la plus marquante est la place centralise prise peu à peu par le Data Warehouse Cloud, devenu système pivot de l’infrastructure IT. De là découlent toutes les autres transformations notables :

  • L’augmentation exponentielle de la puissance de calcul et l’effondrement des coûts de stockage.
  • Le remplacement des outils ETL classiques par les solutions EL(T) Cloud.
  • Le développement de solutions de BI Cloud « self service ».
  • L’émergence récente des Reverse ETL qui permettent de faire descendre les données du Data Warehouse Cloud dans les outils métiers, de mettre enfin la stack data au service de la stack marketing.

stack data moderne snowplow
Source : Snowplow Analytics

Entrons dans le cœur du sujet. Nous allons vous présenter les contours de la stack data moderne. Nous avons choisi deux angles :

  • L’angle historique : Qu’est-ce qui a amené à l’émergence de la stack data moderne ?
  • L’angle disons géographique/topographique. Nous allons passer en revue les différentes briques qui composent cette stack data moderne.

🌱 Les changements à l’origine de la stack data moderne

La stack data moderne définit l’ensemble des outils et bases de données utilisés pour gérer les données destinées à alimenter les applicatifs métiers. L’architecture de la stack data a connu de profondes transformations ces dernières années, marquées par :

  • La montée en régime des Data Warehouses Cloud (DWH) qui s’imposent progressivement comme la source maîtresse des données. Le DWH a clairement vocation à devenir le pivot de la stack data et nous aurons l’occasion d’en reparler longuement dans nos articles de blog. Vous qui croyez encore à la Customer Data Platform sur l’étagère, abandonnez toute espérance.
  • Le basculement de l’ETL (Extract-Transform-Load) vers l’EL(T) : Extract – Load – (Transform). « ETL » en tant que concept, process, autant qu’en terme d’outils (logiciels ETL). Dans une stack data moderne, les données sont chargées dans la base maîtresse avant d’être transformées, via des solutions EL(T) dans le cloud, plus légères que les traditionnels outils ETL.
  • L’utilisation croissante de solutions analytics self-service (comme Tableau) pour faire de la BI, produire les reportings et autres data visualizations.

La montée en régime des DataWarehouse Cloud (DWH)

Le Data Warehouse est une technologie vieille comme le monde, ou presque. En tous cas ce n’est pas un mot nouveau, loin de là. Et pourtant nous assistons à une transformation majeure dans le paysage du Data Warehousing depuis une petite dizaine d’années. Les solutions DWH traditionnelles cèdent progressivement la place à des solutions dans le cloud : les Data Warehouse Cloud. On peut dater précisément cette évolution : octobre 2012, date de mise sur le marché de la solution DWH Cloud d’Amazon : Redshift. Il y a clairement un avant et un après, même si Redshift perd aujourd’hui du terrain.

On peut dire que c’est Amazon, avec Redshift, qui a donné la principale impulsion ayant donné naissance à la stack data moderne. Toutes les autres solutions du marché qui ont suivi ont une dette envers le géant américain : Google BigQuery, Snowflake et quelques autres. Cette évolution a parti lié avec la différence entre les systèmes MPP (Massively parallel processing) ou OLAP comme Redshift et les systèmes OLTP classiques comme Postgres. Mais cette discussion mériterait à elle seule tout un article que nous produirons sans doute un jour. Pour faire court, disons que Redshift permet de traiter des requêtes SQL et de réaliser des jointures sur d’énormes volumes de données de 10 à 10 000 fois plus rapidement que les bases OLTP. Précisons quand même que Redshift n’est pas la première base MPP. Les premières sont apparues une décennie plus tôt, mais en revanche Redshift est bien :

  • La première solution de base de données MPP basée dans le Cloud.
  • La première solution de BDD MPP accessible financièrement à toutes les entreprises. Une TPE qui a des besoins limités peut utiliser Redshift pour quelques centaines d’euros par mois. Pour information ou pour rappel : avec les solutions classiques On-Premise, il faut compter pas loin de 100k€ de licence annuelle.

Depuis quelques années, on assiste à une montée en puissance de BigQuery et surtout de Snowflake. Ces deux solutions proposent désormais les meilleures offres du marché, tant au niveau du prix que de la puissance de calcul. Mention spéciale pour Snowflake qui propose un modèle de tarification très intéressant, puisque la facturation du stockage est indépendante de la facturation du computing.

Mais parce qu’il faut rendre à César ce qui lui appartient – César étant ici Redshift, rappelons ces quelques chiffres :

  • RedShift a été lancé en 2012. Il y a 10 ans.
  • BigQuery, la solution DWH Cloud de Google, n’a intégré le standard SQL qu’en 2016.
  • Snowflake n’est devenu mature qu’en 2017-2018.

Ce qui change avec les Data Warehouse Cloud

Résumons-nous. L’avènement de Redshift et des autres solutions Data Warehouse Cloud qui ont suivi ont permis de gagner sur plusieurs niveaux :

  • Rapidité. C’est ce que nous venons de voir. Un DWH Cloud permet de réduire significativement le temps de traitement des requêtes SQL. La lenteur des calculs était le principal frein à l’exploitation massive des données. Redshift a fait sauter de nombreuses barrières.
  • Connectivité. Le Cloud permet de connecter beaucoup plus facilement les sources de données au Data Warehouse. Plus généralement, un DWH Cloud gère beaucoup plus de formats & sources de données qu’un entrepôt de données traditionnel installé sur les serveurs de l’entreprise (On-Premise).
  • Accès utilisateurs. Dans un Data Warehouse classique, « lourd », installé sur les serveurs de l’entreprise, on limite volontairement le nombre d’utilisateurs pour limiter le nombre de requêtes et économiser les ressources serveurs. Cette option technologique classique a donc des répercussions au niveau de l’organisation :
    • DWH On-Premise : Géré par une équipe centrale. Accès restreints/indirects pour les utilisateurs finaux.
    • DWH Cloud : Accessibles et utilisables par tous les utilisateurs cibles. L’utilisation de serveurs virtuels permet de lancer des requêtes SQL simultanées sur une même BDD.
  • Flexibilité & Scalabilité. Les solutions Data Warehouse Cloud sont beaucoup moins onéreuses que les solutions On-Premise classiques (type Informatica ou Oracle). Elles sont aussi et surtout beaucoup plus flexibles, avec des modèles de tarification basés sur le volume de données stocké et/ou les ressources de computing consommées. En ce sens, l’avènement des Data Warehouses Cloud a permis de démocratiser l’accès à ce type de solutions. Alors que les DWH classiques étaient des solutions lourdes accessibles uniquement aux grandes entreprises, les DWH Cloud sont des solutions légères, flexibles accessibles à une TPE / startup.

Le passage des solutions ETL à EL(T)

Extract-Transform-Load : ETL. Extract-Load-(Transform) = EL(T). En déroulant ces acronymes, on comprend assez facilement la différence :

  • Lorsque l’on utilise un process ETL (et les outils ETL qui permettent d’opérer ce process), on transforme la donnée avant de la charger dans la base cible : le Data Warehouse.
  • Lorsque l’on utilise un process EL(T), on commence par charger toutes les données structurées ou semi-structurées dans la base maîtresse (DWH) avant d’envisager les transformations.

Quelles sont les enjeux sous-jacents d’une telle inversion ? C’est tout simple. Les transformations consistent à adapter le format des données à la base cible, mais aussi à nettoyer, dédupliquer et à réaliser un certain nombre de traitements sur les données issues des sources pour les adapter au design du Data Warehouse…et ne pas trop l’encombrer. L’enjeu est bien là. Transformer avant de Charger permet d’évacuer une partie des données et donc de ne pas trop surcharger la base maîtresse. C’est d’ailleurs pour cette raison que toutes les solutions classiques de Data Warehouse fonctionnaient avec des solutions ETL lourdes. Il fallait absolument faire du tri en amont du chargement dans le DWH dont les capacités de stockage étaient limitées.

Avec les Data Warehouse Cloud, le coût de stockage est devenu une commodité et la puissance de calcul a énormément augmenté. Résultat : Plus besoin de transformer avant de charger. La combinaison DWH On-Premise – ETL On-Premise cède le pas progressivement devant la combinaison moderne DWH Cloud – EL(T) Cloud. Le fait de charger les données dans le Data Warehouse avant toute transformations permet d’éviter de se poser les questions stratégiques et business au moment du process d’extraction et d’intégration des données dans le DWH. Le coût de gestion du pipeline est considérablement réduit, on peut se permettre de tout charger dans le DWH « sans se prendre la tête » – et ainsi on ne se prive pas des cas d’usage futurs de la donnée.

La tendance au self service Analytics

Nous avons parlé du Data Warehouse Cloud qui devient le pivot de la stack data moderne. En amont, nous avons les outils EL(T) qui font la connexion entre les multiples systèmes de données et l’entrepôt de données. Les données du Data Warehouse Cloud sont ensuite utilisées pour faire de la BI, de l’analyse de données, du dashboarding, du reporting.

L’avènement des DWH Cloud a contribué à « cloudifier » non seulement les solutions d’intégration (les ETL/ELT), mais aussi les solutions de BI. Nous avons aujourd’hui sur le marché des dizaines d’éditeurs de solutions de BI dans le cloud, abordables et conçues pour les utilisateurs métiers. Ce sont des solutions simples à utiliser et proposant des connecteurs natifs avec les principaux Data Warehouses Cloud du marché. Power BILooker ou Tableau sont solutions de BI Cloud de référence :

powerbi vs qlikview vs looker
Source : Medium

Une solution comme Tableau permet de connecter toutes les sources de données en quelques clics et de créer à partir d’elles des rapports sur-mesure, sur la base de modèles de données simplifiés. Une solution de BI permet un pilotage de la performance global basé sur des modèles d’attribution omnicanaux, contrairement aux modules de reporting proposés par les applicatifs métiers ou les solutions de web analytics (Google Analytics…). Un outil comme Looker, branché au Data Warehouse, désilote l’analyse de données. La BI est l’un des principaux cas d’usage d’un Data Warehouse. Avec l’avènement des DWH Cloud, il était naturel que se développe de solutions de BI SaaS. Et cela s’est fait.

Data Warehouse Cloud, EL(T), solutions analytics « self-service » : ces trois familles d’outils sont étroitement liées et constituent les pièces maîtresses d’une stack data moderne.

🔎 Zoom sur les briques de la stack data moderne

Nous allons maintenant passer en revue de manière plus détaillée les principales briques composant la stack data moderne, en partant du schéma présenté en introduction.

Schéma type d’une stack data moderne

Nous apprécions ce schéma de la stack data moderne proposé par a16z.

stack data moderne cartographie
Source : a16z.

De gauche à droite, nous trouvons :

  • Les sources de données, c’est-à-dire l’ensemble des systèmes, bases et outils fournisseurs de données. Ces sources peuvent être internes ou externes (solutions d’enrichissement…). Le phénomène auquel nous assistons depuis des années, lié au développement du digital, c’est l’explosion non seulement des volumétries de données, mais aussi des sources de données – et donc des formats, des structures de données. Cette effervescence constitue à la fois un énorme potentiel et un sacré défi.
  • Les solutions d’ingestion et/ou de transformation des données. Nous retrouvons ici toutes les technologies concourant à réaliser le process Extract – Load et éventuellement Transform : EL(T). C’est-à-dire les solutions permettant l’acheminant (avec ou sans transformations) des données issues des sources dans la ou les bases maîtresses.
  • La base ou les bases maîtresse(s) de stockage des données. On trouve ici deux familles de solutions : les Data Warehouse Cloud et les Data Lake. Le DWH stocke des données structurées ou semi-structurées tandis que le Data Lake peut stocker vraiment n’importe quels types de données. En clair, le Data Lake est une baignoire dans laquelle on verse en vrac toutes les données sans aucunes transformations, sans aucuns traitements, dans leur état brut. Le Data Lake est utilisé pour des cas d’usages data très avancés de type Machine Learning. C’est l’outil des Data Scientists. Le Data Warehouse reste un « entrepôt » organisant les données de manière structurée, même si ses capacités à intégrer les données semi-structurées augmentent clairement. C’est le développement de ces capacités d’ailleurs qui rend le DWH de plus en plus pivot – contrairement au Data Lake « pur » qui joue de plus en plus un rôle secondaire. Nous y reviendrons.
  • Les outils de préparation et de traitement de la donnée. Nous avons vu que le Data Warehouse Cloud tendait à devenir l’outil de référence pour transformer les données, via SQL. Il existe quantités de solutions pouvant accompagner le DWH dans ce process de transformation des données en vue des usages BI ou business. Les outils de préparation et de transformation dessinent la famille de solutions data la plus large et hétéroclite.
  • Les outils de BI et les outils d’activation, qui sont les outils de destination des données du Data Warehouse Cloud. Le DWH est à la base utilisé pour la BI. Il l’est de plus en plus pour alimenter en quasi temps réel les applicatifs métiers. C’est ici qu’intervient les Reverse ETL comme Octolis. Nous vous présenterons dans quelques instants le rôle des Reverse ETL dans la stack data moderne.

Passons maintenant en revue chacune de ces briques de la stack data moderne.

Le Data Warehouse Cloud

Le DWH Cloud constitue la fondation de la stack data moderne, la solution pivot autour de laquelle gravite tous les autres outils. Il stocke les données structurées et semi-structurées de l’entreprise. Il n’est pas simplement une base de données, il est aussi un laboratoire de la donnée, une véritable machine. Il est un lieu de préparation et de transformation des données via un outil principal : le SQL, même si on utilise de plus en plus Python (mais c’est un autre sujet).

bigquery snowflake redshift
Légende : Medium. Mai 2020. Redshift plafonne, BigQuery monte, Snowflake explose.

Le Data Warehouse Cloud est parfois construit en aval d’un Data Lake qui sert, comme nous l’avons vu, de fourre-tout, de baignoire de données stockées dans leur état brut. On peut très bien utiliser à la fois un Data Lake et un Data Warehouse Cloud. On n’a pas nécessairement besoin de faire le choix entre les deux technologies. A vrai dire, elles remplissent des rôles différents et peuvent se montrer complémentaires…même s’il y a fort à parier que le sens de l’histoire soit à la fusion des deux technologies. Signalons d’ailleurs que certains acteurs, comme Snowflake, proposent des solutions de Data Warehouse Cloud et de Data Lake intégrées. Ce serait d’ailleurs l’objet possible d’un article : Data Lake et Data Warehouse Cloud ont-ils vocation à fusionner ? Ce n’est pas l’objet de cet article, mais sachez que c’est un débat qui remue la tête de beaucoup d’experts !

Quoi qu’il en soit, c’est autour du Data Warehouse Cloud, connecté ou fusionné avec le Data Lake, que s’organise toute la stack data moderne.

Les solutions EL(T)

Comme nous l’avons vu dans la première section de l’article, les solutions EL(T) prennent l’ascendant sur les outils ETL classiques. Cette évolution traduit une transformation au niveau du process d’intégration des données, une évolution majeure dans la manière de construire le pipeline de données.

etl vs elt
Source : AWS. ETL Vs ELT.

Une question que vous vous êtes peut-être posées : Pourquoi mettre « T » entre parenthèses ? Pour la simple et bonne raison que l’outil utilisé pour la construction du pipeline de données entre les systèmes sources et le Data Warehouse Cloud n’a plus besoin de transformer la donnée. Les solutions EL(T) Cloud (Fivetran, Stitch Data…) servent avant tout à organiser la tuyauterie. C’est leur rôle principal. Ce sont désormais les solutions de Data Warehouse Cloud et des outils tiers qui prennent en charge les phases de transformation.

Une solution DWH Cloud permet de transformer des tables de données avec quelques lignes de SQL. C’est d’ailleurs une évolution dont nous aurons à reparler : La plupart des opérations de Data Preparation et de Data Transformation peuvent aujourd’hui être réalisées dans le Data Warehouse Cloud lui-même en utilisant SQL. Les transformations sur les données sont donc de moins en moins traitées par les Data Engineers (en Java, Python et autre Scala) et de plus en plus prises en charge par les Data Analysts et équipes business utilisant le SQL. Ceci amène d’ailleurs un vrai : Quel rôle pour le Data Engineer demain ? Son rôle dans l’organisation et la maintenance de la stack data moderne n’est pas assuré. L’objectif de la stack data moderne est de redonner du pouvoir (sinon « le » pouvoir) aux utilisateurs finaux des données. Une stack data qui se modernise est une stack data de plus en plus au service des équipes métier et de la stack marketing qu’ils manient. La stack data moderne casse les barrières entre data et marketing, elle est la condition sine qua non d’un Data-Marketing efficient, la condition pour devenir « data-driven » véritablement.

Les solutions de préparation / transformation

Dans une stack data moderne, la préparation et la transformation des données s’effectuent :

  • Soit dans le Data Warehouse Cloud lui-même, comme nous l’avons vu.
  • Soit en aval du Data Warehouse Cloud, via des outils ETL.
  • Soit, cas le plus fréquent, par le DWH renforcé par des outils tiers.

La préparation ou transformation des données est l’art de rendre la donnée exploitable. Cette phase consiste à répondre à une question simple : Comment transformer des données brutes en set de données exploitables par le business ?

stack data moderne solution dataprep dataform
Un exemple de solution de préparation des données brutes : Dataform.

La transformation des données est un process multiforme qui implique des natures de traitements assez différentes : nettoyage des données, déduplications, paramétrage de règles sur-mesure de mise à jour des données, enrichissements des données, création d’agrégats, de segments dynamiques…Les outils de préparation et de transformation sont également utilisés pour maintenir la qualité des données (Data Quality). Parce que la « transformation » des données fait référence à des opérations de nature différente, on ne s’étonnera pas que la stack data moderne accueille plusieurs outils appartenant à cette grande famille multiforme.

Les solutions de data management (Gouvernance des données)

Le fait que le Data Warehouse Cloud soit accessibles et utilisables par un grand nombre d’utilisateurs est bien entendu une chose positive. Le problème potentiel, c’est le chaos que ces accès élargis peuvent occasionner en matière de Data Management.  Pour ne pas tomber dans ce piège, l’entreprise doit absolument :

  • Intégrer un ou plusieurs outils de Data Management dans la stack data.
  • Documenter et mettre en place des règles de gouvernance des données.

Les enjeux autour de la Gouvernance des Données sont plus actuels que jamais. La première raison, c’est celle que nous venons de rappeler : l’ouverture en accès et en édition des solutions de la stack data. La deuxième raison, c’est l’explosion des volumétries de données qui impose la mise en place de règles stricts de gouvernance. La troisième raison est le renforcement des règles régissant l’utilisation des données à caractère personnel. Le fameux RGPD notamment…

La gouvernance des données est un sujet sensible et généralement traité de manière insatisfaisante par les organisations. Ce n’est pas le sujet le plus sexy, mais il faut clairement l’intégrer dans la feuille de route.

Les solutions reverse ETL

Terminons par une toute nouvelle famille de solutions data, beaucoup plus sexy pour le coup et promise à un bel avenir : les Reverse ETL. Nous publierons prochainement un article très complet sur le Reverse ETL, son rôle, sa place dans la stack data moderne. Résumons ici en quelques mots les enjeux et les fonctionnalités proposées par ces solutions d’un nouveau genre.

L’enjeu, il est en vérité très simple : Les données issues des sources de données diverses et variées de l’entreprise remontent de mieux en mieux dans le Data Warehouse Cloud, mais ces données ont encore beaucoup de mal à redescendre dans les outils d’activation : le CRM, le Marketing Automation, la solution de ticketing, l’ecommerce, etc.

Le Reverse ETL est la solution qui organise et facilite la redescente des données du DWH dans les outils utilisés par les équipes opérationnelles. Avec un Reverse ETL, les données du Data Warehouse Cloud ne sont plus seulement utilisées pour alimenter la solution de BI, elles sont mises au service des équipes métier, dans les outils qu’ils utilisent au quotidien.

C’est pour cela que l’on parle de « Reverse ETL ». Là où l’ETL (ou ELT) fait monter les données dans le DWH, le Reverse ETL fait l’inverse. Il fait redescendre les données depuis le DWH dans les outils. Le Reverse ETL est la solution qui permet de mettre en connexion la stack data et la stack marketing au sens large. Il est à l’interface des deux. Un exemple ? Avec un Reverse ETL, vous pouvez faire descendre les données d’activité web (stockées dans le DWH) dans le logiciel CRM pour aider les commerciaux à améliorer leur relation prospects/clients. Mais c’est un cas d’usage parmi tant d’autres…Les cas d’usage sont multiples et ont vocation à devenir de plus en plus nombreux dans les prochains mois et prochaines années. Census, HighTouch et bien entendu Octolis sont trois exemples de Reverse ETL.

🏁 Conclusion

Les infrastructures, les technologies, les pratiques et jusqu’aux métiers du Data marketing au sens le plus large ont évolué à une vitesse incroyable. Nous avons vu la place centrale que cette stack data moderne accorde au Data Warehouse Cloud. Tout pivote autour de ce point de gravité.

Certaines évolutions récentes, et nous pensons notamment à la mode des Customer Data Platforms sur l’étagère, faussent un peu la compréhension de ce qui se passe réellement. Il ne faut pas s’y tromper, c’est clairement du côté des Data Warehouses (qui n’ont plus rien à voir avec leurs ancêtres On-Premise) que pointe la flèche de l’avenir.

Vers le côté des DWH Cloud…et vers tout l’écosystème d’outils gravitant autour : EL(T), solutions de BI Cloud…et bien sûr Reverse ETL.