Accélérer vos analyses jusqu’à 6 fois : plongée au cœur du moteur d’exécution natif de Microsoft Fabric
By Mirko Peters ·
Bienvenue dans le podcast ! Dans ce billet, nous prolongeons notre dernier épisode, où nous décortiquons les puissantes architectures cachées qui font fonctionner les plateformes de données modernes…
Automatically translated with AI from the original post. Read the English original
Bienvenue dans le podcast ! Dans ce billet, nous prolongeons notre dernier épisode, où nous décortiquons les puissantes architectures cachées qui font fonctionner les plateformes de données modernes. Si vous vous êtes déjà demandé comment les charges de travail analytiques d’entreprise peuvent soudainement s’exécuter beaucoup plus vite sans nécessiter de réécriture complète de votre code, vous êtes au bon endroit. Nous proposons un regard approfondi sur le moteur d’exécution natif de Microsoft Fabric, une technologie qui change la donne et redéfinit la manière dont les ingénieurs de données, les data scientists et les analystes métier envisagent la montée en charge dans le cloud, l’optimisation des performances et les économies de coûts.
Dans l’épisode de podcast que nous mettons en avant, Speed Power BI with OneLake and Direct Lake, nous explorons le fonctionnement de ces moteurs sous-jacents et la façon dont ils interagissent avec des outils comme OneLake et Direct Lake pour accélérer le reporting d’entreprise. Dans cette analyse approfondie, nous détaillerons les composants fondamentaux de cette architecture, nous explorerons la magie de l’exécution vectorisée, nous examinerons des cas d’usage concrets et nous regarderons ce que réserve l’avenir aux plateformes de données modernes.
Points clés
- Le moteur d’exécution natif de Microsoft Fabric accélère le traitement des données jusqu’à 6 fois par rapport aux runtimes Spark traditionnels.
- Les organisations peuvent réaliser une économie d’environ 83 % sur les clusters à taille fixe en utilisant le moteur d’exécution natif, ce qui entraîne des réductions de coûts significatives.
- Ce moteur prend en charge plusieurs formats de données, dont Parquet et Delta, ce qui permet une exécution efficace des requêtes sans modification du code.
- L’exécution vectorisée traite les données par lots, ce qui améliore les performances et réduit l’utilisation du processeur, un point essentiel pour le traitement de grands volumes de données.
- L’intégration du moteur d’exécution natif aux applications Spark existantes ne nécessite aucune modification, ce qui facilite son adoption.
- Les capacités d’analyse en temps réel permettent d’obtenir des informations immédiates, aidant les entreprises à prendre des décisions opportunes à partir de données actuelles.
- La conception modulaire du moteur permet une intégration fluide dans les flux de données existants, ce qui améliore l’efficacité globale.
- Les évolutions à venir, comme les outils assistés par IA et la gestion optimisée de la mémoire, promettent d’améliorer encore les capacités de traitement des données.
Présentation de Microsoft Fabric

