Bienvenue dans la modélisation de données.

L’ingénierie Data ne cesse d’évoluer et s’éloigne du traditionnel ETL.

Historiquement, les ingénieurs data se concentraient essentiellement sur la mise en place d’un pipeline ETL (extract, transform, load) pour déplacer les données issues de diverses sources vers un référentiel de données centralisé tel qu’un data warehouse. Cette tâche était particulièrement chronophage, nécessitait beaucoup de codage et de configurations manuelles.

Avec l’arrivée d’outils tels que Archi (Open Source), PowerDesigner de SAP, SqlDBM (Online Data Modeling Tool), IDERA ER/Studio ou encore Erwin Data Modeler de Quest, il est dorénavant possible d’automatiser l’ensemble de ce processus.

Résultat ?
Les ingénieurs data sont en capacités d’extraire les données et de les charger rapidement alors que les volumes collectés et stockés sont exponentiels. Ils peuvent se concentrer sur des tâches plus complexes et à plus forte valeur ajoutée, la modélisation des données.

La modélisation de données est le processus qui permet de créer une vue conceptuelle des données et leur relation entre elles. Elle permet de définir la structure des données, ses attributs, les liens entre elles et donc d’organiser leur stockage de manière optimale. C’est indispensable pour tout projet analytique car cela permet de s’assurer que les données sont correctes, cohérentes, organisées et facilement accessibles.

Trois type de modélisation de données :
👉 Modélisation conceptuelle : Il s’agit de créer une représentation de haut niveau des données, y compris les relations entre les entités, afin de déterminer la structure globale des données.
👉 Modélisation logique : Il s’agit de créer une représentation plus détaillée des données, y compris les attributs de chaque entité et les relations entre les entités.
👉 Modélisation physique: Il s’agit de concevoir la base de données physique et de déterminer la meilleure façon de stocker les données en termes de structures de données, d’indexation et de partitionnement.

Non seulement la modélisation de données permet d’améliorer le Data Management et Data Warehousing mais cela ouvre aussi de nouvelles perspectives en Data Science et en Machine Learning. En effet, comme les données sont stockées de manière cohérente et organisée, les data scientists y ont accès plus facilement et peuvent mieux les exploiter. Les résultats sont d’autant améliorés et beaucoup plus fiables.

En rationalisant le pipeline de données et en permettant aux ingénieurs data de se concentrer sur des tâches plus complexes, la modélisation des données peut aider les organisations à mieux utiliser leurs données et à libérer tout le potentiel de la data science et de l’apprentissage automatique.

Data Modeling

Sources :

https://www.guru99.com/data-modelling-conceptual-logical.html

https://publication.hikmahtechnologies.com/data-engineering-evolves-from-etl-to-the-world-of-data-modelling-2175c8083f31

Les catalogues de données sont devenus des incontournables dans une démarche de gouvernance de données.


Data Driven, ainsi va le monde ! Ainsi les data catalogs sont devenus indispensables.

Un Data Catalog est un outil de data management entièrement consacré à la documentation de tout ce qui est relatif à vos métadonnées : description, structure, sources, qualité, traitements, usage, accès, relations, etc.

Bien pensé, il vous permet de les classifier, de les comprendre et de les (re) trouver pour être immédiatement en capacité de les exploiter !

Zoom sur trois solutions de Data Catalogs

  1. Microsoft Purview 1. C’est l’un des nombreux services proposés dans la stack Azure dans le cadre de la mise en place d’une gouvernance de vos données. Il rassemble les métadonnées issues de multiples sources, y compris on-premise et multicloud, et facilite la data discovery. Sa faiblesse ? Le Data Lineage. 
  2. Databricks Unity – C’est une solution agnostique de data discovery et data governance, peu importe CSP que vous utilisez. Elle met à disposition de nombreux connecteurs avec la plupart des data stacks. Unity propose toutes les fonctionnalités nécessaires aux catalogues de données : connecteurs, data lineage, data discovery facilitée, etc.
  3. Amundsen (Lyft) est une solution de data catalog en Open Source avec une architecture microservices. Cela permet à la communauté des ingénieurs data de contribuer activement à son développement. Elle a d’ailleurs déjà un catalogue de connecteurs particulièrement riche. RDV sur GitHub !

