Snowflake Data Clean Room 용어 사전이에요

Snowflake Data Clean Room 용어 사전이에요


기능 — 일반 공개

현재 these regions에서 사용할 수 있어요.

정부 및 VPS 배포에서는 사용할 수 없어요.

Snowflake Data Clean Rooms에서 사용되는 용어들을 알아볼게요. 일부 용어는 Snowflake의 다른 곳에서와 다르게 사용되니 주의하세요.

Activate / activation

쿼리 결과 테이블을 clean room 밖으로 내보내는 작업이에요. 협력자나 제3자에게 내보낼 수 있어요. 상대방과 clean room 설정이 허용하면 쿼리 결과를 자신의 계정이나 승인된 제3자 파트너(예: Google Ads, Meta Ads Manager)로 내보낼 수 있어요.

Analysis runner

협력자가 collaboration에서 템플릿을 실행하고 결과를 볼 수 있게 해주는 collaboration role이에요. Analysis runner는 data provider가 공유한 data offering을 사용할 수 있어요.

Code spec

템플릿에서 호출할 수 있는 하나 이상의 사용자 지정 Python 함수 또는 프로시저로 구성된 등록 패키지예요. Code spec은 YAML code specification을 사용하여 정의하고 REGISTRY.REGISTER_CODE_SPEC을 호출하여 등록해요. 템플릿은 code spec을 ID로 참조하며, cleanroom.*code_spec_name*$*function_name* 구문을 사용하여 함수를 호출해요.

Collaboration

안전한 다자간 데이터 공유 환경이에요. Collaboration은 협력자, 협력자들의 collaboration role, 그리고 collaboration에서 사용할 수 있는 모든 리소스(템플릿, data offering 등)를 나열하는 YAML specification으로 정의돼요. Collaboration owner는 INITIALIZE를 호출하여 collaboration을 만들고, 다른 협력자들은 JOIN을 호출하여 참여해요.

Collaboration owner

INITIALIZE를 호출하여 collaboration을 만드는 협력자에게 할당되는 collaboration role이에요. Owner는 협력자 목록, 역할, 초기 리소스 집합을 포함한 collaboration spec을 정의해요. Owner는 기본적으로 analysis runner나 data provider로 활동할 수 없어요. 단, collaboration specification이 해당 역할을 명시적으로 부여하는 경우는 예외예요.

Collaboration role

사용자가 특정 collaboration에서 수행할 수 있는 작업 집합을 설명하는 역할이에요. 한 사용자는 collaboration에서 여러 collaboration role을 가질 수 있어요. 역할에는 owner, data provider, analysis runner가 포함돼요. RBAC role과는 달라요. 역할에 대해 자세히 알아보려면 Collaborator roles in Collaboration Data Clean Rooms을 참고하세요.

Collaborator

collaboration에 참여하는 모든 참가자예요. 각 collaborator는 별칭(alias)으로 식별되며 하나 이상의 collaboration role(owner, data provider, analysis runner)을 가져요.

Column policy

협력자가 다른 협력자에 의해 프로젝션될 수 있는 자신의 데이터 컬럼을 지정하는 정책이에요. Clean room column policy는 clean room 내에서 완전히 결정되며, clean room 외부에서 소스 테이블에 적용될 수 있는 Snowflake 정책에서 파생되지 않아요. Learn more about column policies.

Data offering

data provider가 collaboration에서 특정 analysis runner와 공유하는 하나 이상의 dataset 패키지예요. 각 dataset은 data provider가 소유한 하나의 소스 테이블 또는 뷰를 나타내요. Data offering은 스냅샷이 아닌 데이터의 실시간 뷰이므로 소스 데이터의 변경 사항이 collaboration에 반영돼요. Data offering은 registry에 등록된 후 collaboration에 연결돼요.

Data provider

협력자가 collaboration에서 특정 analysis runner와 data offering을 공유할 수 있게 해주는 collaboration role이에요. Data provider는 다른 협력자가 사용할 수 있도록 data offering을 등록하고 collaboration에 연결해요.

