Shortcut ou Mirroring : vos données préfèrent-elles voyager léger ou se cloner ?


Après un petit (long) break, me revoilà pour aborder un article court avant de m’attaquer à une série de 4 articles consécutifs (oui oui, comme les shows hollywoodiens, je vous tease).

Aujourd’hui, nous allons faire une petite comparaison entre les shortcuts et le mirroring (mise en miroir).

Les shortcuts : le raccourci vers vos données

Qui n’a jamais mis un raccourci sur son bureau pour accéder à un dossier caché dans une forêt de sous-dossiers ? Eh bien, les raccourcis dans Fabric, c’est un peu la même chose.
Les raccourcis dans OneLake sont des pointeurs qui redirigent vers des données stockées ailleurs (en interne ou en externe). Ils fonctionnent comme des liens symboliques : les données ne sont ni copiées ni dupliquées, mais restent dans leur répertoire d’origine.

On peut distinguer deux types de raccourcis :

La caractéristique clé des raccourcis est leur transparence pour les services Fabric. Ils apparaissent simplement comme de simples dossiers dans OneLake. Cela permet à tout service qui peut accéder aux données dans OneLake (comme Apache Spark, SQL, Real-Time Intelligence ou Power BI) de les utiliser directement, sans configuration supplémentaire.


Le mirroring dans Fabric : la réplication en temps quasi réel

Le mirroring dans Fabric est une solution de réplication de données continue, à faible coût et à faible latence, conçue pour transférer des données de divers systèmes de bases de données directement dans OneLake.
Le processus crée une réplique physique des données sources au format Parquet et génère un point de terminaison SQL pour l’accès aux requêtes. Le mécanisme central du mirroring est la capture des données modifiées (CDC), qui permet de répliquer les changements en temps quasi réel.

Selon la source, le mécanisme de capture de données varie.
Pour les versions de SQL Server 2016 à 2022, le mirroring s’appuie sur la technologie CDC intégrée à SQL Server. Un agent de capture lit le journal des transactions pour détecter les modifications et les réplique via une data gateway vers OneLake.
Pour SQL Server 2025 et Azure SQL, la réplication utilise un « change feed » qui permet à la base de données source d’écrire directement les modifications dans une zone de destination OneLake, après quoi le moteur de mirroring de Fabric les traite.
Pour Azure Cosmos DB, la fonctionnalité de sauvegarde continue est un prérequis qui permet une réplication sans affecter la performance des charges transactionnelles.

Le mirroring n’est pas une fonctionnalité monolithique : il existe trois approches distinctes :

Le mirroring est spécifiquement conçu pour les sources de données transactionnelles et les entrepôts de données. Les sources supportées incluent Azure SQL Database, Azure SQL Managed Instance, SQL Server, Azure Cosmos DB, Snowflake et les catalogues Azure Databricks.

Cependant, chaque source a ses propres prérequis et limitations.
Par exemple, pour qu’une table soit « miroitable », elle doit posséder une clé primaire. La réplication est limitée à 500 tables par base de données miroir. De plus, certains types de données (comme json ou xml) ou certaines fonctionnalités de base de données (comme Temporal History Tables, Always Encrypted) ne sont pas prises en charge.


Parfait, maintenant que vous avez compris (enfin j’espère) la différence, la question qui doit venir est : c’est quoi le mieux ?

C’est simple, c’est le shortcut !!!!

Euh non, je voulais dire, cela dépend…


Quand privilégier les raccourcis ?

Les raccourcis sont la solution privilégiée lorsque l’objectif principal est la virtualisation et l’accès rapide aux données sans les déplacer. Cette approche est idéale pour :


Quand choisir le mirroring ?

Le mirroring est la solution la plus appropriée pour la réplication de bases de données transactionnelles et de data warehouses, en particulier lorsque l’accès à des données en temps quasi réel est requis. Cette approche est idéale pour :


Et côté coûts ?

Encore une fois, pas de réponse toute faite.

Pour les raccourcis, le calcul est facturé à la capacité de l’utilisateur qui consomme la donnée, dans un modèle « consommateur-paie ».
Le stockage est facturé à la source d’origine, sans coût de stockage supplémentaire dans OneLake. Il est cependant important de noter les risques de coûts de flux sortant pour les sources externes comme S3.

