사용 사례: 중첩 및 세분화¶
Snowflake는 모든 공동 작업자에 대해 데이터에 존재하는 엔터티를 파악하고 해당 엔터티에 대한 집계된 정보를 표시하는 중첩 및 세분화 템플릿을 제공합니다.
이 템플릿을 사용할 때는 두 당사자가 각각 하나 이상의 테이블을 Clean Room에 추가합니다. 이러한 테이블의 엔터티는 지정한 조인 열에 의해 조인되거나 식별됩니다. 또한 특정 세분화 특성에 따라 중첩 횟수를 세분화하고 필터링할 수 있습니다. 이를 통해 각 당사자는 데이터 세트 간의 중첩을 파악하여 협업의 가치를 결정하고 Clean Room의 다른 다운스트림 사용 사례를 촉진하는 데 도움이 될 수 있습니다. 컨슈머는 조인할 열과 표시할 열을 지정합니다. 투영된 모든 열은 그룹화하거나 집계 함수를 사용하여 집계해야 합니다. 엔터티 식별 열은 쿼리 결과에서 차단되고 Clean Room에서 차등 개인정보 보호가 적용되어 특정 엔터티에 대한 정보를 더욱 안전하게 보호합니다. Clean Room 제작자가 활성화한 경우 서드 파티(웹 애플리케이션만 해당)에 결과를 활성화할 수 있습니다.
예를 들어, 광고주는 퍼블리셔의 인벤토리에 대한 중첩 분석을 수행하여 해당 퍼블리셔의 미디어 구매 가치를 파악할 수 있습니다. 그런 다음 광고주는 원하는 잠재고객의 ID를 퍼블리셔에게 다시 활성화하여 타겟팅을 진행합니다.
중첩 및 세분화 템플릿은 웹 애플리케이션과 코드에서 모두 사용할 수 있습니다. 웹 애플리케이션을 사용하면 ID 공급자를 쉽게 사용하고 서드 파티 파트너에게 활성화할 수 있으며, 코드를 사용하면 공급자와 컨슈머 모두에서 여러 테이블을 사용할 수 있습니다.
웹 애플리케이션 사용¶
웹 애플리케이션에서 이 사용 사례는 Audience Overlap & Segmentation 이라는 기성 템플릿을 통해 지원됩니다. 이 템플릿은 마케팅 및 광고 사용 사례를 대상으로 하지만, 모든 산업 분야의 중첩 및 세분화 사용 사례에 사용할 수 있습니다. 이 템플릿을 만들고 사용하는 방법을 알아보려면 아래 단계를 따르십시오.
웹 템플릿 기능:
Clean Room 관리자가 구성한 경우 원클릭 활성화.
Clean Room 관리자가 구성한 경우 ID 공급자의 원클릭 사용.
공급자 실행 분석 지원.
양쪽 모두 데이터를 가져오고 조인(볼 수 없음), 투영(볼 수 있음) 및 활성화 가능한 열을 지정할 수 있습니다(활성화가 설정된 경우 지정된 서드 파티로 내보낼 수 있음).
사용 가능한 테이블에서 하나의 컨슈머 테이블과 하나의 공급자 테이블에 대한 쿼리를 중복합니다.
구성 가능한 차등 개인정보 보호.
참고
웹 애플리케이션에서 Clean Rooms를 사용하는 전체 과정을 보려면 웹 인터페이스 자습서 를 참조하십시오. 이 템플릿은 이 자습서에서도 다룹니다.
1단계: 공급자가 Clean Room을 생성합니다.¶
공급자가 Audience Overlap & Segmentation 템플릿으로 Clean Room을 만들고 구성하는 방법은 다음과 같습니다.
웹 애플리케이션에 로그인하고 새 Clean Room을 만듭니다.
Add Data 에서 다음을 수행합니다.
Clean Room에 링크(가져오기)할 테이블을 선택합니다. 필요한 테이블이 목록에 없는 경우 Clean Rooms 관리자에게 문의하십시오.
Specify Join Policies 에서 다음을 수행합니다.
공동 작업자가 테이블에서 조인할 수 있는 열을 선택합니다. 조인 가능한 열은 세분화, 필터링 또는 그룹화를 위해 분석에 표시하거나 사용할 수 없습니다.
여러 데이터베이스에 여러 개의 이메일 계정을 가진 한 개인과 같이 여러 개의 식별자를 가질 수 있는 엔터티를 확인하기 위해 ID 공급자를 사용하려는 경우 Identity Hub 에서 ID 공급자를 선택합니다.
Configure Analysis & Query 에서 다음을 수행합니다.
Audience Overlap & Segmentation 을 분석 유형으로 선택합니다. (Clean Room에 대해 여러 템플릿을 선택할 수 있습니다.) 각 템플릿의 구성 옵션이 페이지에 표시됩니다.
Tables 의 경우 이 템플릿을 사용하여 이 Clean Room에서 앞서 연결한 테이블 중 컨슈머가 사용할 수 있는 테이블을 선택합니다.
Segmentation & Attribute Columns 를 사용하여 쿼리 결과에 표시할 열을 선택합니다. 공동 작업자는 선택한 열을 표시하고, 필터링하고, 선택한 열을 기준으로 그룹화할 수 있습니다. 공동 작업자는 Clean Room에서 Snowflake Activation이 설정된 경우 이러한 특성 값을 활성화할 수 있습니다. 여기에 열이 목록에 표시되지 않는다면 조인 가능한 것으로 표시했기 때문일 수 있으며, 열은 조인이 가능하면서 쿼리 결과에 표시될 수 없습니다.
Allow categorical value previews during filtering 은 미리 보기에 실제 값을 표시할지 여부를 지정합니다. 열에 고유한 값이 20개 미만인 경우 기본적으로 활성화되지만, 고유한 값이 20개 이상인 경우 PII 를 보호하기 위해 기본적으로 비활성화됩니다.
Activation Settings 섹션을 검토하여 결과 데이터에 대한 활성화를 설정, 구성 또는 해제하십시오.
활성화 사용 사례에서 사용 가능해야 하는 ID Columns 를 선택합니다. 기본적으로 조인 정책 열은 자동으로 선택됩니다.
Allow non-overlap activation 을 설정하여 공동 작업자의 데이터 세트에서 ID를 일치시키지 않고 데이터 세트에서 ID를 활성화합니다. 예를 들어 ID 100개를 가져와서 공동 작업자와 중첩 분석을 실행했는데 25개의 ID만 겹치는 경우, 겹치지 않는 활성화는 데이터 세트에서 일치하지 않는 75개의 ID를 활성화합니다.
Enabled Partners 를 검토하여 Clean Room에서 선호하는 활성화 대상만 설정되었는지 확인하십시오. 활성화된 대상에 대한 변경 요구 사항이 있는 경우 Clean Rooms 관리자에게 문의하십시오.
필요에 따라 기본 Privacy Settings 를 업데이트합니다.
Threshold Value 는 기본적으로 활성화되어 5로 설정되어 있습니다. 이렇게 하면 조인 정책 열의 고유 카운트가 이 임계값 미만인 모든 그룹에 대한 결과가 표시되지 않습니다.
Differential Privacy 는 기본적으로 비활성화되어 있습니다. 이 기능을 활성화하면 결과에 노이즈를 추가하고 일일 쿼리 횟수를 제한하여 잠재적인 차별화 공격으로부터 보호할 수 있습니다. Snowflake Data Clean Rooms의 차등 개인정보 보호 에 대해 자세히 알아보고 이 기능을 활성화하는 데 드는 비용을 파악하십시오.
Share clean rooms 에서 다음을 수행합니다.
Select collaborator 메뉴를 확장하여 Clean Room에 공동 작업자를 추가합니다. 공동 작업자에게는 다음에 설명된 대로 Clean Room에 참여하여 사용하도록 초대하는 이메일이 전송됩니다. 페이지의 공동 작업자 목록에는 귀하를 포함하여 이 Clean Room에 액세스할 수 있는 모든 계정이 표시됩니다.
공동 작업자 옆의 Enable run analysis and query 를 선택하여 해당 계정이 Clean Room에서 템플릿을 실행할 수 있는지 여부를 제어합니다. 기본적으로, 사용자 계정은 Clean Room에서 분석을 실행할 수 없습니다(즉, 공급자 실행 분석 은 기본적으로 비활성화되어 있음). 기본적으로, 컨슈머는 Clean Room에서 모든 템플릿을 실행할 수 있습니다.
2단계: 컨슈머가 Clean Room에 참여합니다.¶
다음은 컨슈머가 Audience Overlap & Segmentation 분석 템플릿이 포함된 Clean Room에 참여하고 구성하는 방법입니다.
Add Data 에서 다음을 수행합니다.
Clean Room에 링크(가져오기)할 테이블을 선택합니다. 필요한 테이블이 목록에 없는 경우 Clean Rooms 관리자에게 문의하십시오.
Specify Join Policies 에서 다음을 수행합니다.
데이터에서 조인 가능한 열 중에서 공급자의 데이터에서 조인 가능한 열에 매핑할 열을 결정합니다. 각 실행 중에 이러한 열 중 조인할 열을 지정합니다.
여러 데이터베이스에 여러 개의 이메일 계정을 가진 한 개인과 같이 여러 개의 식별자를 가질 수 있는 엔터티를 확인하기 위해 ID 공급자를 사용하려는 경우 Identity Hub 에서 ID 공급자를 선택합니다.
Configure Analysis & Query 단계에서 다음을 수행합니다.
Audience Overlap & Segmentation 분석을 선택하여 해당 템플릿의 구성 옵션을 표시합니다.
Tables 드롭다운 메뉴에서 이 분석에 사용할 테이블을 선택합니다.
Segmentation & Attribute Columns 를 사용하여 쿼리 결과에 표시할 열을 선택합니다. 이 열은 Clean Room에서 Snowflake Activation이 설정된 경우에도 활성화할 수 있습니다. 여기에 열이 목록에 표시되지 않는다면 조인 가능한 것으로 표시했기 때문일 수 있으며, 열은 조인이 가능하면서 쿼리 결과에 표시될 수 없습니다.
활성화 사용 사례에서 사용 가능해야 하는 ID Columns 를 선택합니다. 기본적으로 조인 정책 열은 자동으로 선택됩니다.
선택적으로, Allow activation for clean room provider 를 설정하여 Clean Room 공급자가 지원되는 활성화 대상에서 활성화할 수 있도록 합니다. 이 옵션은 Clean Room에서 공급자 실행이 활성화된 경우에만 표시됩니다. 이 기능을 설정하면 행 수준 데이터를 공급자의 계정으로 다시 활성화할 수 있습니다. 공급자의 쿼리 및 활성화를 실행할 때 컴퓨팅 비용은 컨슈머에게 청구되지만, 컨슈머는 공급자 작업을 허용하는 데 동의해야 합니다.
Enabled Partners 를 검토하여 Clean Room에서 선호하는 활성화 대상이 설정되어 있는지 확인하십시오. 설정된 대상에 대한 변경이 필요한 경우 Clean Room 공급자에 문의하십시오.
Finish 를 클릭하여 결과를 저장합니다. 분석을 실행하려면 다음 섹션을 참조하십시오.
3단계: 컨슈머가 분석을 실행합니다.¶
참고
기본 구성에서는 컨슈머만 이 템플릿을 사용하여 분석을 실행할 수 있습니다. 이 템플릿으로 공급자 실행 분석을 사용하려면 공급자는 Clean Room 구성에서 Share clean rooms 탭을 열고 계정 이름 옆에 있는 Enable run analysis and query 를 선택해야 합니다.
공급자와 컨슈머가 잠재고객 중첩 및 세분화를 위해 Clean Room을 구성한 후, 분석을 실행할 권한이 있는 당사자 중 어느 쪽이든 이와 같은 작업을 수행할 수 있습니다.
웹 애플리케이션에서 Clean rooms 로 이동합니다.
잠재고객 중첩을 구성한 Clean Room에 대해 Run 을 선택한 다음 Audience Overlap & Segmentation > Proceed 를 선택합니다. (또는 Analyses & Queries 페이지를 방문하여 + New Analysis & Query 를 선택하고 Audience Overlap & Segmentation 유형을 선택한 다음, 해당 분석 유형이 구성된 Clean Room을 선택합니다.)
Query Configurations section 에서 실행에 대한 세부 정보를 설정합니다.
My tables - 공동 작업자의 테이블 중 조인할 테이블을 선택합니다.
Collaborator table - 테이블에 조인할 공동 작업자 테이블을 선택합니다.
My join columns - 테이블 간에 조인할 모든 열을 선택합니다.
User segmentation - 선택 사항으로, 그룹화 열을 선택합니다.
Filters - 설정 중에 세분화 및 특성 열로 지정된 열에 하나 이상의 필터를 선택적으로 제공합니다.
Privacy settings - 이 쿼리는 차등 개인정보 보호와 그룹화당 최소 행 수를 구현합니다. 여기에서 사용 중인 차등 개인정보 보호와 남은 차등 개인정보 보호 및 최소 그룹 규모를 확인할 수 있습니다.
컨슈머로 분석을 수행하는 경우, 웨어하우스 크기 를 변경하여 더 큰 웨어하우스를 선택하여 쿼리 시간을 개선하거나 더 작은 웨어하우스를 선택하여 비용을 절감할 수 있습니다. 공급자로서 분석을 수행할 때 웨어하우스 선택 기능은 사용할 수 없지만 자동 확장을 통해 쿼리 시간을 최적화하려고 시도합니다.
Run 을 선택합니다. 새 쿼리인 경우 다음을 수행합니다.
분석 및 쿼리의 이름을 지정합니다.
선택적으로, 반복 분석을 예약합니다.
Save 를 선택하여 실행을 시작하거나 예약합니다. 각 실행을 완료하는 데 시간이 다소 걸릴 수 있습니다. 웹 애플리케이션의 Analysis & Queries 페이지에서 분석 상태 또는 결과를 확인할 수 있습니다.
코드 사용¶
SQL 코드에서 중첩 및 세분화 예제를 사용하는 방법을 보여주는 샘플 노트북을 다운로드하여 실행할 수 있습니다. 이 예제는 Snowsight 에서 업로드하여 실행할 수 있습니다.
이 노트북에서는 ID 공급자, 서드 파티 공급자에 대한 활성화 또는 공급자 실행 분석 을 사용하는 방법을 보여주지 않습니다. 연결된 주제를 참조하여 코드에서 이러한 작업을 수행하는 방법을 살펴보십시오.
전제 조건
같은 조직에 Snowflake Data Clean Rooms가 설치된 두 개의 계정이 있어야 합니다. 한 계정은 공급자에게, 다른 계정은 컨슈머에게 사용합니다.
코드 예 설치 및 실행하기
공급자 계정과 컨슈머 계정 모두에 노트북을 설치합니다. 노트북을 업로드하려면 다음을 수행하십시오.
Snowsight 에서 Projects » Notebooks 로 이동합니다.
+ Notebook » Import .ipynb file 를 선택합니다.
다운로드한 .ipynb 파일을 선택합니다.
파일 이름을 원하는 대로 지정하고 데이터베이스와 스키마를 선택합니다.
기본 웨어하우스
APP_WH
를 유지합니다.Create 를 선택합니다.
공급자 계정에서 노트북을 열고 공급자 부분을 작성하여 Clean Room을 만듭니다.
컨슈머 계정에서 노트북을 열고 컨슈머 부분을 완료하여 Clean Room을 설치 및 구성하고 템플릿을 실행합니다.