Le client
Le client est un éditeur de solutions SaaS spécialisé dans la digitalisation de la gestion énergétique et technique des actifs immobiliers. Sa plateforme Big Data et IoT permet aux gestionnaires immobiliers d'optimiser les performances système et environnementales de leur patrimoine bâti en temps réel.
État initial de l'infrastructure
Avec plusieurs centaines de gigaoctets de données de capteurs collectées quotidiennement, le client disposait d'une base de données MongoDB comme unique système de stockage. Cette architecture présentait des limitations structurelles pour répondre aux besoins d'analytics en temps réel et d'expérience utilisateur attendus.
Points de blocage identifiés :
- Latence incompatible avec l'analyse en temps réel : MongoDB, optimisé pour les transactions opérationnelles (OLTP), ne permettait pas d'exécuter des requêtes analytiques complexes (OLAP) sur des volumes massifs de données IoT sans dégradation significative des performances
- Absence d'architecture analytique dédiée : Les données opérationnelles et analytiques partageaient le même système, créant des conflits de ressources et impactant la disponibilité du service
- Expérience utilisateur limitée : Impossible de fournir aux clients des dashboards interactifs, réactifs et personnalisés permettant un pilotage fin de leurs consommations énergétiques
- Scalabilité compromise : L'augmentation continue des volumes de données IoT (capteurs supplémentaires, fréquence d'échantillonnage accrue) menaçait la stabilité du système existant
- Segmentation client inexistante : Absence de mécanisme permettant d'isoler les données par client et de garantir une gouvernance granulaire des accès
<aside>
Objectif techniqueDéployer une architecture data analytique découplée permettant l'analyse en temps réel des données IoT à grande échelle, tout en fournissant à chaque client un cockpit personnalisé, ergonomique et performant. L'architecture doit garantir la scalabilité face à la croissance des volumes, la latence sub-seconde pour les requêtes analytiques, et la segmentation native des données par client.
</aside>
Solution : Architecture lakehouse avec data warehouse colonnaire temps réel
Approche : Séparation OLTP/OLAP et architecture en couches
Le projet a consisté à déployer une architecture data moderne séparant les responsabilités opérationnelles (OLTP) et analytiques (OLAP), en exploitant les caractéristiques des data warehouses colonnaires optimisés pour l'analytique temps réel.
Phase 1 : Architecture & Infrastructure data (mois 1-2)
Déploiement de l'infrastructure data sur AWS avec conception d'une architecture lakehouse.
Data Ingestion & streaming
- Mise en place de triggers MongoDB pour capturer les événements d'insertion en temps réel (Change Data Capture)
- Développement de pipelines d'ingestion Python pour l'extraction des collections MongoDB vers AWS S3
- Implémentation du partitionnement des données sur S3 (par date, par client, par type de capteur) pour optimiser les performances de lecture et maîtriser les coûts de stockage
- Utilisation de AWS Glue Data Catalog pour la gestion des métadonnées et la définition des schémas
Data Warehousing analytique
- Déploiement de ClickHouse comme data warehouse colonnaire, optimisé pour les requêtes analytiques massives en temps réel
- ClickHouse a été sélectionné pour ses performances exceptionnelles sur les requêtes d'agrégation complexes (capable de traiter des milliards de lignes par seconde), sa compression de données native (réduction de 10x des coûts de stockage vs bases relationnelles), et sa capacité à gérer des requêtes en streaming
- Modélisation en architecture trois couches :
- Raw Layer : Ingestion brute des données IoT depuis S3 via AWS Athena, avec normalisation, déduplication et correction des valeurs aberrantes (outliers). Période de rétention adaptée aux contraintes réglementaires
- Warehouse Layer : Historisation complète des données avec versioning (Slowly Changing Dimensions Type 2), enrichissement par croisement avec référentiels métier (caractéristiques des bâtiments, contrats, zones géographiques)
- Datamart Layer : Tables agrégées par client et par cas d'usage métier, optimisées pour les dashboards avec matérialisation des calculs complexes (indicateurs de consommation, comparatifs temporels, détection d'anomalies)
Orchestration & automatisation
- Déploiement d'Apache Airflow pour l'orchestration des pipelines d'ingestion et de transformation
- Création de DAGs pour l'automatisation end-to-end : extraction MongoDB → S3 → Athena → ClickHouse → Datamarts
- Mise en place de mécanismes de retry automatique, de monitoring des temps d'exécution, et d'alerting en cas d'anomalie
Phase 2 : Transformation & Data Engineering (Mois 2-3)
Implémentation des couches de transformation SQL et optimisation des performances.
Data modeling & transformation
- Développement de requêtes SQL Athena pour la transformation des données de la Raw Layer vers le Warehouse
- Migration des transformations Athena vers SparkSQL via AWS Glue pour améliorer les performances sur les gros volumes (exécution distribuée)
- Intégration du connecteur Apache Hudi pour gérer les opérations UPSERT et DELETE sur les données dans S3 (format transactionnel pour le data lake)
- Optimisation des coûts Athena via :
- Partitionnement optimal des tables par date et par client
- Compression Parquet avec encoding adapté aux types de données IoT
- Columnar pruning pour ne scanner que les colonnes nécessaires aux requêtes
- Conversion des formats JSON → Parquet pour réduire la volumétrie scannée de 80%
Data marts & segmentation client
- Création de datamarts dédiés par client avec isolation logique des données (Row-Level Security)
- Calcul d'indicateurs métier complexes :
- Consommations énergétiques par période (heure, jour, mois, année) et par type d'énergie (électricité, gaz, eau, chauffage)
- Comparaisons temporelles (jour J vs J-1, semaine N vs N-1, année N vs N-1)
- Détection d'anomalies par analyse des écarts à la moyenne mobile et seuils dynamiques
- Indices de performance énergétique (kWh/m², consommation par occupant, DJU - Degrés Jours Unifiés)
- Tables matérialisées dans ClickHouse pour garantir des temps de réponse sub-seconde sur les dashboards
Phase 3 : analytics embarquée & business intelligence (mois 3-4)
Déploiement de l'interface de restitution avec analytics embarquée pour les clients finaux.
Embedded Analytics avec Cumul.io
- Intégration de Cumul.io comme plateforme de Business Intelligence embarquée, sélectionnée pour sa capacité à gérer le multi-tenancy natif (isolation des données par client via tokens OAuth)
- Connexion directe de Cumul.io aux datamarts ClickHouse via connecteur SQL
- Développement de dashboards interactifs personnalisés par client :
- Cockpits énergétiques en temps réel : visualisation des consommations actuelles avec comparaison aux prévisions et aux historiques
- Tableaux de bord d'analyse : drill-down par bâtiment, par étage, par type d'équipement (CVC, éclairage, prises)
- Rapports d'optimisation : identification des gisements d'économies, recommandations automatisées
- Alertes visuelles : détection des anomalies de consommation, dépassements de seuils contractuels
Intégration SaaS
- Intégration des dashboards Cumul.io dans la plateforme SaaS du client via iframes sécurisées avec authentification OAuth 2.0
- Mise en place de Single Sign-On (SSO) pour une expérience utilisateur transparente
- Whitelabeling des dashboards aux couleurs et identité visuelle de chaque client final
Stack technique déployée
ComposantTechnologieCloud ProviderAWSOrchestrationApache AirflowObject StorageAWS S3Data CatalogAWS Glue Data CatalogQuery EngineAWS Athena, SparkSQL (AWS Glue ETL)Data Lake FormatApache HudiData WarehouseClickHouseEmbedded AnalyticsCumul.ioSource DatabaseMongoDBLanguagesPython, SQL, SparkSQL
Résultats mesurés
Performance technique
- Latence des requêtes analytiques : Réduction de 95%+ des temps de réponse sur les requêtes d'agrégation complexes. Passage de plusieurs minutes (MongoDB) à moins de 2 secondes sur ClickHouse pour des agrégations portant sur des milliards de lignes
- Scalabilité garantie : Architecture dimensionnée pour absorber une croissance 10x des volumes de données (passage de centaines de Go à plusieurs To) sans refonte structurelle ni dégradation de performance
- Coûts de stockage optimisés : Réduction de 80% des coûts de stockage grâce au format Parquet compressé et à l'archivage automatique des données historiques sur S3 Glacier
- Isolation parfaite des workloads : Séparation OLTP (MongoDB pour les opérations) / OLAP (ClickHouse pour l'analytique) garantissant la disponibilité du système opérationnel
Impact métier & expérience utilisateur
- Analytics en temps réel opérationnelle : Les clients finaux accèdent désormais à leurs indicateurs de consommation avec une latence inférieure à 5 minutes après collecte des données capteurs, permettant une prise de décision réactive
- Cockpits personnalisés par client : Chaque gestionnaire immobilier dispose d'un dashboard dédié et sécurisé, adapté à la typologie de son patrimoine (bureaux, logements, bâtiments industriels), facilitant le pilotage opérationnel quotidien
- Amélioration de l'expérience utilisateur : Les dashboards interactifs Cumul.io, intégrés nativement à la plateforme SaaS, ont supprimé les exports manuels et amélioré significativement la satisfaction client (mesurée par NPS)
- Différenciation commerciale : La capacité à fournir de l'analytics embarquée performante est devenue un argument de vente différenciant face à la concurrence
Impact organisationnel
- Autonomie des équipes : Les équipes produit et data du client peuvent désormais développer de nouveaux cas d'usage analytiques de manière autonome en créant de nouveaux datamarts sans impacter l'existant
- Réduction de la dette technique : L'architecture en couches (Raw / Warehouse / Marts) facilite la maintenance et l'évolution, avec une séparation claire des responsabilités
- Observabilité : Le monitoring via Airflow et AWS CloudWatch offre une visibilité complète sur les pipelines, permettant la détection proactive des anomalies
Conclusion
En 4 mois, le client a déployé une plateforme d'analytics embarquée temps réel pour l'IoT, reposant sur une architecture lakehouse moderne (S3 + ClickHouse). La séparation des workloads OLTP/OLAP, l'exploitation d'un data warehouse colonnaire optimisé pour l'analytique temps réel, et l'intégration d'une solution d'embedded analytics multi-tenant ont permis de répondre aux enjeux de performance, de scalabilité et d'expérience utilisateur. La plateforme est dimensionnée pour accompagner la croissance du client (nouveaux clients, nouveaux types de capteurs, nouveaux cas d'usage analytiques) sans refonte architecturale majeure. L'architecture mise en place constitue un avantage concurrentiel décisif, positionnant le client comme un acteur technologique de référence dans le secteur de la gestion énergétique des bâtiments.