Il existe beaucoup de solutions de Data Catalogs, citons Informatica, Talend, Collibra, Atlan ou encore le pure player français DataGalaxy. 


Smartpoint vous accompagne dans le choix de la meilleure solution pour vous selon votre stack data et l’implémente, contactez-nous 😊

SOURCES :

https://medium.com/@poatek/in-a-data-driven-world-data-catalogs-are-necessary-tools-5851ee3e22c2

https://medium.com/@poatek/in-a-data-driven-world-data-catalogs-are-necessary-tools-5851ee3e22c2

Projets Data responsables et sobriété numérique ? Oui, c’est possible.

Le saviez-vous ? En 2030, on prévoit que 13 % de la consommation mondiale d’électricité proviendra des centres de données (source ici), Rien qu’en France, 10 % de la consommation d’électricité provient des data centers.

Et alors que le cloud computing, l’IoT et l’IA exposent, les besoins en stockage de données également. Aujourd’hui, l’industrie du traitement des données est en voie de produire plus d’émissions de gaz à effet de serre que les secteurs de l’énergie, l’automobile et l’aviation réunis.

Il est possible d’avoir une approche plus frugale et responsable pour protéger l’environnement … sans pour autant freiner le progrès. En revanche, cela nous demande de repenser nos méthodes, nos approches et mêmes nos principes d’architecture data.

Historiquement, dans le cadre d’un projet de Business Intelligence traditionnel, nous n’étions pas du tout dans une démarche de sobriété ! L’objectif était de collecter un maximum de données, de les stocker de manière centralisée dans un datawarehouse ou un datalake, puis les traiter, les croiser, les analyser pour les restituer au plus grand nombre sous forme de tableaux de bord, et le plus fréquemment possible. Un gouffre en termes de consommations de ressources !

Aujourd’hui, l’heure est au tri et cette bonne pratique est aussi en vigueur pour les projets Data.

Au préalable, il convient de se poser la question des données utiles et celles qui ne le sont pas. Stocker des données qui ne servent à rien … ne sert à rien d’autant plus que les données sont périssables dans le temps pour la plupart. Ces données inutiles, ou dark data, représenterait plus de la moitié des données stockées par les entreprises !

  • Au niveau du processus ETL, on peut identifier que les données dites vivantes, c’est-à-dire uniquement celles qui ont changé pour effectuer uniquement le chargement incrémental des données
  • Se concentrer sur les fonctionnalités essentielles, c’est à dire qui vont demander un traitement dont vous avez vraiment besoin
  • Réduire le nombre de requêtes en utilisant les caches (systèmes de stockage temporaire)  
  • Vous poser la question de la fraicheur des données, avez-vous vraiment besoin d’un rapport quotidien ?
  • Collecter que l’essentiel et diminuer les volumes échangés
  • Limiter les traitements d’information et surtout arrêter la réplication des données dans plusieurs systèmes
  • Faire le ménage en supprimant les données qui ne servent à rien et respecter le cycle de vie des données (data governance)
  • Moderniser votre écosystème data en une plateforme unique qui vous permettra de travailler directement sur la donnée

Au niveau du stockage, dès que possible, il est préférable d’utiliser une infrastructure edge computing qui permet de traiter les données au plus proche de là où on en a besoin et donc de réduire d’autant la latence. C’est l’architecture la plus appropriée pour l’IoT.

Une infrastructure cloud est toujours préférable car vous ne payez qu’à l’usage.

Chez Smartpoint, nous suivons particulièrement des fournisseurs tels Ikoula, hébergeur français de Green Hosting qui utilise de l’énergie issue à 100% d’énergie renouvelables ou encore Qarno dont le principe est de décentraliser la puissance de calcul et de valoriser la chaleur émise par les serveurs.

Pour aller plus loin : Sobriété numérique : comment développer un projet data éco-responsable ?

Projets data responsables et sobriété énergétique

Data virtualisation vs. Data Fabric, comment choisir ?