Microsoft Fabric représente une avancée majeure dans la gestion des données et l’analytique. Son architecture combine plusieurs composants qui travaillent ensemble de manière fluide pour renforcer vos capacités de traitement des données. Voici un regard plus détaillé sur son architecture et ses composants clés.
Architecture
L’architecture de Microsoft Fabric repose sur plusieurs composants essentiels qui soutiennent un traitement efficace des données. Ces composants comprennent :
- OneLake Data Lake : ce référentiel de données centralisé prend en charge plusieurs formats de données. Il garantit la sécurité et la gouvernance, en faisant une source fiable pour vos besoins en données.
- Data Engineering (Synapse) : ce composant facilite les transformations de données à grande échelle à l’aide d’Apache Spark. Il est idéal pour les tâches complexes de préparation des données.
- Data Warehouse (Synapse) : cet élément fournit une analytique SQL hautes performances. Il s’intègre étroitement à OneLake pour les charges de travail sur données structurées.
- Real-Time Analytics (Synapse) : cette fonctionnalité permet une analytique à haut débit, vous donnant accès à des informations immédiates à partir de données en flux continu.
- Data Factory : ce composant offre de vastes capacités d’intégration de données. Avec plus de 200 connecteurs, il est indispensable pour les processus ETL et ELT.
- Power BI : cet outil vous permet de créer des rapports et des tableaux de bord interactifs. Il garantit la fraîcheur des données grâce à son intégration avec d’autres services.
Composants clés
L'intégration d’OneLake et de Direct Lake améliore considérablement l’architecture de Microsoft Fabric. Voici quelques avantages de cette intégration :
| Avantage | Description |
|---|---|
| Performances des requêtes | Les requêtes Direct Lake sont traitées par le moteur VertiPaq, offrant des performances comparables au mode Import, sans les contraintes des cycles d’actualisation des données. |
| Intégration transparente | Direct Lake s’intègre aux investissements existants dans Fabric, ce qui en fait une solution idéale pour la couche analytique gold de l’architecture lakehouse en médaillon. |
| Maximisation du retour sur investissement | Seules les données nécessaires sont chargées en mémoire, ce qui permet d’analyser des volumes de données dépassant les limites de mémoire. |
| Latence réduite | Le modèle sémantique se synchronise automatiquement avec ses sources, rendant les nouvelles données disponibles sans planification d’actualisation. |
Cette architecture permet à Microsoft Fabric de faciliter une intégration transparente avec l’infrastructure de données existante. Le lac de données centralisé prend en charge divers formats de données et garantit un stockage unifié. Par ailleurs, les solides capacités d’intégration de données de Data Factory permettent une orchestration fluide à travers l’ensemble de votre écosystème de données.
En tirant parti de ces composants, vous pouvez rationaliser vos processus de données et renforcer vos capacités analytiques. Microsoft Fabric ne se contente pas de simplifier la gestion des données : il vous permet aussi de prendre des décisions éclairées à partir d’informations en temps réel.
Présentation du moteur d’exécution natif
Le moteur d’exécution natif constitue un composant puissant de Microsoft Fabric, qui optimise le traitement des données et les analyses. Il améliore les performances en exploitant les capacités natives des sources de données sous-jacentes. Ce moteur prend en charge divers opérateurs et types de données, notamment l’agrégation de hachage avec rollup et la jointure par boucle imbriquée avec diffusion. Il traite efficacement les données aux formats Parquet et Delta, ce qui en fait une solution idéale pour les requêtes gourmandes en calcul.
Fonctionnalité
Fonctionnement dans Microsoft Fabric
Le moteur d’exécution natif fonctionne de manière transparente au sein de l’architecture globale de Microsoft Fabric. Il améliore les performances d’Apache Spark en remplaçant les opérateurs d’exécution traditionnels basés sur la JVM par des implémentations natives en C++. Des technologies comme Velox et Apache Gluten rendent cette évolution possible, en optimisant l’exécution des requêtes grâce au traitement en colonnes et à la vectorisation. Cette intégration permet aux applications Spark existantes de fonctionner sans modification, tout en améliorant nettement l’efficacité des transformations et agrégations de données complexes.
Intégration avec le lakehouse
L’intégration du moteur d’exécution natif avec l’architecture lakehouse change la donne. Vous pouvez exécuter des requêtes Spark directement sur l’infrastructure lakehouse, sans modifier votre code. Cette capacité prend en charge les formats Parquet et Delta, vous permettant d’exploiter pleinement le potentiel de vos données. Les gains de performance du moteur peuvent atteindre jusqu’à 4 fois plus rapide que Spark open source traditionnel, réduisant les coûts opérationnels et améliorant l’efficacité de nombreuses tâches de données.
Fonctionnalités clés
Exécution vectorisée
L’une des fonctionnalités phares du moteur d’exécution natif est sa capacité d’exécution vectorisée. Elle permet au moteur de traiter les données par lots plutôt que ligne par ligne. Grâce à des dispositions de données en colonnes et à des techniques avancées en mémoire, le moteur peut surpasser les moteurs traditionnels basés sur la JVM, en particulier dans les environnements cloud. À titre d’exemple, des tests de performance internes sur un jeu de données d’un milliard de lignes montrent une réduction du temps d’exécution par requête de 20 à 32 secondes, soit une amélioration des performances de 20 % à 27 %.
Améliorations des performances
Le moteur d’exécution natif apporte plusieurs améliorations de performances qui le distinguent des autres moteurs d’exécution. Voici quelques améliorations clés :
| Source | Description | Gain de performance |
|---|---|---|
| Apache Hudi | Requêtes sur les tables Copy-on-Write | Réduction de 33 % du temps d’exécution |
| Google DataProc | Performances du moteur d’exécution natif | Jusqu’à 2,7 fois plus rapide |
| Microsoft Fabric | Tests de performance internes sur un jeu de données d’un milliard de lignes | Réduction du temps d’exécution de 20 à 32 secondes par requête, soit une amélioration de 20 % à 27 % |
Ces améliorations font du Native Execution Engine un choix solide pour les organisations qui souhaitent optimiser leurs flux de traitement de données. En gérant efficacement les transformations et les agrégations complexes, il vous permet d’extraire des informations de vos données plus rapidement et plus efficacement.
Avantages en termes de performances de Microsoft Fabric

