Partager via


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ête FOR 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 instruction SELECT.
  • L’indicateur de requête FOR TIMESTAMP AS OF peut être défini dans l’instruction SELECT 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 clause OPTION 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’instruction SELECT. Les requêtes comme INSERT INTO SELECT et CREATE TABLE AS SELECT ne peuvent pas être utilisées avec la OPTION 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 syntaxe SELECT .. 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 .

Étape suivante