Introduction à la qualité des données et aux fonctions de métrique des données¶
La qualité des données utilise des fonctions de métrique des données (DMFs), qui comprennent les DMFs systèmes fournies par Snowflake et les DMFs définies par l’utilisateur pour contrôler l’état et l’intégrité de vos données. Vous pouvez utiliser des DMFs pour mesurer des paramètres clés, tels que, mais sans s’y limiter, le niveau d’actualisation et les comptes qui mesurent les doublons, les NULLs, les lignes et les valeurs uniques.
À propos de la qualité des données et des DMFs¶
La qualité des données est axée sur la connaissance de l’état et de l’intégrité de vos données, ce qui inclut le niveau d’actualisation et l’exactitude des données en ce qui concerne les vraies valeurs de données par rapport aux valeurs nulles ou aux champs vides dans une colonne, afin de prendre des décisions fondées sur les données. Vous pouvez mesurer la qualité de vos données en utilisant des DMFs. Snowflake fournit des DMFs systèmes intégrées dans le schéma SNOWFLAKE.CORE pour mesurer des paramètres communs sans avoir à les définir. Vous pouvez également définir vos propres DMFs personnalisées pour affiner plus précisément vos mesures de la qualité des données, et ces DMFs sont stockées dans la base de données et le schéma de votre choix.
Que vous utilisiez des DMFs systèmes, des DMFs personnalisées ou les deux, après avoir assigné une DMF à une table ou à une vue, Snowflake enregistre les résultats de la planification de la DMF dans une table d’événements dédiée des fonctions de métrique des données. Vous pouvez spécifier la fréquence d’appel de la DMF. Par exemple, vous pouvez programmer l’exécution de DMFs sur une table particulière trois fois par jour. Vous pouvez modifier la fréquence si nécessaire en fonction de vos propres exigences internes en matière de qualité des données. Toutes les DMFs qui sont placées sur la table suivent la même planification.
Après avoir planifié l’exécution de DMFs, vous pouvez configurer des alertes pour vous informer des modifications apportées à la qualité des données. En combinant les fonctionnalités de DMF et d’alerte, vous pouvez disposer de notifications de seuil cohérentes pour la qualité des données sur les tables que vous mesurez. Ces informations améliorent votre gouvernance des données en permettant :
Aux gestionnaires de données de connaître l’état actuel de leurs données sur la base d’une métrique particulière.
Aux ingénieurs des données de prendre des mesures immédiates sur les tables et les vues importantes.
Aux administrateurs de la plateforme de veiller à ce que la surveillance de la qualité des données se fasse dans le respect des coûts, de la cohérence et de la performance.
Le workflow relatif à la qualité des données, qui consiste à définir, mesurer et surveiller les données, peut ensuite être appliqué à d’autres charges de travail.
Pour plus d’informations, voir :
Types de tables pris en charge¶
Vous pouvez définir une DMF sur les types d’objets de table suivants :
Table dynamique
Table des événements
Table externe
Table Apache Iceberg™
Vue matérialisée
Table (CREATE TABLE), y compris les tables temporaires et transitoires
Vue
Vous ne pouvez pas définir de DMF sur une table hybride ou un objet de flux.
Facturation et tarification¶
Snowflake crée et gère les objets de l’entrepôt virtuel pour prendre en charge cette fonction. Vous pouvez utiliser cette fonction sans avoir à provisionner ou à utiliser des ressources d’entrepôt virtuel supplémentaires en dehors de votre workflow normal de requête SQL.
L’appel d’une DMF utilise des ressources de calcul sans serveur, comme décrit plus en détail dans la Table de consommation du service Snowflake. Le tableau annonce le prix du crédit par région cloud et édition Snowflake.
Les crédits que vous utilisez sont répertoriés dans la catégorie « Data Quality Monitoring » sur votre facture mensuelle. Ces crédits comprennent le calcul consommé par toutes les métriques de qualité des données définies par le système ou par l’utilisateur que vous utilisez. La création d’une DMF ne vous est pas facturée.
La facturation n’a lieu que lorsqu’une DMF planifiée est calculée pour un objet. Vous n’êtes pas facturé pour l’utilisation non planifiée de la fonction de métrique de données, comme l’appel d’une DMF avec une instruction SELECT.
L’infrastructure de journalisation consolide les sorties de métriques dans la table d’événements. La consommation induite par le service de journalisation apparaît sur votre facture mensuelle sous la rubrique « Journalisation ».
Pour plus d’informations, voir Utilisation du crédit sans serveur.
Astuce
Vous pouvez interroger l” DATA_QUALITY_MONITORING_USAGE_HISTORY pour suivre votre consommation de crédit liée à l’utilisation de DMFs sur votre compte.
Avantages¶
L’utilisation de DMFs améliore vos efforts en matière de qualité des données et offre les avantages suivants :
- Faciliter la conformité :
En connaissant l’état de vos données, il est plus facile de démontrer comment vous respectez les normes de conformité et de réglementation. Vous diminuez ainsi les risques et améliorez votre gouvernance des données.
- Respecter les accords de niveau de service (SLAs) :
Des métriques précises des données, telles que le niveau d’actualisation, permettent de respecter des SLAs entre les fournisseurs de données, les consommateurs de données et les clients.
- Crédibilité :
Les DMFs fournissent une validation des données, ce qui facilite la prise de décisions fondées sur des données fiables.
- Cohérence :
L’utilisation de DMFs systèmes et l’utilisation répétée de DMFs personnalisées permettent une évaluation cohérente de la qualité des données au fil du temps. La crédibilité de vos données s’en trouve renforcée.
- Optimisation pour des cas d’utilisation spécifiques :
Les DMFs personnalisées permettent aux ingénieurs de données de concevoir des métriques précises pour mesurer les données, ce qui conduit à des optimisations plus précises pour des applications ciblées des données.
- Mesure automatisée :
L’appel d’une DMF est automatisé une fois que vous avez affecté la DMF à une table ou à une vue et spécifié la planification de l’exécution de la DMF. Aucun travail supplémentaire n’est nécessaire pour mesurer activement la qualité de vos données. Pour plus d’informations, voir Planifiez l’exécution de vos DMFs et Afficher les résultats de la DMF
- Gestion des performances :
Snowflake évalue la façon dont vous utilisez les DMFs et optimise l’évaluation des requêtes afin de fournir des performances optimales.
Considérations¶
Pour plus d’informations sur la réplication et les DMFs, voir Réplication des fonctions de métrique des données (DMFs).
Pour définir une DMF sur une table, le rôle de propriétaire de la table doit se voir attribuer le privilège global EXECUTE DATA METRIC FUNCTION (au niveau du compte). Par conséquent, le rôle de propriétaire de la table doit être un rôle personnalisé défini par l’utilisateur que vous avez créé avec la commande CREATE ROLE ou un rôle système, tel que le rôle SYSADMIN.
Vous ne pouvez pas accorder de privilèges globaux aux rôles de base de données, car les rôles de base de données sont limités à la base de données dans laquelle ils existent. Si vous avez une table qui appartient à un rôle de base de données et que vous souhaitez définir une DMF sur cette table, vous devez transférer le privilège OWNERSHIP de la table à un rôle personnalisé ou à un rôle système. Pour plus d’informations, voir GRANT OWNERSHIP.
Limitations¶
Notez les limitations suivantes lors de l’utilisation de DMFs :
Définition d’DMFs sur des objets :
Vous ne pouvez avoir que 10 000 associations totales de DMFs sur des objets par compte. Chaque instance de définition de DMF sur une table ou une vue compte pour une association.
-
Vous ne pouvez pas accorder de privilèges à une DMF pour partager ou définir une DMF sur une table ou une vue partagée.
La définition d’une DMF sur une balise d’objet n’est pas prise en charge.
Clonage :
L’utilisation de l’opération CLONE et de l’opération CREATE TABLE … LIKE n’entraîne pas d’affectations de DMF sur l’objet cible.
Si vous clonez une base de données ou un schéma contenant des DMFs, les DMFs sont clonés dans la base de données ou le schéma cible.
Vous ne pouvez pas définir une DMF sur les objets d’un compte de lecteur.
Les comptes d’essai ne prennent pas en charge cette fonction.
Gestion des DMFs¶
Ces sections résument les informations sur la façon de gérer des DMFs :
De plus, vous pouvez accorder des rôles d’application pour gérer l’accès aux résultats des DMFs. Pour plus d’informations, voir Gestion de l’accès aux résultats de la DMF.
Privilèges des DMF¶
Snowflake prend en charge les privilèges suivants à utiliser avec une DMF.
Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.
Privilège |
Objet |
Utilisation |
---|---|---|
CREATE DATA METRIC FUNCTION |
Schéma |
Permet de créer un nouveau DMF dans un schéma. |
USAGE |
Fonction de métrique des données |
Permet d’appeler la DMF. |
EXECUTE DATA METRIC FUNCTION |
Compte |
Permet d’utiliser les ressources de calcul sans serveur lors de l’appel d’une DMF. |
OWNERSHIP |
Fonction de métrique des données |
Transfère la propriété de la DMF, ce qui permet d’en avoir le contrôle total. Nécessaire pour modifier la plupart des propriétés d’une DMF. |
En outre, si vous souhaitez gérer l’attribution d’une DMF sur une table ou une vue, utilisez un rôle doté de ces privilèges :
Privilège |
Objet |
Remarques |
---|---|---|
OWNERSHIP |
Table ou vue |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
USAGE |
Fonction de métrique des données |
Ce privilège concerne les DMFs définies par l’utilisateur. Pour les DMFs systèmes, attribuez le rôle de base de données SNOWFLAKE.DATA_METRIC_USER au rôle de propriétaire de table. |
USAGE |
Base de données, schéma |
Ces objets sont la base de données et le schéma qui stockent les DMF définies par l’utilisateur. |
EXECUTE DATA METRIC FUNCTION |
Compte |
Ce privilège vous permet de contrôler les rôles qui ont accès aux ressources de calcul sans serveur. |
Référence des commandes de DMF¶
Snowflake prend en charge les commandes suivantes pour l’utilisation des DMFs :
En outre, utilisez les commandes ALTER TABLE et ALTER VIEW pour effectuer les opérations suivantes :
Ajoutez ou supprimez une fonction de métrique des données sur une colonne.
Ajoutez ou supprimez une fonction de métrique des données sur la table ou la vue elle-même.
Planifiez l’exécution de la fonction de métrique des données.
Pour des exemples représentatifs, voir Utilisation de fonctions de métrique des données.
Lorsque vous utilisez les commandes GRANT <privilèges> et REVOKE <privilèges>, vous pouvez :
Accorder des privilèges à un rôle de compte ou à un rôle de base de données. D’autres types de rôles, tels que les rôles d’application, ne sont pas pris en charge.
Spécifiez n’importe quel privilège de DMF ou
ALL PRIVILEGES
pris en charge.
Vous pouvez utiliser la commande GRANT OWNERSHIP pour transférer la propriété à un rôle de compte.
Les commandes GRANT et REVOKE vous demandent de spécifier les arguments de la DMF définie par l’utilisateur que vous créez. Par exemple :
GRANT USAGE ON FUNCTION governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER)) TO data_engineer;
Résumé des commandes, des opérations et des privilèges DMF¶
La table suivante résume la relation entre les privilèges des DMF et les opérations DDL.
Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.
Outre les exigences de table, si vous utilisez une DMF système, utilisez le rôle ACCOUNTADMIN ou un rôle auquel IMPORTED PRIVILEGES a été accordé sur la base de données partagée SNOWFLAKE.
Fonctionnement |
Privilège requis |
---|---|
Utiliser une DMF système. |
|
Créez une DMF à l’aide de la commande CREATE DATA METRIC FUNCTION. |
Un rôle avec le privilège CREATE DATA METRIC FUNCTION sur le schéma. |
Modifier une DMF avec une commande ALTER FUNCTION. |
Un rôle avec le privilège OWNERSHIP sur la DMF. |
Ajouter une DMF ou supprimer une DMF d’une table ou d’une vue à l’aide d’une commande ALTER TABLE ou ALTER VIEW. |
Un rôle avec les privilèges suivants :
|
Identifier les références de métriques en appelant la fonction DATA_METRIC_FUNCTION_REFERENCES. |
Les deux sont valides :
|
Décrire une DMF à l’aide d’une commande DESCRIBE FUNCTION. |
Un rôle avec le privilège USAGE sur la DMF. |
Supprimer une DMF du schéma actuel ou du schéma spécifié à l’aide d’une commande DROP FUNCTION. |
Un rôle avec le privilège OWNERSHIP sur la DMF. |
Dressez la liste des fonctions de métrique de données à l’aide d’une commande SHOW DATA METRIC FUNCTIONS ou SHOW FUNCTIONS. |
Un rôle avec le privilège USAGE sur la DMF. |
Appelez une DMF manuellement en utilisant SELECT. |
Un rôle avec le privilège global EXECUTE DATA METRIC FUNCTION ou un rôle avec le privilège USAGE sur la DMF. |
Affichage des résultats de DMF |
Pour plus d’informations, voir Afficher les résultats de la DMF. |