Dataset

data provider의 단일 소스 테이블 또는 뷰에 대한 안전한 뷰예요. Data offering은 하나 이상의 dataset으로 구성돼요. Data offering specification은 각 dataset에 대해 노출할 컬럼, 적용할 정책, 템플릿으로만 쿼리할 수 있는지 아니면 자유 형식 SQL로도 쿼리할 수 있는지를 정의해요.

DCR privilege

역할에 특정 Collaboration API 프로시저에 대한 액세스를 부여하는 데 사용되는 개념적 권한 문자열이에요. DCR privilege는 개별 객체 또는 더 일반적인 작업에 대해 부여될 수 있어요. DCR privilege에는 READ, CREATE COLLABORATION, JOIN COLLABORATION이 포함돼요. 이러한 권한 문자열은 GRANT_PRIVILEGE_ON_OBJECT_TO_ROLE 및 GRANT_PRIVILEGE_ON_ACCOUNT_TO_ROLE에 전달돼요. 자세한 내용은 Managing access to collaborations, resources, and data를 참고하세요.

Free-form SQL


분석 실행자가 템플릿을 사용하지 않고 데이터 제공자의 데이터셋에 대해 임의의 SQL 쿼리를 직접 실행할 수 있는 데이터 액세스 모드예요. 데이터 제공자는 데이터 오퍼링 사양에서 allowed_analyses: template_and_freeform_sql을 설정하여 이 기능을 활성화해요. 데이터 오퍼링의 freeform_sql_policies 섹션에 정의된 Snowflake 정책이 이러한 쿼리에 적용돼요. Free-form SQL queries를 참조하세요.

Differential privacy

데이터셋의 개별 행이나 엔터티에 보호를 추가하는 알고리즘 및 수학적 시스템이에요. 수치 결과에 노이즈를 추가하고 쿼리에서 그룹화를 요구하여 정확한 값이 데이터의 특정 행이나 엔터티와 연결되지 않도록 해요.

Join policy

Clean Room 협업자가 해당 Clean Room의 쿼리에서 자신의 어떤 열을 조인에 사용할 수 있는지 지정하는 정책이에요. Clean Room 조인 정책은 Snowflake 조인 정책과 완전히 독립적이에요. Learn more about join policies.

Linking

리소스를 협업으로 가져오는 것이에요. Resources를 참조하세요.

Local data offering

로컬 데이터 오퍼링을 사용하면 Standard Edition 계정이 협업에서 자체 테이블을 사용할 수 있어요. 이러한 오퍼링은 다른 협업자에게 표시되지 않으며 템플릿 정책도 적용되지 않아요. Run an analysis with your own data when you use Standard Edition를 참조하세요.

Linking

데이터의 보호된 뷰를 Clean Room으로 가져오는 것이에요. 제공자와 소비자 모두 자신의 데이터를 Clean Room에 링크하여 해당 Clean Room이 지원하는 모든 쿼리에서 사용할 수 있게 할 수 있어요. 테이블이나 뷰를 링크한다는 것은 Clean Room 내에 소스 데이터의 복사본(뷰)을 만들고, 이를 Clean Room 외부의 소스 테이블이나 뷰에 동적으로 연결하는 것을 의미해요.

Registry

템플릿, 데이터 오퍼링, 코드 사양과 같은 리소스를 저장하는 계정 수준의 컨테이너예요. 리소스를 협업에 링크하려면 먼저 레지스트리에 등록해야 해요. 각 계정에는 모든 사용자가 액세스할 수 있는 기본 레지스트리가 있으며, 리소스를 그룹화하고 액세스를 관리하기 위해 사용자 지정 레지스트리를 만들 수도 있어요. 사용자 지정 레지스트리는 다른 역할에 명시적으로 액세스 권한이 부여될 때까지 생성자에게만 비공개예요. Registries에서 자세히 알아보세요.

