Revenir au contenu principal
Solutions

Mise à l'échelle pour MHHS : comment Octopus Energy a obtenu une réduction des coûts de 50x dans l'ingénierie des données de marge

Comment une équipe de trois ingénieurs a réarchitecturé les pipelines de données d'Octopus Energy pour gérer une augmentation de volume de données de 48x - et a réduit les coûts de 50x dans le processus.

par Saad Ali, David Poulet, Daniel Taylor et Ismail Makhlouf

  • Ce que c'est : Comment Octopus Energy a réarchitecturé ses pipelines de données de marge sur Databricks pour se conformer à la réglementation britannique MHHS.
  • Le défi : MHHS multiplie le volume de données par 48 (deux relevés de compteur par foyer et par mois → 48 par jour), projetant d'ajouter environ 1 million de dollars par an aux coûts des pipelines dans l'architecture actuelle à grain unique.
  • Le résultat : Trois ingénieurs ont reconstruit les pipelines en trois mois, réduisant le coût par date de règlement de 23,63 $ à 0,48 $ — 50 fois moins cher que la projection MHHS et 2 fois moins cher que le système existant malgré 48 fois plus de données. Delta Lake Change Data Feed a entraîné une réduction de 98,8 % des lignes traitées (25 milliards → 300 millions) et a amélioré la fraîcheur des données de hebdomadaire à quotidienne ; Databricks Serverless a permis la fenêtre d'itération rapide.

La transition énergétique a un problème de données

Le réseau énergétique du Royaume-Uni traverse sa transformation structurelle la plus importante depuis des décennies. Alors que les énergies renouvelables comme l'éolien et le solaire prennent une part plus importante de la production d'électricité, l'intermittence devient un problème majeur : l'énergie est bon marché quand le soleil brille et chère quand il ne brille pas.

Le modèle de règlement existant - basé sur des relevés de compteurs mensuels et des profils de consommation moyens - ne peut pas évaluer ce signal avec précision. Et si vous ne pouvez pas l'évaluer avec précision, vous ne pouvez pas le transmettre aux consommateurs, et la demande ne s'adapte jamais à l'offre.

Le règlement semih-horaire à l'échelle du marché (MHHS) est la réponse réglementaire. Chaque foyer de Grande-Bretagne passe de deux relevés de compteur par mois à 48 relevés par jour. Ce n'est pas un changement incrémental. Pour un fournisseur comme Octopus Energy, qui dessert plus de 8 millions de clients, c'est une augmentation de 48 fois des points de données qui pilotent chaque calcul de marge, chaque obligation de règlement et chaque décision commerciale.

L'implication en matière d'ingénierie des données est directe : sans ré-architecture, le coût d'infrastructure pour exécuter les pipelines de marge d'Octopus Energy devait augmenter d'un million de dollars chaque année.

Pourquoi se contenter d'augmenter la puissance de calcul ne fonctionne pas

L'instinct, lorsque les volumes de données augmentent de 48 fois, est de provisionner plus d'infrastructure. Pour l'équipe de données de marge d'Octopus Energy, cet instinct s'est rapidement avéré intenable. Le coût projeté par date de règlement sous l'architecture héritée était de 23,63 $ - une augmentation de 33 fois par rapport aux normes historiques. Multipliez cela sur les fenêtres de règlement, et la facture s'accumule rapidement.

Cependant, le problème plus profond n'était pas le coût de calcul, mais l'inadéquation de l'architecture. Le pipeline hérité avait été construit autour d'un seul grain : mensuel. La facturation était mensuelle. Le règlement était mensuel. L'ensemble du pipeline était monolithique par conception.

Le MHHS a introduit une séparation fondamentale. Les données de coûts de l'industrie arrivent désormais avec une granularité semih-horaire - 48 points de données par client par jour. Les clients avec des tarifs intelligents, des VE et des pompes à chaleur ont besoin de calculs de revenus semih-horaires. Les clients avec des tarifs standard règlent toujours mensuellement. L'exécution des trois via un seul pipeline monolithique signifiait le traitement de l'ensemble du jeu de données à chaque exécution, indépendamment de ce qui avait réellement changé.

Comme l'a formulé Saad Ali, responsable de l'équipe de données de marge chez Octopus Energy : « Vous ne pouvez pas simplement augmenter la puissance de calcul pour résoudre un problème comme celui-ci. Vous devez reconstruire et repenser votre logique à partir de zéro. »

