Comprendre les entrepôts de données dans Fabric

Effectué

Le lakehouse de Fabric est une collection de fichiers, dossiers, tables et raccourcis qui agissent comme une base de données sur un lac de données. Utilisé par le moteur Spark et le moteur SQL pour le traitement du Big Data, il propose des fonctionnalités pour les transactions ACID lors de l’utilisation de tables au format Delta open source.

L’expérience d’entrepôt de données de Fabric vous permet de passer de la vue du lac du lakehouse (qui prend en charge l’engineering données et Apache Spark) aux expériences SQL d’un entrepôt de données traditionnel. Le Lakehouse vous permet de lire des tables et d’utiliser le point de terminaison d’analyse SQL, tandis que l’entrepôt de données vous permet de manipuler les données.

Dans l’expérience d’entrepôt de données, vous pouvez modéliser les données à l’aide de tables et de vues, exécuter des commandes T-SQL pour interroger les données dans l’entrepôt de données et le lakehouse, utiliser T-SQL pour effectuer des opérations DML sur les données à l’intérieur de l’entrepôt de données et remettre des données à des couches de création de rapports comme Power BI.

Maintenant que vous comprenez les principes architecturaux de base d’un schéma d’entrepôt de données relationnel, nous allons voir comment créer un entrepôt de données.

Décrire un entrepôt de données dans Fabric

Dans l’expérience d’entrepôt de données dans Fabric, vous pouvez créer une couche relationnelle au-dessus des données physiques dans le lakehouse et l’exposer à des outils d’analyse et de création de rapports. Vous pouvez créer votre entrepôt de données directement dans Fabric à partir du hub de création ou dans un espace de travail. Après avoir créé un entrepôt vide, vous pouvez y ajouter des objets.

Capture d’écran de l’interface utilisateur de Fabric avec une flèche pointant vers le hub de création.

Une fois votre entrepôt créé, vous pouvez créer des tables en utilisant T-SQL directement dans l’interface de Fabric.

Ingérer des données dans votre entrepôt de données

Pour ingérer des données dans un entrepôt de données Fabric, plusieurs méthodes s’offrent à vous. Vous pouvez utiliser des pipelines, des flux de données, l’interrogation entre bases de données ou encore la commande COPY INTO. Après ingestion, les données peuvent être analysées par plusieurs groupes d’entreprise qui peuvent utiliser des fonctionnalités telles que le partage et l’interrogation entre bases de données pour y accéder.

Créer des tables

Pour créer une table dans l’entrepôt de données, vous pouvez utiliser SQL Server Management Studio (SSMS) ou un autre client SQL pour vous connecter à l’entrepôt de données et exécuter une instruction CREATE TABLE. Vous pouvez également créer des tables directement dans l’interface utilisateur de Fabric.

Vous pouvez copier des données à partir d’un emplacement externe dans une table de l’entrepôt de données à l’aide de la syntaxe COPY INTO. Par exemple :

COPY INTO dbo.Region 
FROM 'https://mystorageaccountxxx.blob.core.windows.net/private/Region.csv' WITH ( 
            FILE_TYPE = 'CSV'
            ,CREDENTIAL = ( 
                IDENTITY = 'Shared Access Signature'
                , SECRET = 'xxx'
                )
            ,FIRSTROW = 2
            )
GO

Cette requête SQL charge les données d’un fichier CSV situé dans Stockage Blob Azure dans une table appelée « Region » dans l’entrepôt de données Fabric.

Capture d’écran de l’éditeur de requête SQL avec une requête ouverte.

Cloner des tableaux

Vous pouvez créer des clones de table sans duplication avec des coûts de stockage minimes dans un entrepôt de données. Ces clones sont essentiellement des réplicas de tables créés en copiant les métadonnées tout en référençant les mêmes fichiers de données dans OneLake. Cela signifie que les données sous-jacentes stockées sous forme de fichiers Parquet ne sont pas dupliquées, ce qui permet d’économiser des coûts de stockage.

Les clones de table sont particulièrement utiles dans plusieurs scénarios.

  • Développement et test : Les clones permettent aux développeurs et aux testeurs de créer des copies de tables dans des environnements inférieurs, ce qui facilite les processus de développement, débogage, test et validation.
  • Récupération des données : En cas d’échec d’une mise en production ou d’une altération des données, les clones de table peuvent conserver l’état précédent des données, ce qui permet la récupération des données.
  • Rapports historiques : Ils aident à créer des rapports historiques qui reflètent l’état des données à des moments précis et à conserver les données à des étapes clés de l’activité.

Vous pouvez créer un clone de table avec la commande T-SQL CREATE TABLE AS CLONE OF.

Pour en savoir plus sur les clones de table, consultez Tutoriel : Cloner une table avec T-SQL dans Microsoft Fabric.

Considérations relatives aux tables

Au terme de la création de tables dans un entrepôt de données, il est important de prendre en compte le processus de chargement des données dans ces tables. Une approche courante consiste à utiliser des tables de mise en lots. Dans Fabric, vous pouvez utiliser des commandes T-SQL pour charger des données à partir de fichiers dans des tables de mise en lots dans l’entrepôt de données.

Les tables de mise en lots sont des tables temporaires qui peuvent être utilisées pour nettoyer, transformer et valider des données. Vous pouvez également utiliser des tables de mise en lots pour charger des données de plusieurs sources dans une table de destination unique.

En général, les données sont chargées dans le cadre d’un processus de traitement par lots périodique dans lequel les insertions et mises à jour de l’entrepôt de données sont coordonnées pour se produire à un intervalle régulier (par exemple quotidien, hebdomadaire ou mensuel).

Dans la plupart des cas, vous devez implémenter un processus de chargement d’entrepôt de données, qui effectue les tâches dans l’ordre suivant :

  1. Ingérez les nouvelles données à charger dans un lac de données, en appliquant un nettoyage ou des transformations avant le chargement, selon les besoins.
  2. Chargez les données à partir de fichiers dans des tables de mise en lots au sein de l’entrepôt de données relationnel.
  3. Chargez les tables de dimension à partir des données de dimension dans les tables de mise en lots, en mettant à jour les lignes existantes ou en insérant de nouvelles lignes, et en générant des valeurs de clé de substitution le cas échéant.
  4. Chargez les tables de faits à partir des données de faits dans les tables de mise en lots, en recherchant les clés de substitution appropriées pour les dimensions associées.
  5. Effectuez une optimisation postchargement en mettant à jour les index et les statistiques de distribution des tables.

Si vous avez des tables dans le lac et que vous voulez pouvoir les interroger dans votre entrepôt - sans les modifier – avec un entrepôt de données Fabric, vous n’avez pas besoin de copier les données du lac vers l’entrepôt de données. Vous pouvez interroger les données dans le lakehouse directement à partir de l’entrepôt de données en utilisant l’interrogation entre bases de données.

Important

L’utilisation de tables dans l’entrepôt de données Fabric présente actuellement certaines limitations. Pour plus d’informations, consultez Tables dans l’entreposage de données dans Microsoft Fabric.