Déjà, ces deux approches permettent de gagner en agilité et de pouvoir mieux exploiter des données plus rapidement même si elles sont en silos organisationnels. Elles répondent toutes deux à la volonté des entreprises de moderniser leurs architectures de données alors qu’elles subissent un legacy (ou des systèmes data hérités) qui font de la collecte et du traitement des données un processus fastidieux qui consomme beaucoup de ressources, humaines comme temporelles !

Évidemment, vous avez toujours la solution d’acquérir de nouveaux outils et de remettre à plat tout votre écosystème data dans une nouvelle architecture … mais en attendant, la virtualisation des données est un bon début pour moderniser votre architecture data !

  • Elle permet d’accéder aux données en mode Data as a service grâce à ces connecteurs multi-sources.
  • Elle organise également les données pour que vous puissiez les visualiser ou réaliser des tableaux de bords.
  • C’est une solution satisfaisante pour vos besoins en business Intelligence (BI) et autres requêtes ad hoc car aujourd’hui toutes les entreprises ont des données dans le cloud et des systèmes distribuées.

Une data fabric, elle, est une solution de data management qui vous fournit une plateforme unique capable de prendre en charge toutes les technologies qui fonctionnent sur tous vos systèmes existants.

  • Les solutions de data management sont beaucoup plus poussées et complètes ; et permettent de prendre en charge des applications et des usages plus complexes.
  • C’est un framework d’architecture avec un accès centralisé aux données qui permet de les rendre interopérables entre elles.
  • Un data fabric est le must-have pour les analytics avancés qui ont besoin de larges volumes de données : analyses prédictives, IoT, apprentissage automatique (ML), temps réel, etc.

Pour conclure, pour exploiter aux mieux vos données et étendre leurs capacités, il vous faut les deux 😊

Top 4 tendances Data à suivre en 2023

L’intelligence Artificielle toujours au top ! Qui n’a pas été bluffé par le chat GPT de Open AI ? Clairement, c’est la technologie (IA et son corolaire ML) qui est en train de révolutionner nos manières de travailler, de vendre et de vivre ! Alors que les volumes de données ne cessent de croitre, les algorithmes se nourrissent, apprennent et ne cessent de s’améliorer.

Le Data as a service (DaaS) devrait se démocratiser encore davantage dans les entreprises alors qu’elles adoptent massivement le cloud pour moderniser leurs infrastructures vieillissantes et leurs systèmes data hérités (Legacy), devenus trop lourds à maintenir et trop gourmands en ressources.

Cela facilite l’accès aux données, leur analyse et leur partage au sein de l’organisation.

Le DaaS pourrait bien devenir la méthode la plus courante pour intégrer, gérer, stocker et analyser toutes les données. Normal quand on sait qu’un meilleur partage et une exploitation des données par le plus grand nombre, permet aux organisations d’être plus efficaces et performantes.

L’automatisation ! De nombreuses tâches analytiques sont désormais automatisées et ce phénomène va s’accentuer. C’est déjà une réalité en préparation des données mais aussi sur l’automatisation de certains processus prédictifs ou de recommandation.

Nous vous invitons à regarder la plateforme APA (automatisation des processus analytiques) de Alteryx qui promet de révolutionner le Data Wrangling.

La gouvernance des données n’a jamais été autant au cœur de l’actualité et ce sera encore le cas en 2023 !

On n’a en effet jamais autant produit, collecté et consommé de données. La question de leur qualité est non seulement centrale, car c’est là que réside que toute sa valeur, mais les entreprises ont également besoin de s’appuyer sur une plateforme qui permet de les partager de manière sécurisée au sein de l’organisation tout en respectant les règlementations notamment en termes de protection et de confidentialité.  

En 2023, si vous ne l’avez pas déjà fait, ce sera le moment de mettre en place un programme de Data Management … 

Retour sur l’actualité de Smartpoint en 2022 en quelques faits marquants.

