Comprendre les concepts de base de données lake

Effectué

Dans une base de données relationnelle traditionnelle, le schéma de base de données est composé de tables, de vues et d’autres objets. Les tables d’une base de données relationnelle définissent les entités pour lesquelles les données sont stockées. Par exemple, une base de données de vente au détail peut inclure des tables pour les produits, les clients et les commandes. Chaque entité se compose d’un ensemble d’attributs définis en tant que colonnes dans la table, et chaque colonne a un nom et un type de données. Les données des tables sont stockées dans la base de données et sont étroitement couplées à la définition de table, qui applique les types de données, la nullabilité, l’unicité des clés et l’intégrité référentielle entre les clés associées. Toutes les requêtes et manipulations de données doivent être effectuées via le système de base de données.

Dans un lac de données, il n’existe aucun schéma fixe. Les données sont stockées dans des fichiers, qui peuvent être structurés, semi-structurés ou non structurés. Les applications et les analystes de données peuvent travailler directement avec les fichiers du lac de données à l’aide des outils de leur choix, sans les contraintes d’un système de base de données relationnelle.

Une base de données lake fournit une couche de métadonnées relationnelles sur un ou plusieurs fichiers dans un lac de données. Vous pouvez créer une base de données lake qui inclut des définitions pour les tables, y compris les noms de colonnes et les types de données, ainsi que les relations entre les colonnes des clés primaires et étrangères. Les tables référencent les fichiers dans le lac de données, ce qui vous permet d’appliquer la sémantique relationnelle à l’utilisation des données et de l’interroger à l’aide de SQL. Toutefois, le stockage des fichiers de données est découplé du schéma de base de données, permettant une plus grande flexibilité que ce qu’un système de base de données relationnelle offre généralement.

Diagramme d’un schéma relationnel de tables liées superposant des fichiers dans un magasin de fichiers.

Schéma de base de données lake

Vous pouvez créer une base de données lake dans Azure Synapse Analytics et définir les tables qui représentent les entités pour lesquelles vous devez stocker des données. Vous pouvez appliquer des principes de modélisation des données éprouvés pour créer des relations entre des tables et utiliser les conversions de nommage appropriées pour les tables, les colonnes et d’autres objets de base de données.

Azure Synapse Analytics inclut une interface de conception de base de données graphique que vous pouvez utiliser pour modéliser un schéma de base de données complexe, en utilisant la plupart des meilleures pratiques pour la conception de base de données que vous appliqueriez à une base de données traditionnelle.

Stockage de base de données lake

Les données des tables de votre base de données lake sont stockées dans le lac de données sous forme de fichiers Parquet ou CSV. Les fichiers peuvent être gérés indépendamment des tables de base de données, ce qui facilite la gestion de l’ingestion et de la manipulation des données avec un large éventail d’outils et de technologies de traitement des données.

Calcul de base de données lake

Pour interroger et manipuler les données via les tables que vous avez définies, vous pouvez utiliser un pool SQL serverless Azure Synapse pour exécuter des requêtes SQL ou un pool Apache Spark Azure Synapse pour travailler avec les tables à l’aide de l’API Spark SQL.