Gains d’efficacité
Lorsque vous travaillez avec de gros volumes de données, l’efficacité devient essentielle. Le Native Execution Engine de Microsoft Fabric s’attaque aux goulots d’étranglement courants qui ralentissent le traitement des données. Il accélère les charges de travail Parquet et Delta, gère sans heurt les transformations complexes et optimise les requêtes analytiques gourmandes en CPU. Vous passez ainsi moins de temps à attendre et davantage à analyser.
| Aspect de performance | Description |
|---|---|
| Gains de vitesse | Accélérations importantes pour les charges de travail Parquet et Delta, les transformations complexes et les requêtes gourmandes en CPU. |
| Résultats des tests de performance | Jusqu’à 6 fois plus rapide sur les charges de travail TPC-DS SF1000, ce qui réduit sensiblement les coûts de calcul. |
| Efficacité de l’accès à la mémoire | Utilise un traitement en colonnes et des instructions SIMD pour un accès mémoire efficace et un parallélisme accru. |
| Intégration avec l’optimiseur Spark | Conserve intacts l’exécution adaptative des requêtes, le pushdown des prédicats et les autres optimisations Spark. |
| Visibilité en temps réel des replis | Indique quand des opérations non prises en charge basculent vers l’exécution JVM, ce qui vous aide à surveiller les performances. |
Cette efficacité réduit les coûts cachés souvent associés à la gestion d’environnements de données à grande échelle. Vous évitez de gaspiller des ressources en cycles CPU inutiles ou en surcharge mémoire. Le traitement en colonnes et l’exécution vectorisée du Native Execution Engine lui permettent d’analyser les données plus rapidement et de consommer moins de cycles CPU. Cela réduit votre coût par requête et améliore la réactivité globale du système.
Améliorations de la vitesse
La rapidité compte lorsque vous voulez obtenir des informations pertinentes au bon moment à partir de vos données. Le Native Execution Engine apporte des gains de vitesse impressionnants sans vous obliger à modifier vos applications existantes. De nombreuses organisations rapportent des temps de requête 2 à 3 fois plus rapides sur diverses charges de travail analytiques, simplement en activant ce moteur.
Voici comment le moteur obtient ces gains de vitesse :
- Spark crée un plan physique logique et optimisé, comme d’habitude.
- Gluten identifie les opérateurs pris en charge nativement et les remplace par des équivalents natifs plus rapides.
- Velox exécute ces opérateurs natifs à l’aide de noyaux C++ hautement optimisés.
- Si une opération n’est pas prise en charge, le moteur revient à l’exécution JVM de Spark, garantissant des performances fluides.
Sur un jeu de données d’un milliard de lignes, les tests montrent une réduction du temps d’exécution de 20 à 32 secondes par requête lors de l’utilisation du clustering avec le Native Execution Engine. Cela représente une amélioration de 20 % à 27 % selon les différentes combinaisons de colonnes clusterisées. Ces gains vous permettent d’exécuter vos analyses plus rapidement et de réduire les coûts cachés liés aux requêtes longues.
⚡ Astuce : En tirant parti de ces améliorations de vitesse, vous pouvez accélérer vos flux analytiques et prendre des décisions plus rapides, fondées sur les données, sans investir dans du matériel supplémentaire.
La conception de Microsoft Fabric garantit que ces avantages évoluent avec vos données. À mesure que vos jeux de données grandissent, le moteur conserve des performances élevées et une bonne efficacité des coûts. Cette capacité de montée en charge fait de Fabric un excellent choix pour les entreprises qui souhaitent optimiser leurs pipelines analytiques tout en maîtrisant leurs dépenses.
Cas d’usage du Native Execution Engine
Le Native Execution Engine de Microsoft Fabric offre de nombreuses applications concrètes qui améliorent le traitement des données et l’analytique. Des organisations de tous secteurs exploitent ses capacités pour rationaliser leurs opérations et obtenir des informations précieuses.
Applications concrètes
Services financiers : les banques et les institutions financières utilisent le Native Execution Engine pour traiter rapidement de grands volumes de données. Elles analysent les données de transaction en temps réel, ce qui leur permet de détecter la fraude et d’évaluer les risques plus efficacement. La rapidité du moteur permet d’obtenir des analyses immédiates, un atout essentiel dans un environnement financier où tout va très vite.
Santé : les prestataires de santé utilisent le moteur pour gérer les données des patients et réaliser des analyses complexes. En traitant des données provenant de sources variées, ils peuvent améliorer les résultats pour les patients grâce à l’analyse prédictive. La capacité du moteur à traiter efficacement de gros volumes de données favorise une prise de décision plus éclairée dans les établissements de soins.
Commerce de détail : les détaillants tirent parti du Native Execution Engine pour optimiser leur chaîne d’approvisionnement et la gestion de leurs stocks. Ils analysent les données de vente pour prévoir la demande et ajuster les niveaux de stock en conséquence. Cette capacité contribue à réduire les coûts et à améliorer la satisfaction client en garantissant la disponibilité des produits.
Télécommunications : les opérateurs télécoms exploitent le moteur pour analyser les enregistrements de données d’appels et les indicateurs de performance du réseau. Cette analyse leur permet de repérer les tendances et d’optimiser la fourniture de leurs services. L’efficacité du moteur autorise une supervision en temps réel, indispensable pour maintenir la qualité de service.
Scénarios sectoriels
Le Native Execution Engine excelle dans divers scénarios sectoriels, en proposant des solutions adaptées à des défis spécifiques :
Ingénierie des données : dans le domaine de l’ingénierie des données, le moteur simplifie la transformation de données brutes en informations exploitables. Il prend en charge des pipelines de données complexes, ce qui permet aux organisations d’automatiser leurs flux de données. Cette capacité réduit l’effort manuel et renforce la productivité.
Analyse de Big Data : les entreprises qui gèrent des volumes importants de données tirent profit de la capacité du moteur à traiter rapidement d’immenses quantités d’informations. Il leur permet d’exécuter des requêtes analytiques sophistiquées sans sacrifier les performances. Cette efficacité est essentielle pour les organisations qui s’appuient sur des stratégies pilotées par les données.
Business Intelligence : le moteur améliore les applications de business intelligence en accélérant les réponses aux requêtes. Les utilisateurs peuvent créer des tableaux de bord et des rapports interactifs reflétant des données en temps réel. Cette immédiateté permet aux décideurs d’agir rapidement sur la base des informations les plus récentes.
Malgré ses avantages, la mise en œuvre du Native Execution Engine peut présenter des difficultés. Par exemple, la complexité des chemins d’exécution peut apparaître en raison de la présence de plusieurs moteurs d’exécution. Cette complexité rend plus difficile le suivi des dépendances entre les pipelines de données. De plus, la responsabilité opérationnelle augmente, car les équipes doivent gérer l’optimisation des performances et le contrôle des coûts sur plusieurs moteurs.
⚡ Astuce : comprendre ces difficultés vous aidera à préparer une mise en œuvre plus fluide du Native Execution Engine au sein de votre organisation.
En tirant parti du Native Execution Engine, vous pouvez transformer vos stratégies de données et libérer tout le potentiel de vos capacités analytiques.
Comparaison avec d’autres moteurs d’exécution
Lorsque vous comparez le Native Execution Engine à d’autres moteurs d’exécution, vous constatez plusieurs différences fonctionnelles. Ces différences mettent en évidence la manière dont le Native Execution Engine se distingue en matière de performances et d’efficacité.
Différences fonctionnelles
Modèle d’exécution : les moteurs d’exécution traditionnels reposent souvent sur la Java Virtual Machine (JVM) pour le traitement. En revanche, le Native Execution Engine utilise C++ pour ses opérations. Ce changement permet une exécution plus rapide et une surcharge réduite.
Traitement des données : de nombreux moteurs traitent les données ligne par ligne. Le Native Execution Engine, en revanche, emploie une exécution vectorisée. Cette méthode traite les données par lots, ce qui accélère nettement les requêtes analytiques.
Capacités d’intégration : si certains moteurs exigent des modifications importantes pour s’intégrer aux systèmes existants, le Native Execution Engine repose sur une conception modulaire. Cette conception facilite l’intégration dans vos flux de données actuels, sans changements majeurs.
Avantages concurrentiels
Le Native Execution Engine offre plusieurs avantages concurrentiels par rapport aux autres moteurs d’exécution. Ces atouts renforcent vos capacités de traitement des données et améliorent les performances globales. Voici un résumé de ces bénéfices :
| Avantage concurrentiel | Description |
|---|---|
| Exécution vectorisée native | Améliore l’efficacité de l’utilisation du processeur et réduit la surcharge liée à l’exécution basée sur la JVM. |
| Optimisations avancées | Comprend SIMD, l’évaluation paresseuse et l’exécution de requêtes adaptative, qui accroissent encore les performances. |
| Nature modulaire | Permet la réutilisation des composants, ce qui facilite l’intégration dans les systèmes existants. |
En tirant parti de ces avantages concurrentiels, vous pouvez obtenir de meilleures performances et une meilleure évolutivité dans vos travaux d’analyse de données. Le Native Execution Engine ne se contente pas d’accélérer les traitements : il optimise aussi l’utilisation des ressources. Cette efficacité se traduit par des économies et une productivité accrue pour votre organisation.
⚡ Astuce : lorsque vous évaluez des moteurs d’exécution, examinez comment leurs fonctionnalités propres correspondent à vos besoins spécifiques de traitement des données. Le bon choix peut avoir un impact considérable sur vos capacités d’analyse.
Avenir du Native Execution Engine
Fonctionnalités à venir
L’avenir du Native Execution Engine s’annonce prometteur, avec plusieurs fonctionnalités intéressantes à l’horizon. Ces évolutions visent à renforcer vos capacités de traitement des données et à améliorer les performances globales. Voici quelques-unes des principales fonctionnalités à venir :
- Vues matérialisées de lakehouse (MLV) : ces vues renforceront la mise en œuvre de l’architecture médaillon. Elles rendent les pipelines prêts pour la production, ce qui permet des flux de données plus efficaces.
- Outils d’ingénierie assistés par l’IA : l’arrivée d’outils améliorés comme Copilot témoigne d’une forte volonté d’intégrer les capacités de l’IA aux flux de travail de l’ingénierie des données. Cette intégration simplifiera les processus et renforcera la productivité.
- Gestion unifiée de la mémoire : le moteur optimisera la gestion de la mémoire, ce qui améliorera nettement les performances pour les ingénieurs et les data scientists. En contournant le ramasse-miettes (garbage collector) de la machine virtuelle Java, il réduira les goulots d’étranglement de performance.
Ces évolutions s’inscrivent dans les tendances actuelles du traitement des données dans le cloud. Elles vous aideront à répondre aux exigences de temps réel et de faible latence indispensables aux applications modernes.
Implications pour l’analytique
Les évolutions du Native Execution Engine auront des implications importantes pour l’analytique et la business intelligence. À mesure que le moteur évolue, vous pouvez vous attendre aux bénéfices suivants :
- Performances améliorées : le Native Execution Engine offre déjà un gain de performances de 6 fois par rapport à Spark open source, sans modification du code. Cette amélioration vous permettra d’exécuter des analyses complexes plus efficacement.
- Informations en temps réel : grâce à sa capacité à traiter des types de données variés, le moteur prendra en charge l’ingestion à haut débit et des requêtes hybrides à latence ultra-faible. Cette capacité est essentielle pour les analyses en temps réel et les processus pilotés par l’IA.
- Utilisation optimisée des ressources : l’architecture continuera d’optimiser l’utilisation des ressources, conformément aux principes cloud-native. Cette optimisation vous aidera à maîtriser les coûts tout en maintenant des performances élevées.
Au fur et à mesure du déploiement de ces fonctionnalités, vous constaterez que le Native Execution Engine ne se contente pas d’améliorer vos capacités d’analyse : il vous permet aussi de prendre des décisions fondées sur les données plus rapidement. L’avenir de l’analyse de données s’annonce prometteur avec ces innovations.
⚡ Conseil : suivez de près ces évolutions afin de tirer pleinement parti du Native Execution Engine dans vos flux de travail d’analyse.
Pour conclure, le Native Execution Engine de Microsoft Fabric joue un rôle essentiel dans l’amélioration de vos capacités de traitement des données. En s’appuyant sur des technologies comme Apache Gluten et Velox, il met l’accent sur l’exécution vectorisée et la compilation JIT (Just-In-Time). Cette conception accroît sensiblement la vitesse d’exécution et réduit la latence, ce qui vous permet de traiter efficacement des tâches de données complexes.
Pour l’avenir, le Native Execution Engine promet des avancées encore plus importantes. Il dépasse les limites de l’exécution Spark traditionnelle, en offrant une exécution des requêtes plus rapide et des économies substantielles. Avec des benchmarks montrant jusqu’à une amélioration de la vitesse par six et une réduction des coûts d’environ 83 %, ce moteur s’impose comme une solution évolutive et efficace pour l’analyse de données moderne. Pour approfondir encore la façon dont ces concepts s’appliquent aux rapports et aux performances d’OneLake, n’hésitez pas à écouter notre épisode de podcast associé, Speed Power BI with OneLake and Direct Lake !
⚡ Conseil : adoptez le Native Execution Engine pour exploiter tout le potentiel de vos flux de travail d’analyse et garder une longueur d’avance dans un paysage où les données guident les décisions.
Questions fréquentes
Qu’est-ce que le Native Execution Engine dans Microsoft Fabric ?
Le Native Execution Engine est une couche haute performance de Microsoft Fabric qui accélère le traitement des données grâce à du code C++ natif. Il améliore l’exécution des requêtes et réduit les coûts sans modifier vos applications existantes.
Comment le Native Execution Engine améliore-t-il les performances ?
Il s’appuie sur une exécution vectorisée et un traitement des données en colonnes pour gérer plus rapidement de grands volumes de données. Cette approche réduit l’utilisation du processeur et accélère les requêtes complexes, pour des résultats plus rapides.
Puis-je utiliser le Native Execution Engine avec des charges de travail Spark existantes ?
Oui. Le moteur s’intègre parfaitement à Spark et remplace certaines opérations JVM par du code natif. Il n’est pas nécessaire de réécrire votre code pour bénéficier de performances améliorées.
Quels formats de données le Native Execution Engine prend-il en charge ?
Le moteur prend en charge des formats courants comme Parquet et Delta. Cette compatibilité permet d’exécuter des requêtes efficaces directement sur les données de votre lakehouse dans Microsoft Fabric.
Comment le Native Execution Engine influe-t-il sur la gestion des coûts ?
En accélérant les requêtes et en réduisant l’utilisation des ressources, le moteur diminue les coûts de calcul. Vous économisez de l’argent tout en accédant plus rapidement à vos résultats d’analyse.
Le Native Execution Engine convient-il à l’analyse en temps réel ?
Absolument. Il prend en charge les requêtes à faible latence et l’ingestion à haut débit, ce qui vous permet d’obtenir des informations en temps réel et de prendre des décisions au bon moment.
Quels secteurs tirent le plus parti du Native Execution Engine ?
Des secteurs comme la finance, la santé, la distribution et les télécommunications bénéficient d’un traitement des données plus rapide et d’analyses améliorées, ce qui leur permet d’agir rapidement sur les informations obtenues.
Comment puis-je surveiller les performances du Native Execution Engine ?
Microsoft Fabric fournit des outils permettant de suivre les exécutions natives et les cas de repli vers la JVM. Cette visibilité vous aide à optimiser efficacement vos flux de données.