2022 a vu Smartpoint grandir, croître mais aussi engager de nouveaux chantiers pour s’inscrire dans une logique de développement responsable et durable. Voici les principaux faits marquants qui ont marqué cette année.

  • L’équipe Captiva nous a rejoint et c’est près de 80 collaborateurs, spécialisés dans le développement de produits et la qualité logicielle, qui participent aujourd’hui à enrichir notre proposition de valeur pour nos clients. Nous sommes aujourd’hui plus de 250 !
  • Nous avons pris des engagements encore plus forts pour un développement durable et un numérique plus responsable : notre politique RSE a reçu la médaille d’argent délivrée par EcoVadis, nous avons réalisé notre bilan Carbone et engagé de nombreuses actions pour encore nous améliorer ; et nous avons rejoint la communauté Planet Tech’Care. 
  • Nous sommes plus visibles et reconnus ! Notre nouveau site web a vu bondir le nombre de visiteurs X5 et vous êtes toujours plus nombreux à nous suivre sur LinkedIN avec +65% d’abonnés en plus par rapport à l’année dernière.

Résultat ? Nous allons réaliser plus de 20% de croissance organique cette année.

Alors, merci à l’ensemble de nos équipes pour leur engagement et à nos clients pour leur confiance !

Faits marquants et retrospectives 2022

Smartpoint réalise son bilan carbone

Notre score nous place dans le 10% des entreprises françaises les plus engagées en ce domaine.

Chez Smartpoint, nous sommes une entreprise engagée et nous sommes particulièrement sensibles aux enjeux climatiques. Nous militons également pour un numérique plus responsable et nous nous mobilisons pour réduire l’empreinte environnementale de la Tech sein de la communauté Planet Tech’Care.

Smartpoint poursuit son engagement et réalise son premier bilan de ses émissions carbone avec Greenly selon une méthodologie standardisée par l’ADEME sur les scopes 1, 2 et 3.

Avec un bilan de 3,5 tonnes de CO2 par collaborateur, nous sommes déjà bien en dessous de la moyenne de notre secteur d’activité (Agence de création digitale et ESN) qui se situe à 7,6 tonnes de CO2 par collaborateur. C’est mieux mais pas suffisant pour Smartpoint, nous sommes collectivement déterminés et nous souhaitons aller plus loin !


Nous allons mettre en place un ensemble d’actions et de mesures qui vont nous permettre de limiter encore davantage notre impact et contribuer à limiter le réchauffement climatique.

Notre ambition ? La neutralité carbone !

Comment reconnaitre un bon ingénieur Data Full Stack quand vous en croisez un ?

Dans la data, c’est exactement comme dans le développement logiciel de produits ! Avant, il y avait des développeurs spécialisés front et d’autres back-end, d’autres chargés que de la mise en production, d’autres des tests, etc. En data, on avait aussi des DBA. Chacun avait un rôle bien précis. Mais depuis les pratiques Agile, le DevOps, le CI/CD et l’automatisation des tests se sont démocratisés en même temps que la course à l’innovation et les contraintes de time-to-market se sont accentuées.

Être ingénieur data aujourd’hui ne se résume plus à la conception de Datawarehouse, la mise en place d’ETL, le lancement de requêtes SQL et la restitution dans des tableaux de bord. Certes, il ne s’agit pas d’être spécialiste en tout mais un ingénieur data fullstack a désormais des connaissances étendues dans de nombreux domaines.

Yazid Nechi, Président de Smartpoint

Comment reconnaitre un bon ingénieur Data ?

  • Il sait programmer ! Il maîtrise en effet au moins un langage de programmation et chez smartpoint, c’est plusieurs : Java, Python, Scala pour les incontournables.
  • Il connait les outils du big data comme Hadoop, Hive, Spark, Pig Sqoop
  • Il sait concevoir et exploiter un Data Warehouse et pour ce faire, les meilleurs outils à maîtriser sont Amazon Redshift, Google Big Query et bien entendu Snowflake. Mener des actions d’ETL étant indispensables à sa fonction, il a également des compétences en Talend, informatica entre autres.
  • C’est un expert en bases de données relationnelles (SQL) qu’elles soient analytiques ou transactionnelles (OLTP, OLAP).
  • Il maîtrise aussi les bases de données en NoSQL qui sont de différentes natures en fonction du modèle de données

Architecture

