Einführung in Data Quality und Datenmetrikfunktionen¶
Zur Überwachung der Datenqualität werden Datenmetrikfunktionen (DMFs) verwendet, die die von Snowflake bereitgestellten System-DMFs und benutzerdefinierte DMFs umfassen, um den Zustand und die Integrität Ihrer Daten zu überwachen. Sie können DMFs verwenden, um wichtige Kennzahlen zu messen, wie z. B. Aktualität oder die Anzahl von Duplikaten, NULL-Werten, Zeilen und diskreten Werten.
Allgemeine Informationen zu Data Quality und DMFs¶
Bei Data Quality geht es darum, den Zustand und die Integrität Ihrer Daten zu kennen, d. h. die Aktualität und Genauigkeit der Daten im Hinblick auf wahre Datenwerte im Vergleich zu Nullwerten oder leeren Feldern in einer Spalte, um datengestützte Entscheidungen treffen zu können. Sie können die Qualität Ihrer Daten mit DMFs messen. Snowflake bietet integrierte System-DMFs im SNOWFLAKE.CORE-Schema, um gängige Kennzahlen zu messen, ohne sie selbst definieren zu müssen. Sie können auch eigene benutzerdefinierte DMFs definieren, um Ihre Datenqualitätsmessungen noch genauer abzustimmen. Diese DMFs werden in der Datenbank und dem Schema Ihrer Wahl gespeichert.
Unabhängig davon, ob Sie das System DMFs, benutzerdefinierte DMFs oder beides verwenden, erfasst Snowflake, nachdem Sie einer Tabelle oder Ansicht DMF zugewiesen haben, die Ergebnisse der Planung des DMF in einer speziellen Ereignistabelle für die Datenmetrikfunktion. Sie können die Häufigkeit festlegen, mit der DMF aufgerufen wird. Sie können z. B. den Zeitplan für DMFs für eine bestimmte Tabelle so gestalten, dass sie dreimal täglich ausgeführt werden. Sie können die Häufigkeit auf der Grundlage Ihrer eigenen internen Anforderungen an die Datenqualität nach Bedarf ändern. Alle DMFs, die auf die Tabelle gesetzt wurden, folgen demselben Zeitplan.
Nachdem Sie die Ausführung von DMFs geplant haben, können Sie Alerts (Warnungen) konfigurieren, damit Sie benachrichtigt werden, wenn Änderungen an der Datenqualität festgestellt werden. Durch Kombinieren der Funktionalität von DMF und Alert können Sie konsistente Schwellenwertbenachrichtigungen für die Datenqualität der von Ihnen gemessenen Tabellen erhalten. Diese Informationen verbessern Ihren Data Governance-Status, indem sie Folgendes ermöglichen:
Datenverwalter, die den aktuellen Stand ihrer Daten auf der Grundlage einer bestimmten Kennzahl kennen.
Data Engineers, die sofort Maßnahmen für wichtige Tabellen und Ansichten ergreifen können.
Administratoren der Plattform, die sicherstellen, dass die Überwachung der Datenqualität mit Kostenkontrolle, Konsistenz und Performance erfolgt.
Der Datenqualitäts-Workflow zur Definition, Messung und Überwachung von Daten kann dann auf weitere Workloads angewendet werden.
Weitere Informationen dazu finden Sie unter:
Unterstützte Tabellenarten¶
Sie können für die folgenden Arten von Tabellenobjekten eine DMF einstellen:
Dynamische Tabelle
Ereignistabelle
Externe Tabelle
Apache Iceberg™-Tabelle
Materialisierte Ansicht
Tabelle (CREATE TABLE), einschließlich temporärer und transienter Tabellen
Ansicht
Sie können eine DMF nicht für eine Hybridtabelle oder ein Stream-Objekt festlegen.
Abrechnung und Preise¶
Snowflake erstellt und verwaltet die virtuellen Warehouse-Objekte zur Unterstützung dieses Features. Sie können dieses Feature nutzen, ohne zusätzliche virtuelle Warehouse-Ressourcen außerhalb Ihres normalen SQL-Abfrage-Workflows bereitstellen oder verwenden zu müssen.
Der Aufruf einer DMF nutzt serverlose Computerressourcen, wie in der Snowflake Service Consumption Table näher beschrieben. In der Tabelle sind die Credit-Preise pro Cloudregion und Snowflake Edition aufgeführt.
Die von Ihnen genutzten Credits sind auf Ihrer monatlichen Rechnung unter der Kategorie „Data Quality Monitoring“ (Datenqualitätsüberwachung) aufgeführt. Diese Credits beinhalten die Berechnungen, die von allen system- oder benutzerdefinierten Datenqualitätsmetriken, die Sie verwenden, verbraucht werden. Das Erstellen einer DMF wird Ihnen nicht in Rechnung gestellt.
Die Abrechnung erfolgt nur, wenn eine geplante DMF auf einem Objekt ausgeführt wird. Die Nutzung ungeplanter Datenmetrikfunktionen, wie z. B. das Aufrufen einer DMF mit einer SELECT-Anweisung, wird Ihnen nicht in Rechnung gestellt.
Die Protokollierungsinfrastruktur konsolidiert die Ausgaben der Metriken in der Ereignistabelle. Der Verbrauch, der durch den Protokollierungsdienst entsteht, wird auf Ihrer monatlichen Rechnung unter „Logging“ (Protokollierung) ausgewiesen.
Weitere Informationen dazu finden Sie unter Serverlose Credit-Nutzung.
Tipp
Sie können den Parameter DATA_QUALITY_MONITORING_USAGE_HISTORY abfragen, um Ihren Credit-Verbrauch im Zusammenhang mit der Nutzung von DMFs auf Ihrem Konto zu verfolgen.
Vorteile¶
Die Verwendung von DMFs verbessert Ihre Bemühungen um Datenqualität und bietet folgende Vorteile:
- Vereinfachung von Compliance:
Wenn Sie den Zustand Ihrer Daten kennen, können Sie leichter nachweisen, wie Sie Compliance- und Regulierungsstandards einhalten. Dies verringert Ihr Risiko und verbessert Ihren Data Governance-Status.
- Einhaltung von Service Level Agreements (SLAs):
Genaue Datenmetriken, wie z. B. die Aktualität, helfen dabei, SLAs zwischen Datenanbietern, Datenverbrauchern und Kunden einzuhalten.
- Glaubwürdigkeit:
DMFs bieten eine Datenvalidierung, die eine vertrauenswürdige datengestützte Entscheidungsfindung erleichtert.
- Konsistenz:
Die Verwendung der Systems-DMFs und die wiederholte Verwendung geeigneter benutzerdefinierter DMFs führt zu einer konsistenten Bewertung der Datenqualität im Zeitverlauf. Dies steigert die Vertrauenswürdigkeit Ihrer Daten.
- Optimierung bestimmter Anwendungsfälle:
Mit den benutzerdefinierten DMFs können Data Engineers genaue Metriken zur Messung der Daten entwickeln, was zu genaueren Optimierungen für zielgerichtete Anwendungen der Daten führt.
- Automatisierte Messung:
Der Aufruf einer DMF erfolgt automatisch, nachdem Sie die DMF einer Tabelle oder Ansicht zugewiesen und den Zeitplan für die Ausführung der DMF festgelegt haben. Es ist kein zusätzlicher Aufwand erforderlich, um die Datenqualität aktiv zu messen. Weitere Informationen dazu finden Sie unter Ausführung von DMFs planen und DMF-Ergebnisse anzeigen
- Performance-Management:
Snowflake evaluiert die Nutzung der DMFs und optimiert die Abfrageauswertung, um eine optimale Abfrageleistung bereitzustellen.
Hinweise¶
Informationen zu Replikation und DMFs finden Sie unter Replikation von Datenmetrikfunktionen (DMFs).
Um eine DMF für eine Tabelle festzulegen, muss die Rolle des Eigentümers der Tabelle die globale Berechtigung (auf Kontoebene) EXECUTE DATA METRIC FUNCTION erhalten. Daher sollte die Eigentümerrolle einer Tabelle eine benutzerdefinierte kundenspezifische Rolle sein, die Sie mit dem Befehl CREATE ROLE erstellt haben, oder eine Systemrolle, wie die Rolle SYSADMIN.
Sie können Datenbankrollen keine globalen Berechtigungen erteilen, da Datenbankrollen auf die Datenbank beschränkt sind, in der sie vorhanden sind. Wenn Sie eine Tabelle haben, die einer Datenbankrolle gehört und Sie eine DMF für diese Tabelle festlegen wollen, müssen Sie die Berechtigung OWNERSHIP der Tabelle auf eine kundenspezifische Rolle oder eine Systemrolle übertragen. Weitere Informationen dazu finden Sie unter GRANT OWNERSHIP.
Einschränkungen¶
Beachten Sie die folgenden Einschränkungen bei der Verwendung von DMFs:
Zuweisen von DMFs zu Objekten:
Sie können pro Konto insgesamt nur 10.000 Zuordnungen von DMFs zu Objekten haben. Jede Instanz einer DMF auf einer Tabelle oder Ansicht zählt als eine Zuordnung.
-
Sie können keine Berechtigungen für eine DMF erteilen, um eine DMF für eine freigegebene Tabelle oder Ansicht freizugeben oder festzulegen.
Das Setzen einer DMF auf ein Objekt-Tag wird nicht unterstützt.
Klonen
Das Verwenden der Operation CLONE und der Operation CREATE TABLE … LIKE führt nicht zu DMF-Zuweisungen auf dem Zielobjekt.
Wenn Sie eine Datenbank oder ein Schema klonen, das DMFs enthält, werden die DMFs in die Zieldatenbank oder das Schema geklont.
Sie können keine DMF auf Objekte in einem Lesekonto setzen.
Probekonten unterstützen dieses Feature nicht.
Verwalten von DMFs¶
In folgenden Abschnitten sind Informationen zum Verwalten von DMFs zusammengefasst:
Außerdem können Sie Anwendungsrollen vergeben, um den Zugriff auf die Ergebnisse von DMFs zu verwalten. Weitere Informationen dazu finden Sie unter Zugriffs auf die DMF-Ergebnisse verwalten.
DMF-Berechtigungen¶
Snowflake unterstützt die folgenden Berechtigungen zur Verwendung mit einer DMF.
Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.
Berechtigung |
Objekt |
Verwendung |
---|---|---|
CREATE DATA METRIC FUNCTION |
Schema |
Ermöglicht das Erstellen eines neuen DMF in einem Schema. |
USAGE |
Datenmetrikfunktion |
Ermöglicht das Aufrufen der DMF. |
EXECUTE DATA METRIC FUNCTION |
Konto |
Ermöglicht die Verwendung von serverlosen Computeressourcen beim Aufrufen einer DMF. |
OWNERSHIP |
Datenmetrikfunktion |
Überträgt die Eigentümerschaft einer DMF, was die volle Kontrolle über die DMF gewährt. Erforderlich, um die meisten Eigenschaften der DMF zu ändern. |
Wenn Sie außerdem die Zuweisung einer DMF zu einer Tabelle oder Ansicht verwalten möchten, verwenden Sie eine Rolle mit folgenden Berechtigungen:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
OWNERSHIP |
Tabelle oder Ansicht |
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 |
Datenmetrikfunktion |
Diese Berechtigung gilt für benutzerdefinierte DMFs. Weisen Sie bei System-DMFs der Eigentümerrolle der Tabelle die Datenbankrolle SNOWFLAKE.DATA_METRIC_USER zu. |
USAGE |
Datenbank, Schema |
Diese Objekte sind die Datenbank und das Schema, in denen die benutzerdefinierte DMF gespeichert ist. |
EXECUTE DATA METRIC FUNCTION |
Konto |
Mit dieser Berechtigung können Sie kontrollieren, welche Rollen Zugriff auf serverlose Computeressourcen haben. |
Referenz zu DMF-Befehlen¶
Snowflake unterstützt die folgenden Befehle für die Verwendung von DMFs:
Verwenden Sie außerdem die Befehle ALTER TABLE und ALTER VIEW, um Folgendes zu tun:
Hinzufügen einer Datenmetrikfunktion zu einer Spalte oder Löschen einer DMF aus einer Spalte.
Hinzufügen einer Datenmetrikfunktion zu einer Tabelle oder Ansicht selbst oder Löschen der DMF aus einer Tabelle oder Ansicht.
Planen der Ausführung der Datenmetrikfunktion.
Repräsentative Beispiele finden Sie unter: Verwenden von Datenmetrikfunktionen
Wenn Sie die Befehle GRANT <Berechtigungen> und REVOKE <Berechtigungen> verwenden, können Sie Folgendes tun:
Zuweisen von Berechtigungen zu einer Kontorolle oder eine Datenbankrolle. Andere Rollentypen, wie Anwendungsrollen, werden nicht unterstützt.
Angeben jeder unterstützten DMF-Berechtigung oder
ALL PRIVILEGES
.
Sie können den Befehl GRANT OWNERSHIP verwenden, um die Eigentümerschaft an eine Kontorolle zu übertragen.
Für die Befehle GRANT und REVOKE müssen Sie die Argumente der von Ihnen erstellten benutzerdefinierten DMF angeben. Beispiel:
GRANT USAGE ON FUNCTION governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER)) TO data_engineer;
Übersicht der DMF-Befehle, Operationen und Berechtigungen¶
Die folgende Tabelle fasst die Beziehung zwischen DMF-Berechtigungen und DDL-Operationen zusammen.
Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.
Zusätzlich zu den Anforderungen in der Tabelle sollten Sie bei Verwendung einer System-DMF die Rolle ACCOUNTADMIN verwenden oder eine Rolle, der IMPORTED PRIVILEGES für die freigegebene SNOWFLAKE-Datenbank zugewiesen ist.
Operation |
Erforderliche Berechtigung |
---|---|
Verwenden einer System-DMF. |
Siehe System-Datenmetrikfunktion. |
Erstellen einer DMF mit dem Befehl CREATE DATAMETRICFUNCTION. |
Eine Rolle mit CREATE DATA METRIC FUNCTION-Berechtigung für das Schema. |
Ändern einer DMF mit einem ALTER FUNCTION Befehl. |
Eine Rolle mit OWNERSHIP-Berechtigung für die DMF. |
Hinzufügen einer DMF zu oder Löschen einer DMF aus einer Tabelle oder Ansicht mit einem ALTER TABLE- oder ALTER VIEW-Befehl. |
Eine Rolle mit den folgenden Berechtigungen:
|
Identifizieren von Metrikreferenzen durch Aufrufen der Funktion DATA_METRIC_FUNCTION_REFERENCES. |
Die beiden Folgenden:
|
Beschreiben einer DMF mit einem DESCRIBE FUNCTION-Befehl. |
Eine Rolle mit USAGE-Berechtigung für die DMF. |
Löschen einer DMF aus dem aktuellen oder angegebenen Schema mit einem DROP FUNCTION-Befehl. |
Eine Rolle mit OWNERSHIP-Berechtigung für die DMF. |
Auflisten der Datenmetrikfunktionen mit einem SHOW DATA METRIC FUNCTIONS- oder SHOW FUNCTIONS-Befehl. |
Eine Rolle mit USAGE-Berechtigung für die DMF. |
Manuelles Aufrufen einer DMF mit SELECT. |
Eine Rolle mit der globalen Berechtigung EXECUTE DATA METRIC FUNCTION oder eine Rolle mit der USAGE-Berechtigung für die DMF. |
DMF-Ergebnisse anzeigen |
Weitere Informationen dazu finden Sie unter DMF-Ergebnisse anzeigen. |