L'architecture : trois flux, une source de vérité

L'équipe a ré-architecturé autour de trois flux spécialisés, chacun optimisé indépendamment pour son grain naturel :

Règlement - Granularité semih-horaire pour le règlement réglementaire et l'allocation des coûts. Les frais industriels à 48 points de données par jour ; ce flux correspond exactement à ce grain.

Semi-horaire - Traitement semih-horaire pour les clients à tarif intelligent : conducteurs de VE, utilisateurs de pompes à chaleur et produits à tarification horaire où le signal de prix semih-horaire est la proposition commerciale entière.

Mensuel - Traitement mensuel pour les clients à tarif standard, inchangé en grain mais désormais conciliable avec les données semih-horaires.

Un modèle d'orchestration « Job of Jobs » gère les dépendances et l'exécution parallèle sur les trois flux. Chaque flux est réglable indépendamment - ce qui fonctionne comme une optimisation Spark pour le règlement n'est pas nécessairement adapté au NHH.

Sous-jacent aux trois se trouve la couche de consommation en aval : une source de vérité unifiée et multi-grain consolidant les relevés de compteurs, les données de compteurs intelligents et les flux industriels à l'échelle multi-téraoctets. Cette couche est le pont de réconciliation entre la facturation mensuelle et le règlement semih-horaire - et elle est devenue le site de l'optimisation à plus fort effet de levier du projet.

Traitement incrémental : 98,8 % de lignes en moins

L'approche naïve des tables de consommation en amont - retraiter l'ensemble du jeu de données multi-téraoctets à chaque exécution - aurait entraîné des coûts de calcul insoutenables avec le nouveau volume.

Le Change Data Feed (CDF) de Delta Lake a rendu le traitement incrémental réel viable à ce grain. Au lieu d'écrasements complets, le pipeline ne lit désormais que les enregistrements qui ont réellement changé depuis la dernière exécution. Le résultat : les lignes traitées par exécution sont passées de 25 milliards à 300 millions - une réduction de 98,8 %.

La fraîcheur des données est passée de hebdomadaire à quotidienne. Pour l'équipe commerciale, ce changement signifie une visibilité des marges au grain où les décisions de tarification sont réellement prises - chaque matin, pas une fois par semaine.

Remarque : le million de dollars d'économies annualisées cité ci-dessous exclut les économies supplémentaires réalisées grâce à ce passage au traitement incrémental sur les tables en amont. Le gain d'efficacité complet est plus important.

Optimisation Spark & Delta - et quoi supprimer

Avec 48 fois plus de données circulant dans le système, l'équipe a appliqué des optimisations ciblées validées par des mesures dans quatre catégories :

Réduction de la lignée et des E/S

  • Lignée simplifiée en consolidant les données tôt dans le pipeline, réduisant les jointures en aval et les opérations de brassage
  • Élagage des données : sélection uniquement des colonnes strictement nécessaires au règlement et élagage des lignes au plus tôt possible, réduisant la surcharge des E/S avant les transformations coûteuses

Réglage des jointures et du partitionnement

  • Jointures par diffusion pour les tables de référence de moins de 500 Mo, éliminant les opérations de brassage coûteuses sur les jointures multi-clés complexes avec des plages de dates
  • Le clustering liquide a été activé sur plusieurs tables pour les colonnes fréquemment utilisées dans les filtres et les jointures. Le clustering liquide co-localise dynamiquement les enregistrements associés sur les clés de clustering spécifiées sans nécessiter de limites de partition fixes. Le clustering liquide évite le problème des petits fichiers, la consommation de mémoire plus élevée et la surcharge des E/S résultant d'un sur-partitionnement.

Faire confiance à l'optimiseur

  • Dans plusieurs cas, l'exécution adaptative des requêtes (AQE) de Spark a surpassé la logique optimisée manuellement. L'équipe a supprimé le code d'optimisation personnalisé et a laissé l'AQE faire son travail.

Ce dernier point mérite d'être souligné : la suppression des opérations de calcul injustifiées a eu autant d'impact que l'ajout de nouvelles optimisations. Si vous utilisez Z-ordering ou ANALYZE sans mesurer leur effet, ils pourraient vous coûter plus cher qu'ils ne vous rapportent.

Serverless comme accélérateur de développement