C’est la base, il doit comprendre comment sont organisées les données et quels sont les objectifs en termes de traitement et de gestion des données. Cela suppose aussi d’avoir une bonne culture générale sur les nouvelles méthodes de data ingestion (comme Kafka), les différentes alternatives de stockage ainsi que les normes de sécurité pour la protection des données (dont la gestion des droits et des authentifications).

SQL

C’est une compétence certes traditionnelle mais toujours indispensable !

ETL (ou ELT)

C’est la base du métier : mettre en place le pipeline de données pour capturer, transformer et charger dans le système cible. Cela demande des compétences en modélisation des données mais aussi la connaissance d’un ou plusieurs outils. Citons évidemment Talend, Informatica mais aussi des nouveaux entrants comme Fivetran ou Stitch.

Visualisation de données

C’est un incontournable même si historiquement, c’est une compétence davantage attendue chez les analystes de données mais dans le même logique de maîtrise du flux de données de bout en bout, nous encourageons nos ingénieurs data à connaître au moins un des outils comme Tableau ou plus récemment Looker ou ThoughtSpot.

Spark

C’est un must-have en ingénierie des données, Spark est le framework open source désormais incontournable en raison notamment de sa très riche bibliothèque pour le traitement par lots, le streaming, les analytics, le ML, la datascience, etc. 

Connaissances en programmation

Avant SQL et un outil comme Informatica suffisait. Aujourd’hui un ingénieur data intervient dans le pipeline CI/CD et pour le maîtriser, il est nécessaire aujourd’hui d’avoir aussi des compétences en langages de programmation comme Java, Python ou encore Scala.

Expériences en développement

L’intégration et le développement continus (CI/CD) sont aujourd’hui la norme (ou presque) ainsi que le DevOps et cela vaut également pour l’ingénieur Data. Il doit avoir des connaissances en gestion de la base de code, en testing, etc. La connaissance d’outils tels que Jenkins, DataDog, Gitlab, Jira sont donc un vrai plus !

L’incontournable cloud !

Impossible aujourd’hui de passer à côté de cette compétence alors que les entreprises ont de plus en plus recours au cloud pour accéder, traiter, gérer, stocker et sécuriser leurs données. Cela permet de bénéficier de puissance de traitement et de calcul inégalé sans parler de la scalabilité. Chaque ingénieur Data se doit de connaître au moins un cloud provider comme GCP ou Azure.

Vous cherchez un Data engineer fullstack avec toutes ces compétences ? Il est surement chez Smartpoint 🤩 Vous voulez gagnez en compétences et vous investir dans de supers projets data ? Nous recrutons aussi aujourd’hui nos futurs talents !

Sources :

Innovations Data vs. Sobriété numérique ? Oui, c’est possible.

Comment contribuer au plan de sobriété énergétique présenté par le gouvernement début octobre ? Chez Smartpoint, on s’engage et on conseille nos clients car c’est une démarche qui s’applique à toutes les phases de votre projet : cadrage, conception, design d’architecture, développement, choix de solutions et de technologies, hébergement, etc.

Rappelons que le numérique, c’est 10% de la consommation électrique française et 2% de l’empreinte carbone au niveau national (selon les études de l’Ademe, Agence de la transition écologique et l’Arcep), émissions qui pourraient atteindre les 7% d’ici 2040. Au niveau mondial, les datacenters représentent 1% de la consommation électrique et en France (rapport du Sénat en 2020) ils représentaient déjà 14% de l’empreinte carbone du numérique en 2019 ! Il est temps d’agir concrètement car – et c’est bien le paradoxe – notre monde de plus en plus digitalisé consomme toujours plus de matières et génère toujours plus de pollution numérique.

