Als Analyst mit Datenschutzbereichen arbeiten

Ein Datenschutzbereich definiert die möglichen Werte in einer Spalte, ähnlich wie ein mathematischer Bereich. Snowflake verwendet einen Datenschutzbereich, um zu bestimmen, wie viel Rauschen in die Ergebnisse einfließen soll.

Um ein umfassendes Verständnis der Datenschutzbereiche zu erlangen, bevor Sie die Aufgaben in diesem Abschnitt ausführen, siehe Über Datenschutzbereiche.

Wenn der Datenanbieter bewährte Verfahren anwendet, haben die meisten numerischen und kategorialen Spalten in einer datenschutzgeschützten Tabelle einen Datenschutzbereich. Wenn der Datenanbieter für eine Spalte, die Sie aggregieren oder in einer GROUP BY-Klausel verwenden möchten, keine Einstellung vorgenommen hat, müssen Sie Ihre Abfrage so gestalten, dass sie Techniken enthält, die implizit einen Datenschutzbereich für diese Spalte angeben. Datenschutzbereiche, die der Datenanbieter für die Tabelle festgelegt hat, können auch aufgrund von Operationen an der Tabelle verloren gehen. Wenn Sie z. B. ein Feld in einer Unterabfrage mit GROUP BY aggregieren, kann das System aufgrund von Datenschutzeinschränkungen möglicherweise keinen Datenschutzbereich ableiten.

Sie können Ihre Abfrage auch so schreiben, dass sie einen vom Datenanbieter eingestellten Datenschutzbereich einschränkt. Diese Überschreibung kann dazu beitragen, die Ergebnisse Ihrer Aggregation zu verbessern.

Bemerkung

Um die Anforderungen von für die Verknüpfung von mit einer datenschutzgeschützten Tabelle zu erfüllen, muss ein Analyst möglicherweise einen Datenschutzbereich für eine Spalte seiner eigenen Tabelle definieren, auch wenn diese datenschutzgeschützt ist. Diese Datenschutzbereiche werden auf Tabellenebene definiert und gelten für alle Abfragen zu dieser Tabelle. Wenn Sie ein Administrator für den Analysten sind und einen Datenschutzbereich für die Spalte einer Ihrer Tabellen angeben müssen, lesen Sie Festlegen eines Datenschutzbereichs.

Datenschutzbereiche anzeigen

Es ist nützlich, sich die Datenschutzbereiche einer datenschutzgeschützten Tabelle anzusehen, bevor Sie die Tabelle abfragen. Die Überprüfung der Datenschutzbereiche für jede Spalte kann auf folgende Weise helfen:

  • Ermitteln Sie, ob der Datenanbieter einen Datenschutzbereich für eine Spalte festgelegt hat.

  • Ermitteln Sie die möglichen Werte in der Spalte, die Ihnen helfen können, Ihre Analyse zu verbessern. Wenn der Datenschutzbereich zum Beispiel ein Bereich möglicher Werte in der Spalte ist, können Sie das Minimum und das Maximum des Bereichs bestimmen.

  • Untersuchen Sie, warum Sie mehr Rauschen in Ihren Ergebnissen erhalten als erwartet. Sie können feststellen, ob es Ausreißerwerte gibt, die für Ihre Analyse nicht wichtig sind, und diese Werte aus Ihrer Aggregation entfernen, um die Ergebnisse zu verbessern.

Um festzustellen, ob eine Spalte einen Datenschutzbereich hat und, falls ja, den Typ und die möglichen Werte des Datenschutzbereichs zu bestimmen, siehe Datenschutzbereich anzeigen.

Festlegen eines Datenschutzbereichs

Dieser Abschnitt beschreibt die Techniken, die ein Analyst verwenden kann, um einen Datenschutzbereich für die Dauer einer Abfrage festzulegen. Es fasst zusammen, wie die Struktur einer Abfrage einen Datenschutzbereich für eine Spalte festlegt.

Datenschutzbereich für Zeichenfolgen festlegen

Das Filtern auf eine Zeichenfolge mit einer WHERE-Klausel legt einen Datenschutzbereich dafür fest. Der Datenschutzbereich besteht aus den Werten, die dem Filter entsprechen. Zum Beispiel geben Abfragen einen Datenschutzbereich für die Spalte product an, wenn sie die folgenden Klauseln enthalten:

WHERE product = 'hackeysack' OR product = 'frisbee'
Copy
WHERE product IN ('hackeysack', 'frisbee')
Copy

Der Datenschutzbereich ist eine Liste, die aus hackeysack und frisbee besteht.

Wenn der Datenanbieter bereits einen Datenschutzbereich für die Spalte product festgelegt hat, verwendet Snowflake die Schnittmenge der beiden Datenschutzbereich für die Dauer der Abfrage. Weitere Informationen dazu finden Sie unter Interaktion zwischen vom Administrator und vom Analysten festgelegten Datenschutzbereichen.

Werte außerhalb des Datenschutzbereichs für Zeichenfolgen werden als NULL behandelt.

Datenschutzbereich für numerische, Datums- und Zeitspalten festlegen