Databricks Serverless a rendu la fenêtre de livraison de trois mois réalisable. Le temps de démarrage nul des clusters a permis à l'équipe d'itérer rapidement - écrire, exécuter, mesurer, ajuster - sans attendre le provisionnement de l'infrastructure.

L'interface utilisateur Serverless a permis des comparaisons côte à côte des exécutions, rendant pratique l'isolement de l'effet des optimisations individuelles.

Selon les mots de l'équipe : « Le processus de test et de développement n'aurait pas pu être réalisé sans serverless. L'utilisation de l'interface utilisateur serverless nous a aidés à identifier les goulots d'étranglement et à faire des comparaisons faciles entre différentes exécutions. »

Résultats

MétriqueAvantAprèsChangement
Lignes traitées par exécution25 milliards300 millionsRéduction de 98,8 %
Coût par date de règlement (MHHS projeté)23,63 $0,48 $~50x réduction
Coût par date de règlement (vs hérité)0,71 $0,48 $2x plus efficace
Économies par exécution de fin de mois-~83 000 $vs projection non optimisée
Évitement des coûts annualisés-~1 000 000 $exclut les économies en amont
Fraîcheur des donnéesHebdomadaireQuotidienneAmélioration de 7x
Temps de construction-3 moisÉquipe de trois personnes

Les 0,48 $ par date de règlement ne sont pas seulement une réduction de 50 fois par rapport au coût projeté du MHHS - ils sont 2 fois moins chers que le système hérité ne l'a jamais été, malgré le traitement de 48 fois plus de points de données. La ré-architecture a assuré la conformité réglementaire et a rendu le système matériellement plus efficace que celui qu'elle a remplacé.

Ce que cela signifie au-delà de l'énergie

Le MHHS est une réglementation britannique sur l'énergie. Cependant, le schéma qu'il représente - un événement réglementaire ou commercial qui multiplie le volume de données à un grain plus fin - n'est pas unique à l'énergie. Chaque fois qu'un système passe du mensuel au quotidien, du quotidien au temps réel, ou de l'agrégat au transactionnel, les mêmes dynamiques s'appliquent.

Quatre enseignements transférables de l'expérience Octopus Energy :

  1. Le désalignement des grains est le moteur de coûts caché. Lorsqu'un pipeline traite tout au grain le plus fin, indépendamment des besoins de l'entreprise, vous le payez en calcul, en fraîcheur et en complexité de maintenance. Identifiez les grains naturels de vos données et alignez le traitement sur eux.
  2. Le traitement incrémental transforme l'économie des pipelines. La réduction de 98,8 % des lignes provient de la logique incrémentale basée sur le CDF, et non de l'optimisation Spark. Commencez par là - et rappelez-vous que les économies totales sont plus importantes que le chiffre principal.
  3. Supprimez avant d'ajouter. Auditez les choix d'optimisation existants avant de supposer que vous avez besoin de plus de calcul. Le Z-ordering, ANALYZE et la logique de brassage personnalisée appliqués sans mesure peuvent vous coûter plus cher qu'ils ne vous rapportent.
  4. Faites confiance à l'optimiseur. AQE a surpassé la logique codée à la main dans plusieurs cas. Avant d'écrire une optimisation personnalisée, vérifiez si Spark gère déjà votre cas.

La situation globale

Selon Saad : « En rendant nos systèmes plus rapides et plus efficaces, nous pouvons proposer des tarifs plus intelligents qui aident nos clients à utiliser l'énergie lorsqu'elle est la moins chère et la plus propre. »

La réduction de la base de coûts fait quelque chose de spécifique : elle supprime la barrière économique au traitement des données à haute fréquence. Cela rend l'équilibrage du réseau viable en tant que produit. Cela rend les tarifs intelligents commercialement durables. C'est ainsi que l'ingénierie des données à grande échelle se connecte à la transition énergétique - non pas comme une charge d'infrastructure, mais comme le fondement commercial de celle-ci.

La conformité MHHS était le mandat. Rendre l'énergie durable l'option abordable est la mission. L'ingénierie des données est ce qui relie les deux.

Aller plus loin

———

Saad Ali est responsable de l'équipe de données de marge chez Octopus Energy. Ismail Makhlouf, David Poulet et Daniel Taylor sont architectes de solutions chez Databricks.

(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original

Recevez les derniers articles dans votre boîte mail

Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.