Concrètement, voici nos conseils pour repenser vos projets data en adoptant une démarche plus responsable et moins énergivore.

  1. Rationaliser le stockage de la data en ne stockant que les données vraiment utiles, éviter la duplication des données et mettre en place un processus automatisé de gestion du cycle de vie des données pour supprimer celles qui ne sont plus nécessaires (et lutter ainsi contre le DataSwamp)
  2. Couper les serveurs non utilisés et en profiter pour passer aux greens data centers (norme Energy Star par exemple) qui ont une plus faible consommation énergétique
  3. Regarder où les serveurs de votre Cloud Provider sont implantés car la source d’énergie locale utilisée diffère. Un data center en France est alimenté par l’énergie dé-carbonée du nucléaire … et non issue d’usines à charbon !
  4. Adopter les serveurs virtuels qui ne fonctionnent que lorsqu’on les sollicite ou choisir des serveurs mutualisés
  5. Réfléchir à la consommation énergétique additionnelle que l’introduction d’une nouvelle technologie va induire avant de l’adopter. Par exemple, avons-nous vraiment besoin de traitement temps réel dans tel ou tel projet data quand on connait la consommation de ce type de fonctionnement ? Avons-nous besoin de lancer autant de requêtes à cette fréquence ?
  6. Adopter l’écoconception dès la phase de design de votre projet car on sait qu’au final près d’1/3 des fonctionnalités demandées par les métiers … ne seront finalement pas utilisées ou n’étaient pas vraiment nécessaires ! A suivre d’ailleurs l’initiative très intéressante de APIDAYS en ce domaine. .
  7. Engager une démarche de normalisation ISO 25010 ou ISO 5055:2021 qui encadre la qualité logicielle et donne des orientations pour améliorer une conception plus « sobre » du code
  8. Optimiser l’architecture technique de vos applications
  9. Décommissionner ou initier le refactoring de vos applications Legacy devenues ingérables et extrêmement énergivores en termes de fonctionnement suite au rajout successifs de « couches » année après année
  10. Penser à la réusabilité de vos composants et à la maintenabilité dans le temps en adoptant par exemple une architecture micro-services

sobriété écologique et transformation numérique

Python vs Rust, quel langage est le plus adapté à votre projet Data ?

indétrônable Python en ingénierie de la Data ? la langage de programmation Rust pourrait bien lui voler la vedette !

Au niveau des langages de programmation, Python reste incontournable mais Rust intéresse de plus en plus d’ingénieurs data … D’ailleurs Meta le recommande désormais avec C++ et Python qui est désormais davantage cantonné aux applications de Data Science ou de Machine Learnings. Microsoft estime quant à lui que C et C++ ne sont pas assez sûrs pour les logiciels critiques et investit de plus en plus dans Rust.

Pourquoi cet engouement ?

  • Rust permet de garantir un haut niveau de performance dans le traitement de larges volumes de données et offre un bien meilleur niveau de sécurité et de contrôle de qualité du code.
  • Il revient moins cher que Python qui est beaucoup lourd lors de la mise en production. Python nécessite en effet plus de tests et peut générer des interruptions en production. C’est plus facile – et plus précoce – d’identifier d’éventuel bugs avec Rust !
  • Il permet aussi de mieux optimiser le stockage des données et l’usage en mémoire. Il a en effet la particularité d’allouer la mémoire par un système de gestion de la propriété au moment de la compilation. Ainsi, les données inutilisées sont nettoyées automatiquement sans que personne n’ait besoin de penser à allouer ou libérer de la mémoire. Alors que les cloud providers appliquent des tarifs élevés lorsque les entreprises nécessitent plus de mémoires ou de nœuds, c’est un vrai avantage !

Certes la communauté est encore un peu réduite mais elle est très active.

Un inconvénient ? Oui, la courbe d’apprentissage est plus longue que les autres langages (partez sur deux semaines !) et comme Rust reste tout de même encore récent, vous n’avez pas encore toutes les ressources et autres bibliothèques dont vous pourriez avoir besoin (cf STACK OVERFLOW).

Trois raisons pour lesquels vous devriez sérieusement envisager de passer à Rust ?

  1. Vous avez besoin de traiter de grandes quantités de données
  2. Votre projet exige des performances élevées
  3. Vous menez des opérations très gourmandes en CPU comme l’exécution d’algorithmes

Et trois raisons pour lesquelles vous avez bien raison d’utiliser ce bon vieux Python (il remonte à 1991)

  1. Vous avez besoin d’un langage simple, flexible et facile à coder (accessible même aux débutants)
  2. Votre projet consomme beaucoup d’IA et de ML
  3. Vous êtes davantage dans la data science et les performances ne sont pas l’enjeu principal

Sources :