Créer une réplique en quasi temps réel et en lecture seule d'une base de données Azure SQL dans Fabric sans impacter la source.
Utiliser Fabric Mirroring pour Azure SQL Database.
Pourquoi: Mirroring offre une réplication continue et à faible latence des données dans OneLake sous forme de tables Delta, idéale pour l'analyse en temps réel sans développement ETL.
Partager un ensemble de données avec un autre espace de travail ou accéder à des données externes sans créer de copie.
Créer un Shortcut pointant vers la table lakehouse source ou l'emplacement des données externes.
Pourquoi: Les Shortcuts agissent comme des liens symboliques, offrant une vue unifiée des données dans OneLake tout en évitant la duplication des données, les coûts de stockage et les problÚmes de synchronisation.
Combiner des données de streaming à haute vélocité avec des données batch historiques pour une analyse unifiée.
Utiliser Eventstream pour l'ingestion en temps réel et un Lakehouse avec des tables Delta Lake pour le stockage unifié.
Pourquoi: Eventstream gÚre le chemin de streaming, tandis que les propriétés ACID de Delta Lake lui permettent de servir de cible pour les ajouts en streaming et les mises à jour batch.
Permettre Ă la fois l'analyse basĂ©e sur T-SQL et la science des donnĂ©es basĂ©e sur Python sur les mĂȘmes donnĂ©es lakehouse.
Utiliser le point de terminaison d'analyse SQL généré automatiquement pour le Lakehouse.
Pourquoi: Fabric fournit un accĂšs double moteur aux mĂȘmes tables Delta : un point de terminaison SQL pour les requĂȘtes T-SQL et le moteur Spark pour les notebooks, sans duplication de donnĂ©es.
Ingérer des données depuis une source de données sur site (par exemple, Oracle, SQL Server) dans Fabric.
Installer et configurer une passerelle de données sur site.
Pourquoi: La passerelle agit comme un pont sécurisé, transmettant les données entre le réseau sur site et le service cloud Fabric sans exposer la source à Internet.
Traiter automatiquement les nouveaux fichiers dÚs leur arrivée dans Azure Blob Storage.
Utiliser un déclencheur d'événement de stockage pour le pipeline de données, configuré pour se déclencher sur les événements de création de blob.
Pourquoi: Les déclencheurs basés sur des événements offrent une latence plus faible et sont plus efficaces que l'interrogation planifiée, qui peut manquer des données ou s'exécuter inutilement.
Implémenter une logique de type 2 de dimension à évolution lente (SCD2) ou traiter des flux de capture de données modifiées (CDC).
Utiliser l'opération Delta Lake MERGE avec les clauses `WHEN MATCHED` et `WHEN NOT MATCHED`.
Pourquoi: MERGE offre des capacités upsert (mise à jour/insertion/suppression) atomiques, qui est l'opération fondamentale pour maintenir les enregistrements historiques dans les modÚles SCD2.
Transformer une colonne de DataFrame contenant des tableaux d'objets imbriqués en lignes séparées.
Appliquer la fonction `explode()` Ă la colonne de tableau dans un notebook PySpark.
Pourquoi: `explode()` est la fonction Spark standard pour désimbriquer les tableaux, créant une nouvelle ligne pour chaque élément du tableau.
GĂ©rer les donnĂ©es arrivant en retard dans une agrĂ©gation de streaming avec Ă©tat (par exemple, des comptages fenĂȘtrĂ©s).
Configurer un watermark sur la colonne de temps de l'Ă©vĂ©nement dans la requĂȘte Spark Structured Streaming.
Pourquoi: Le watermarking dĂ©finit un seuil de temps pendant lequel le moteur attendra les donnĂ©es en retard, empĂȘchant l'Ă©tat de croĂźtre indĂ©finiment tout en garantissant la correction.
Effectuer un chargement de données incrémental depuis un systÚme source qui a une colonne d'horodatage mais pas de CDC.
Implémenter un modÚle de high-watermark. Stocker l'horodatage maximal de la derniÚre exécution et l'utiliser pour filtrer la source lors de la prochaine exécution.
Pourquoi: Ceci est un modĂšle efficace et courant pour extraire uniquement les enregistrements nouveaux ou mis Ă jour sans la surcharge des balayages de table complets ou l'exigence d'un CDC formel.
Une activité de pipeline échoue par intermittence en raison de problÚmes réseau transitoires ou de la charge du systÚme source.
Configurer la politique de nouvelle tentative de l'activité avec un nombre spécifié et un intervalle de backoff exponentiel.
Pourquoi: IntÚgre la résilience dans le pipeline en relançant automatiquement les opérations échouées, résolvant souvent les problÚmes transitoires sans intervention manuelle.
Ingérer et interroger des données de télémétrie ou de journalisation à haut volume et faible latence pour une analyse exploratoire en temps réel.
Ingérer les données dans un Eventhouse et les interroger en utilisant Kusto Query Language (KQL).
Pourquoi: Eventhouse (basé sur Azure Data Explorer) et KQL sont conçus spécifiquement pour l'analyse de séries chronologiques et de journaux haute performance.
CrĂ©er un pipeline unique et rĂ©utilisable pour charger des dizaines de tables qui partagent la mĂȘme logique de transformation.
Utiliser une approche basée sur les métadonnées. Stocker les informations source/destination dans une table de contrÎle et utiliser une activité ForEach pour itérer et passer des paramÚtres à un pipeline enfant générique.
Pourquoi: Ce modÚle est hautement scalable et maintenable, évitant la duplication et la surcharge de gestion de la création de pipelines séparés pour chaque table.
Optimiser les performances d'un Dataflow Gen2 qui tire ses données d'une base de données relationnelle comme SQL Server.
Concevoir des transformations qui peuvent ĂȘtre pliĂ©es (folded). VĂ©rifier l'Ă©tat du query folding dans l'Ă©diteur Power Query.
Pourquoi: Le query folding pousse la logique de transformation vers le moteur de la base de données source, ce qui est significativement plus performant que de tirer toutes les données dans le moteur Spark pour la transformation.
Interroger une table telle qu'elle existait à un moment précis dans le passé pour un audit ou pour récupérer aprÚs une mise à jour accidentelle.
Utiliser la fonction de time travel de Delta Lake avec `VERSION AS OF` ou `TIMESTAMP AS OF` dans la requĂȘte.
Pourquoi: Delta Lake versionne nativement chaque transaction, permettant des requĂȘtes ponctuelles sans nĂ©cessiter de snapshots ou de sauvegardes manuelles.