차등 프라이버시 쿼리 팁 및 예제 - AWS Clean Rooms

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

차등 프라이버시 쿼리 팁 및 예제

AWS Clean Rooms Differential Privacy는 범용 쿼리 구조를 사용하여 데이터 준비를 위한 Common Table Expressions(CTEs)와 같은 다양한 SQL 구성과 COUNT, 또는 와 같이 일반적으로 사용되는 집계 함수를 지원합니다SUM. 런타임 시 집계 쿼리 결과에 노이즈를 추가하여 데이터에서 가능한 사용자의 기여를 난독화하려면 AWS Clean Rooms 차등 프라이버시는 최종의 집계 함수가 사용자 수준 데이터에 대해 실행SELECT statement되도록 요구합니다.

다음 예제에서는 athletic_brand_sales 데이터가 포함된 스포츠 브랜드와 공동 작업하면서 차등 프라이버시를 사용하여 데이터를 보호하려는 미디어 게시자의 socialco_impressionssocialco_users라는 테이블 2개를 사용합니다. 미디어 게시자는 이 user_id 열을 사용자 식별자 열로 구성하면서 차등 프라이버시를 AWS Clean Rooms에서 사용 설정했습니다. 광고주는 차등 프라이버시 보호가 필요하지 않으며 결합된 데이터에 CTEs 대해 를 사용하여 쿼리를 실행하려고 합니다. 는 차등 프라이버시 보호 테이블을 CTE 사용하기 때문에 광고주는 열 목록에 보호된 테이블의 사용자 식별자 CTE 열을 포함하고 사용자 식별자 열에 보호된 테이블을 조인합니다.

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

마찬가지로 차등 프라이버시 보호 데이터 테이블에서 창 함수를 실행하려면 PARTITION BY 절에 사용자 식별자 열을 포함해야 합니다.

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