Resource

레지스트리에 등록하고 협업에 링크할 수 있는 재사용 가능한 구성 요소예요. 리소스에는 템플릿, 데이터 오퍼링, 코드 사양이 포함돼요. 각 리소스는 YAML 사양으로 정의되며 이름과 버전을 가지며, 적절한 REGISTRY 프로시저를 호출하여 등록해요. 리소스는 협업 생성 시 링크하거나 나중에 추가할 수 있어요.

SCO

Secure Collaboration Orchestrator. Snowflake가 관리하는 계정으로, 협업을 백그라운드에서 관리해요. SCO는 협업별로 개별 앱 패키지를 만들고, 협업 정의에 따라 협업자와 데이터를 공유하며, 누가 어떤 템플릿을 사용하여 어떤 데이터에 액세스할 수 있는지와 같은 협업 정책을 적용해요. SCO와 관련된 비용은 사용자에게 청구되지 않아요.

Secure view

테이블이나 뷰를 Clean Room에 링크하면 보안 뷰가 생성돼요. 이는 Clean Room 외부의 소스 테이블이나 뷰를 기반으로 하는 암호화된 뷰예요. 보안 뷰는 일반적으로 사용자에게 보이지 않지만, 오류 메시지나 다양한 도구로 데이터베이스 개체를 탐색할 때 가끔 나타날 수 있어요. 이때 원래 링크된 데이터셋의 이름이 다소 변형된 것을 볼 수 있어요. 특별한 지시가 없다면 항상 링크된 소스 테이블이나 뷰와 동일한 데이터셋 이름을 사용하여 데이터를 참조하세요.

Spec / specification / definition

협업 리소스를 정의하는 YAML 문서예요. 각 리소스 유형에는 협업 사양, 데이터 오퍼링 사양, 템플릿 사양, 분석 요청 사양, 코드 사양을 포함한 자체 사양 스키마가 있어요. 사양은 INITIALIZE, REGISTER_DATA_OFFERING, REGISTER_TEMPLATE와 같은 API 프로시저에 전달돼요. 자세한 내용은 schema reference를 참조하세요.

Template

각 Clean Room에는 하나 이상의 템플릿이 있으며, 이는 협업자가 제공하는 JinjaSQL로 작성된 SQL 쿼리예요. 템플릿 제공자는 자신의 템플릿을 사용할 수 있는 분석 실행자를 지정해요. 작성 방식에 따라 템플릿은 결과를 즉시 반환하는 분석 템플릿이거나, 지정된 협업자의 Snowflake 계정에 결과를 저장하는 활성화 템플릿일 수 있어요.

출처: 문서

본문


레거시 Provider 및 Consumer Clean Room 용어

다음 용어는 레거시 Provider 및 Consumer Clean Room에서 사용돼요. 현재 용어에 대해서는 위의 정의를 참조하세요.

Provider

클린룸 생성자예요. Provider는 일반적으로 일부 데이터와 해당 클린룸에서 실행할 수 있는 허용된 쿼리 목록을 공유하고, 높은 수준의 클린룸 구성을 설정해요.

Consumer

클린룸 제공자(Provider)가 클린룸을 사용하도록 초대한 사람 또는 계정이에요. Consumer는 일반적으로 자신의 데이터를 가져와서 해당 클린룸에서 지원하는 하나 이상의 쿼리를 실행해요. 하지만 클린룸을 구성에 따라 Consumer가 자신의 쿼리를 제안할 수 있고, Provider의 승인을 받아야 해요.

Clean rooms UI

줄여서 “UI”라고도 불러요. Snowflake Clean Room 환경을 관리하고, 새 클린룸을 만들거나, 초대받은 클린룸을 사용할 수 있는 브라우저 기반 웹 애플리케이션이에요. 이전에는 “웹 앱(web app)”이라고 불렸으며, 일부 곳에서는 여전히 그 용어를 볼 수 있어요.

더 알아보기 (Learn more)