Sie können Filterklauseln oder Spaltenumwandlungen verwenden, um einen Datenschutzbereich für eine numerische, Datums- oder Zeitspalte festzulegen. Diese Abfragetechniken legen einen Datenschutzbereich fest, der aus einer Reihe möglicher Werte besteht.

Sie können die folgenden Techniken verwenden, um einen Datenschutzbereich für eine numerische, Datums- oder Zeitspalte festzulegen:

WHERE-Klausel.

Beispiel:

WHERE a < 10 AND a >= 0
Copy

Der angegebene Datenschutzbereich der Spalte a liegt zwischen 0 und 10.

Wenn der Datenanbieter bereits einen Datenschutzbereich für die Spalte a festgelegt hat, verwendet Snowflake die Schnittmenge der beiden Datenschutzbereich für die Dauer der Abfrage. Weitere Informationen dazu finden Sie unter Interaktion zwischen vom Administrator und vom Analysten festgelegten Datenschutzbereichen.

Die Verwendung eines Filters entfernt Werte, die außerhalb des Datenschutzbereichs liegen, d. h. diese Werte werden bei der Berechnung von Aggregationen ignoriert. Weitere Informationen dazu finden Sie unter Numerisch, Datum und Uhrzeit.

GREATEST und LEAST Spaltentransformationen

Beispiel:

GREATEST(LEAST(a, 100), 0) AS clamped_a
Copy

Der angegebene Bereich des Datenschutzbereichs liegt zwischen 0 und 100.

Wenn der Datenanbieter bereits einen Datenschutzbereich für die Spalte a festgelegt hat, verwendet Snowflake die Schnittmenge der beiden Datenschutzbereich für die Dauer der Abfrage. Weitere Informationen dazu finden Sie unter Interaktion zwischen vom Administrator und vom Analysten festgelegten Datenschutzbereichen.

Wenn Sie einen vom Datenanbieter festgelegten Datenschutzbereich einschränken, können Sie nur eine der Transformationen GREATEST oder LEAST verwenden, um das Höchstwert zu verringern oder den Mindestwert zu erhöhen, während das andere Ende des Bereichs mit dem vom Datenanbieter festgelegten Datenschutzbereich übereinstimmt.

Werte in der Spalte, die außerhalb des Datenschutzbereichs liegen, werden begrenzt, d. h. sie werden so behandelt, als wären sie der nächstgelegene Wert im Bereich (der Mindest- oder Höchstwert).

Eingrenzen eines Datenschutzbereichs zur Verbesserung der Ergebnisse

Snowflake muss genügend Rauschen einführen, um exakte Werte innerhalb eines Datenschutzbereichs zu verbergen. Wenn der Datenschutzbereich Werte enthält, die von den meisten Daten in der Spalte abweichen, muss Snowflake das Rauschen erhöhen, um das Vorhandensein dieser Werte zu verschleiern. Das Überschreiben eines Datenschutzbereichs zur Einschränkung seines Bereichs, kann das Rauschen reduzieren, da Snowflake das Vorhandensein von Werten, die für Ihre Analyse nicht wichtig sind, nicht mehr verschleiern muss.

Die Technik, die Sie zur Eingrenzung eines Datenschutzbereichs verwenden, wirkt sich darauf aus, wie Ihre Aggregationen berechnet werden. Ihre Wahl hängt davon ab, was für Ihre Analyse wichtig ist.

  • Wenn Sie einen Filter (WHERE-Klausel) verwenden, um den Datenschutzbereich einzugrenzen, werden Werte außerhalb des Bereichs bei der Berechnung der Aggregationen ignoriert.

    Die Verwendung eines Filters ist die bevorzugte Technik, wenn Sie glauben, dass die Ausreißerwerte eines Datenschutzbereichs auf Probleme mit der Datenqualität zurückzuführen sind, oder wenn diese Werte für Ihre Abfrage nicht relevant sind. Wenn Sie die Ausreißerwerte aus dem Datenschutzbereich ausschließen, können Sie die Integrität Ihrer Analyse bewahren und gleichzeitig das Rauschen in Ihren Ergebnissen erheblich reduzieren.

  • Wenn Sie eine Spaltentransformation verwenden, werden Werte in der Spalte, die außerhalb der Domäne liegen, begrenzt, d. h. sie werden so behandelt, als wären sie der nächstgelegene Wert in der Domäne (der Mindest- oder Höchstwert).

    Die Verwendung einer Spaltentransformation kann Ihre Analyse verbessern, selbst wenn Sie glauben, dass die Ausreißerwerte keine Probleme mit der Datenqualität darstellen. Wenn Sie z. B. den Durchschnitt von Werten ermitteln, kann die Begrenzung von Ausreißerwerten durch eine Spaltentransformation Ihre Analyse verbessern.

Bemerkung

Wenn Ihre Abfrage hochselektive Filter enthält, die auf eine beschränkte Anzahl von Datensätze in einem Datenset abzielen, erhöht sich das relative Rauschen sogar, da Snowflake sicherstellen muss, dass Sie Ihre Ergebnisse nicht zur Identifizierung einer Person verwenden können.