Interroger les données telles qu’elles existaient dans le passé
S'applique à :✅ Warehouse dans Microsoft Fabric
L’entrepôt de Microsoft Fabric offre la capacité d’interroger des données historiques telles qu’elles existaient dans le passé. La possibilité d’interroger des données à partir d’un horodateur spécifique est connue dans le secteur d’activité de l’entrepôt de données comme temps de trajet.
- Le temps de trajet facilite la création de rapports stables en conservant la cohérence et l’exactitude des données au fil du temps.
- Le temps de trajet permet d’analyser les tendances historiques en interrogeant les différents points passés dans le temps et permet d’anticiper les tendances futures.
- Le temps de trajet simplifie les comparaisons à faible coût entre les versions précédentes des données.
- Le temps de trajet facilite l’analyse des performances au fil du temps.
- Le temps de trajet permet aux organisations de réaliser un audit des modifications de données au fil du temps, souvent requises à des fins de conformité.
- Le temps de trajet permet de reproduire les résultats des modèles Machine Learning.
- Le temps de trajet peut interroger des tables telles qu’elles existaient à un moment donné dans le temps entre plusieurs entrepôts dans le même espace de travail.
Qu’est-ce que le temps de trajet ?
Le temps de trajet dans un entrepôt de données est un moyen peu coûteux et efficace d’interroger rapidement les versions antérieures des données.
Microsoft Fabric permet actuellement la récupération des états passés des données de la manière suivante :
Temps de trajet avec la commande FOR TIMESTAMP AS OF T-SQL
Dans un article d’entrepôt, les tables peuvent être interrogées à l’aide de la syntaxe OPTION FOR TIMESTAMP AS OF T-SQL pour récupérer des données à des moments passés. La clause FOR TIMESTAMP AS OF
affecte l’ensemble de l’instruction, y compris toutes les tables d’entrepôt jointes.
Les résultats obtenus à partir des requêtes de temps de trajet sont intrinsèquement en lecture seule. Les opérations d’écriture comme INSERT, UPDATE et DELETE ne peuvent pas se produire lors de l’utilisation de l’indicateur de requête FOR TIMESTAMP AS OF.
Utilisez la clause OPTION pour spécifier l’indicateur de requête FOR TIMESTAMP AS OF. Les requêtes retournent des données exactement telles qu’elles existaient à l’horodateur, spécifiées comme YYYY-MM-DDTHH:MM:SS[.fff]
. Par exemple :
SELECT *
FROM [dbo].[dimension_customer] AS DC
OPTION (FOR TIMESTAMP AS OF '2024-03-13T19:39:35.28'); --March 13, 2024 at 7:39:35.28 PM UTC
Utilisez la syntaxe CONVERT
pour le format DateHeure nécessaire avec le style 126.
L’horodateur ne peut être spécifié qu’une seule fois à l’aide de la clause OPTION
pour les requêtes, les procédures stockées, les vues, etc. La clause OPTION
s’applique à toutes les options dans l’instruction SELECT.
Pour obtenir des exemples, consultez Aide et astuces : interroger à l’aide d’un temps de trajet.
Conservation des données
Dans Microsoft Fabric, un entrepôt conserve et gère automatiquement différentes versions de données, jusqu’à une période de rétention par défaut de trente jours calendaires. Cette conservation et cette gestion permettent d’interroger les tables à partir de n’importe quel moment antérieur. Toutes les insertions, mises à jour et suppressions effectuées dans l’entrepôt de données sont conservées. La rétention commence automatiquement à partir du moment où l’entrepôt est créé. Les fichiers expirés sont automatiquement supprimés après le seuil de rétention.
- Actuellement, une instruction
SELECT
avec l’indicateur de requêteFOR TIMESTAMP AS OF
retourne la dernière version du schéma de table. - Tous les enregistrements supprimés dans une table sont disponibles pour être interrogés comme ils existaient avant la suppression, si la suppression se trouve dans la période de rétention.
- Toute modification apportée au schéma d’une table, y compris, mais sans s’y limiter, l’ajout ou la suppression de colonnes dans la table, ne peut faire l’objet d’une requête avant la modification du schéma. De même, la suppression et la recréation d’une table avec les mêmes données suppriment son historique.
Scénarios de temps de trajet
Tenez compte de la possibilité de passer du temps de trajet aux données antérieures dans les scénarios suivants :
Rapports stables
L’exécution fréquente de tâches d’extraction, de transformation et de chargement (ETL) est essentielle pour suivre l’évolution constante du paysage des données. La possibilité d’utiliser le temps de trajet contribue à ce but en garantissant l’intégrité des données tout en offrant la flexibilité de générer des rapports basés sur les résultats de la requête qui sont renvoyés à partir d’un moment passé, par exemple le soir précédent, alors que le traitement en arrière-plan est en cours.
Les activités ETL peuvent s’exécuter simultanément alors que la même table est interrogée à partir d’un point dans le temps antérieur.
Tendance historique et analyse prédictive
Le temps de trajet simplifie l’analyse des données historiques, ce qui permet de découvrir des tendances et des modèles précieux grâce à l’interrogation de données sur différents délais d’exécution passés. Cette découverte facilite l’analyse prédictive en permettant d’expérimenter des jeux de données historiques et de former des modèles prédictifs. Elle permet d’anticiper les tendances futures et d’aider à prendre des décisions bien informées et pilotées par les données.
Analyse et comparaison
Le temps de trajet offre une capacité de résolution des problèmes efficace et rentable en fournissant un filtre historique pour l’analyse et la comparaison, et en facilitant l’identification de la cause racine.
Analyse des performances
Le temps de trajet peut vous aider à analyser les performances des requêtes d’entrepôt en heures supplémentaires. Il permet d’identifier les tendances de détérioration des performances en fonction des requêtes qui peuvent être optimisées.
Audit et conformité
Le temps de trajet simplifie les procédures d’audit et de conformité en permettant aux auditeurs de parcourir l’historique des données. Il permet non seulement de rester conforme aux réglementations, mais également d’améliorer l’assurance et la transparence.
Modèles Machine Learning
Les capacités du temps de trajet aident à reproduire les résultats des modèles Machine Learning en facilitant l’analyse des données historiques et en simulant des scénarios réels. Elles permettent d’améliorer la fiabilité globale des modèles afin que des décisions précises basées sur les données puissent être prises.
Considérations sur la conception
Considérations relatives à l’indicateur de requête OPTION FOR TIMESTAMP AS OF :
- L’indicateur de requête
FOR TIMESTAMP AS OF
ne peut pas être utilisé pour créer les vues à partir d’un point antérieur dans le temps au cours de la période de rétention. Il peut être utilisé pour interroger des vues à partir d’un point passé dans le temps, au cours de la période de rétention. - L’indicateur de requête
FOR TIMESTAMP AS OF
ne peut être utilisé qu’une seule fois dans une instructionSELECT
. - L’indicateur de requête
FOR TIMESTAMP AS OF
peut être défini dans l’instructionSELECT
dans une procédure stockée.
Autorisations d’accès au temps de trajet
Tout utilisateur disposant de rôles d’espace de travail Administration, Membre, Contributeur ou spectateur dans l'espace de travail peut interroger les tables à partir d'un moment donné. Lorsque les utilisateurs interrogent des tables, les restrictions formulées par la sécurité au niveau des colonnes (CLS), la sécurité au niveau des lignes (SNL) ou le masquage dynamique des données (DDM) sont automatiquement imposées.
Limites
Inscrivez au maximum trois chiffres de fractions de secondes dans l’horodateur. Si vous fournissez plus de précision, vous recevez le message d’erreur
An error occurred during timestamp conversion. Please provide a timestamp in the format yyyy-MM-ddTHH:mm:ss[.fff]. Msg 22440, Level 16, State 1, Code line 29
.Actuellement, seul le fuseau horaire UTC (Temps universel coordonné) est utilisé pour le temps de trajet.
Actuellement, la conservation des données pour les requêtes de temps de trajet est de trente jours calendaires.
Les valeurs
FOR TIMESTAMP AS OF
de la clauseOPTION
doivent être déterministes. Pour obtenir un exemple de paramétrage, consultez Temps de trajet dans une procédure stockée.Le temps de trajet n’est pas pris en charge sur le point de terminaison d’analytique SQL du Lakehouse.
La syntaxe
OPTION FOR TIMESTAMP AS OF
ne peut être utilisée que dans les requêtes commençant par l’instructionSELECT
. Les requêtes commeINSERT INTO SELECT
etCREATE TABLE AS SELECT
ne peuvent pas être utilisées avec laOPTION FOR TIMESTAMP AS OF
. Envisagez plutôt de cloner une table d’entrepôt à un moment donné.Les définitions de vue ne peuvent pas contenir la syntaxe
OPTION FOR TIMESTAMP AS OF
. La vue peut être interrogée avec la syntaxeSELECT .. FROM <view> ... OPTION FOR TIMESTAMP AS OF
. Toutefois, vous ne pouvez pas interroger les données transférées à partir des tables d’une vue avant la création de la vue.La syntaxe
FOR TIMESTAMP AS OF
du temps de trajet n’est actuellement pas prise en charge en mode requête Direct Power BI Desktop ou dans l’option Explorer ces données .