Suggerimenti ed esempi di interrogazioni differenziali sulla privacy - AWS Clean Rooms

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Suggerimenti ed esempi di interrogazioni differenziali sulla privacy

AWS Clean Rooms Differential Privacy utilizza una struttura di query generica per supportare un'ampia varietà di costrutti SQL come Common Table Expressions (CTE) per la preparazione dei dati e funzioni aggregate di uso comune come, o. COUNT SUM Per offuscare il contributo di ogni possibile utente ai dati aggiungendo disturbi ai risultati delle query aggregate in fase di esecuzione, AWS Clean Rooms Differential Privacy richiede che le funzioni aggregate nel finale vengano eseguite su dati a livello di utente. SELECT statement

L'esempio seguente utilizza due tabelle denominate socialco_impressions e socialco_users provenienti da un editore di contenuti multimediali che desidera proteggere i dati utilizzando una privacy differenziale mentre collabora con un marchio sportivo con i dati. athletic_brand_sales L'editore multimediale ha configurato la user_id colonna come colonna dell'identificativo utente abilitando al contempo la privacy differenziale in. AWS Clean Rooms L'inserzionista non necessita di una protezione differenziale della privacy e desidera eseguire una query utilizzando i CTE su dati combinati. Poiché il CTE utilizza tabelle differenziali protette dalla privacy, l'inserzionista include la colonna dell'identificatore utente di tali tabelle protette nell'elenco delle colonne CTE e unisce le tabelle protette nella colonna dell'identificatore utente.

WITH matches_table AS( SELECT si.user_id, si.campaign_id, s.sale_id, s.sale_price FROM socialco_impressions si JOIN socialco_users su ON su.user_id = si.user_id JOIN athletic_brand_sales s ON s.emailsha256 = su.emailsha256 WHERE s.timestamp > si.timestamp UNION ALL SELECT si.user_id, si.campaign_id, s.sale_id, s.sale_price FROM socialco_impressions si JOIN socialco_users su ON su.user_id = si.user_id JOIN athletic_brand_sales s ON s.phonesha256 = su.phonesha256 WHERE s.timestamp > si.timestamp ) SELECT COUNT (DISTINCT user_id) as unique_users FROM matches_table GROUP BY campaign_id ORDER BY COUNT (DISTINCT user_id) DESC LIMIT 5

Allo stesso modo, se desideri eseguire funzioni di finestra su tabelle di dati differenziali protette dalla privacy, devi includere la colonna dell'identificatore utente nella clausola. PARTITION BY

ROW_NUMBER() OVER (PARTITION BY conversion_id, user_id ORDER BY match_type, match_age) AS row