Pour le mirroring, le calcul pour la réplication des données dans OneLake est gratuit et ne consomme pas la capacité Fabric.
Le stockage des répliques est également gratuit jusqu’à une limite basée sur l’unité de capacité (CU) de la SKU Fabric (par exemple, 64 téraoctets gratuits pour une capacité F64). Ce n’est que lorsque la limite est dépassée que le stockage OneLake est facturé au tarif standard.
En revanche, tout calcul pour les requêtes exécutées sur les données miroir est facturé normalement selon le modèle de tarification de la capacité Fabric, et le mirroring entre régions peut entraîner des coûts de flux sortant inattendus.

CritèreShortcutsMirroring
Coût de calcul (réplication)N/AGratuit
Coût de calcul (requête)Facturé sur la capacité de l'utilisateurFacturé sur la capacité de l'utilisateur
Coût de stockageFacturé à la source d'origineGratuit jusqu'à une limite basée sur la capacité Fabric, puis facturé au tarif OneLake
Coûts de flux sortantPossibles pour les sources externes (S3, GCS) sans mise en cachePossibles si la source de données et la capacité Fabric sont dans des régions différentes Exporter vers Sheets

Pour conclure

Pour conclure
Comme vos esprits brillants l’ont compris (je l’espère, sinon c’est que le blogueur est moins brillant que prévu), les shortcuts et le mirroring ne sont pas des solutions concurrentes, mais des outils complémentaires dans la boîte à outils de l’architecte de données. Les shortcuts excellent dans la virtualisation des data lakes, en évitant le mouvement de données, en minimisant les coûts de stockage et en favorisant les architectures décentralisées. Le mirroring, quant à lui, est une solution puissante et simple pour la réplication continue de bases de données transactionnelles, déchargeant les systèmes opérationnels et optimisant la performance des requêtes analytiques sur des données localisées.

L’existence d’une approche comme le « metadata mirroring », qui utilise des raccourcis sous-jacents pour synchroniser les données d’Azure Databricks, illustre parfaitement la synergie entre les deux concepts. Le mirroring gère la complexité de la réplication de la base de données, tandis que les raccourcis fournissent la flexibilité et la transparence de l’accès aux données.

Le choix de l’outil approprié dépend de la source des données et des objectifs métier. Cependant, une évaluation réaliste doit également prendre en compte le niveau de maturité des fonctionnalités. Les retours de la communauté soulignent que le mirroring, malgré sa promesse, souffre encore de problèmes de rigidité et de gestion qui pourraient rendre les raccourcis plus fiables pour les cas d’usage critiques, jusqu’à ce que ces problèmes soient résolus.

En fin de compte, l’architecture de données de l’entreprise moderne dans Microsoft Fabric ne reposera pas sur un seul de ces outils, mais sur une combinaison des deux, pour construire un écosystème de données à la fois flexible, performant et gouverné.

Et pour finir, un petit tableau comparatif — ou juste pour ceux qui ont la flemme de tout lire (oui, oui, j’ai les stats et tu as accecpté les cookies, donc je te vois TOI qui vient de scroller jusqu'ici)

CritèreShortcutsMirroring
ApprocheVirtualisation des donnéesRéplication physique des données
Mouvement des donnéesAbsent (sauf pour la mise en cache)Présent (réplication continue)
SynchronisationInstantanée (transparence de l'API)En temps quasi-réel (CDC/Change Feed)
Sources de données typiquesData Lakes (ADLS, S3, GCS), Dataverse, OneLake interneGBases de données transactionnelles (SQL, Cosmos DB, Databricks)
Avantages principauxCoûts de stockage minimaux, source de vérité unique, architecture "data mesh"Haute performance pour l'analyse, déchargement des requêtes, zéro-ETL
Limitations principalesDépendance aux performances de la source, pas de réplication en temps réel des bases de donnéesComplexité de gestion, rigidité des DDL, limites de 500 tables Exporter vers Sheets

Enregistrer un commentaire

0 Commentaires