Manage data listings
Manage data listings (데이터 리스팅 관리)
데이터 리스팅을 생성할 때 고려할 사항들에 대해 설명해요. 데이터 익스체인지에서 데이터 리스팅을 만들고 구성하는 데 필요한 파라미터와 절차를 다루어요.
본문
리스팅 생성 시 고려 사항
Note
이 고려 사항들은 원격 리전에서 리스팅을 만들 때도 적용돼요.
- 데이터는 서로 다른 계정 간에 공유되므로 데이터 컨슈머는 이중 따옴표로 묶인 식별자를 사용하지 않고 공유 데이터 객체를 사용할 수 있어야 해요(식별자 요구 사항 참고). 그 결과 테이블, 컬럼, 공유 이름의 객체 식별자는 대문자여야 하고 영숫자 문자만 사용해야 해요.
- 공유 데이터베이스의 민감 데이터가 컨슈머 계정의 사용자에게 노출되지 않도록 하려면 보안 객체로 데이터 접근 제어를 참고해요.
- 현재 컨슈머 계정과 공유된(즉, 직접 공유로) 공유는 리스팅에 추가할 수 있어요. 컨슈머는 공유에서 데이터베이스를 만들기 전에 데이터 익스체인지 웹 인터페이스에서 리스팅 약관을 수락해야 해요.
- 공유를 만든 역할만 그 공유를 리스팅에 연결할 수 있어요.
- 공유는 하나의 리스팅에만 연결할 수 있어요. 공유가 이미 리스팅에 연결되었다면, 그 리스팅이 삭제되었더라도 다른 리스팅에는 연결할 수 없어요.
- 새 무료 리스팅 또는 수정된 무료 리스팅을 게시하기 전에 모든 샘플 쿼리가 자동 검증되어 참조된 객체가 공유에 추가되고 쿼리가 성공적으로 실행될 수 있는지 확인해요.
- 데이터는 법적으로 공유 가능해야 해요(즉, 프로바이더가 데이터를 소유하거나 공유할 권리가 있어야 해요).
Note
데이터 리스팅이나 데이터 세트의 데이터가 어떤 법률이나 계약상 의무의 적용을 받는 한, 그 데이터를 공유할 법적·계약적 권리가 있음을 보장해야 해요. 예를 들어 보호된 건강 정보(PHI)는 개인화된 데이터 공유를 통해서만 공유할 수 있으며, 그러려면 (1) Snowflake 및 PHI를 받는 컨슈머와 비즈니스 동료 협약(BAA)을 체결하고, (2) 컨슈머도 Snowflake와 BAA를 체결했는지 확인해야 해요. 또한 데이터 공유를 통해 개인 데이터를 공유할 수 있지만, 그 데이터가 공개적으로 이용 가능하지 않다면 적용 가능한 법적·계약적 권리가 있어야 해요.
원격 리전에서 리스팅 생성 및 데이터 복제 시 고려 사항
- 리스팅을 게시하면 컨슈머가 선택한 모든 리전에서 리스팅을 볼 수 있어요.
- 리스팅은 자동으로 복제되지만 데이터는 복제되지 않아요.
- 무료 리스팅의 경우 리스팅을 게시하기 전에 선택한 각 리전으로 데이터를 복제해야 해요.
- 개인화 리스팅의 경우 컨슈머의 요청에 따라 데이터를 복제할 수 있어요.
- 복제를 설정하고 관련 비용을 이해할 시간을 할애해요.
- 어떤 리전에서 데이터를 공유하려면 그 리전에 계정이 있어야 데이터를 복제할 수 있어요. 계정이 여러 개라면 모든 계정이 같은 조직에 속해야 해요.
- 원격 리전에서 리스팅을 게시할 때 조직의 모든 계정이 리스팅 요청을 처리하도록 허용하거나, 개별 계정을 프로바이더로 명시적으로 추가할 수 있어요. 리스팅 요청을 누가 처리할 수 있는지 지정할 수 있는 것은 리스팅 소유자뿐이에요.
- 리전 간 데이터 공유는 Snowflake 데이터 복제 기능을 활용해요. 자세한 내용은 리전 및 클라우드 플랫폼 간 데이터 안전 공유를 참고해요.
- 컨슈머가 요청할 때까지 각 리전으로 데이터를 복제할 필요는 없어요.
- 무료 리스팅의 경우 원격 리전의 리스팅에 공유를 미리 연결하는 옵션이 있어요. 이렇게 하면 컨슈머가 요청을 제출하지 않고도 즉시 공유를 받을 수 있어요.
- 원격 리전의 리스팅에 연결된 공유 목록을 보려면 공유를 리스팅에 연결한 원격 계정에 로그인해야 해요.
데이터 리스팅 필드
다음 표는 데이터 익스체인지에서 데이터 리스팅을 만들고 구성하는 데 필요한 파라미터를 설명해요. 리스팅 유형은 리스팅 유형을 참고해요.
| 섹션 | 필드 이름 | 설명 | 예 |
|---|---|---|---|
| 기본 정보 | 리스팅 유형 | 리스팅 유형(무료, 개인화)을 참고. | 사용 가능 값: Free, Personalized |
| 프로필 | 공유를 소유한 프로바이더 프로필의 이름. 리스팅을 게시하기 전에 프로바이더 프로필을 만들어야 함. | ||
| 제목 | 데이터 리스팅의 제목. 제목은 110자를 초과할 수 없음. | Historical Weather by Postcode. | |
| 부제목 | 데이터 리스팅의 부제목. 부제목은 110자를 초과할 수 없음. 제목과 부제목은 중복되지 않아야 함. | Historical Weather Data by Location. | |
| 데이터 업데이트 빈도 | 데이터가 업데이트되는 빈도. | 사용 가능 값: Near real-time, Daily, Weekly, Monthly, Quarterly, Annually, Never (Static Data). | |
| 카테고리 | 데이터 리스팅은 쉽게 발견되도록 분류됨. | ||
| 서비스 약관 | 프로바이더 웹사이트에 호스팅된 리스팅 약관 링크. 컨슈머는 데이터 접근 전에 약관을 수락함. 무료 리스팅에는 리스팅 약관이 필수이고, 개인화 리스팅에는 선택 사항. | https://www.example.com/en/legal | |
| 세부 정보 | 설명 | 공유된 데이터 세트의 설명. 설명에는 (a) 데이터 규모 (b) 테이블/뷰 설명 (c) 데이터 세트가 샘플인지 여부 (d) 데이터 사전을 찾는 위치가 포함되어야 함. | ACME는 대기업에 맞춤형·정밀 기상 경보를 공급하는 1위 공급업체이자 전 세계 기상 예보, 데이터, 기상 컨설팅 서비스의 핵심 정보 소스입니다. 이 데이터는 미국 우편번호별 과거 기상 데이터로, 기존 데이터를 더욱 향상해 더 깊은 분석을 제공하는 데 사용할 수 있습니다. |
| 문서 링크 | 더 상세한 문서가 있는 프로바이더 웹사이트 페이지 링크. 문서는 명확해야 하고 Snowflake 공유에 있는 올바른 스키마 객체를 참조해야 함. 표준 문서만으로는 안 됨. | https://developer.example.com | |
| 데이터 | 데이터베이스 객체 또는 보안 공유 | 공유할 데이터를 선택. 이 섹션은 무료 데이터 리스팅에서만 사용 가능. | |
| 비즈니스 요구 | 비즈니스 요구 | 데이터 리스팅은 쉽게 발견되도록 비즈니스 요구별로 그룹화됨. 리스팅에 대해 비즈니스 요구를 최대 6개 선택할 수 있음. 드롭다운 목록에 관련 비즈니스 요구가 없으면 사용자 정의 비즈니스 요구를 만들 수 있음. 컨슈머는 드롭다운 목록에 있는 비즈니스 요구를 기반으로 리스팅을 쉽게 발견할 수 있음. 단, 추가한 사용자 정의 비즈니스 요구는 포함되지 않으며 리스팅 세부 정보에서만 볼 수 있음. | |
| 설명 | 데이터 또는 데이터 서비스가 비즈니스 요구를 어떻게 해결하는지 설명. | ||
| 샘플 SQL 쿼리 | 제목 | 쿼리가 데이터를 이해하는 데 도움이 되는 설명적 제목. 예를 여러 개 추가할 수 있음. | |
| 설명 (선택) | 스키마 이름, 샘플 테이블, 필드, 사용 사례 등 추가 지침이 있는 예 설명. | ||
| SQL 쿼리 | 공유를 만드는 데 사용하는 데이터베이스에 대해 샘플 쿼리 테스트. Snowflake는 쿼리를 자동 검증해 모든 참조 객체가 공유에 추가되고 쿼리가 성공적으로 실행되는지 확인. 검증이 실패하면 이유를 담은 오류 메시지가 표시됨. 실패한 각 쿼리 옆에 느낌표가 보임. | ||
| 리전 가용성 | 모든 사용 가능한 리전 또는 특정 리전 | 리스팅이 표시될 리전. 이 리전들로 데이터를 복제해야 함. 관리자 승인을 위해 다시 제출하지 않고 언제든지 사용 가능한 리전 목록을 편집할 수 있음. 이전에 사용 가능했던 리전을 제거하면 그 리전의 컨슈머는 더 이상 리스팅을 볼 수 없음. |
데이터 리스팅 생성 및 게시
- Snowsight에 로그인해요.
- 탐색 메뉴에서 Data sharing » External sharing을 선택해요.
- Share Data 드롭다운 목록을 선택하고 데이터 익스체인지를 선택해요.
- New Listing 대화 상자에서 컨슈머에게 표시되는 리스팅 제목을 입력하고 리스팅 유형을 선택해요. 리스팅 유형에 대한 자세한 내용은 리스팅 유형을 참고해요.
- 새 리스팅의 각 섹션을 작성해요. 나중에 마치기 위해 언제든지 초안을 저장할 수 있어요. 각 섹션과 관련 필드의 설명은 리스팅 구성을 참고해요.
무료 리스팅의 경우 리스팅에 공유를 연결하려면 Data 섹션을 편집할 때:
Note
리스팅이 게시될 때까지는 로컬/기본 계정의 공유에만 연결할 수 있어요. 리스팅 게시 후에는 선택한 추가 리전의 공유에 연결할 수 있어요.
- Select Data를 선택해요.
- 보안 공유가 있다면 공유로 이동해 선택해요. 공유가 없다면 원하는 데이터베이스로 이동해 공유에 추가하려는 데이터베이스 객체를 선택해요.
Note
공유가 보이지 않으면 이미 다른 리스팅에 연결되었거나, 이전에 컨슈머와 공유된 것이에요.
- Done을 선택해요.
- (선택) 보안 공유의 기본 이름을 변경할 수 있어요.
- Save를 선택해요.
- 모든 섹션을 완료하면 Publish를 선택해 선택한 리전에 리스팅을 게시해요.
Publish 버튼은 다음 경우 활성화되지 않아요:
- 제공된 샘플 SQL 쿼리 중 하나라도 검증에 실패한 경우. 자세한 내용은 데이터 리스팅 필드를 참고해요.
- 공유 소유자가 아닌 경우.
개인화 리스팅 요청 보기
Note
데이터 요청을 알리기 위해 프로바이더에게 이메일 알림이 전송돼요. Settings 탭에서 특정 리스팅의 요청 알림 이메일을 변경할 수 있어요.
- 탐색 메뉴에서 Data sharing » External sharing을 선택해요.
- Requests 탭을 선택해요. 필터링 드롭다운 목록을 사용해 상태별로 요청을 확인해요.
원격 리전의 데이터 리스팅에 대한 컨슈머 요청 승인
Note
- 개인화 리스팅의 경우 데이터가 원격 리전에서 자동으로 사용 가능하지 않아요. 프로바이더가 각 리전으로 데이터를 복제할 책임이 있어요.
- 무료 리스팅의 경우 원격 리전의 리스팅에 공유를 미리 연결하는 옵션이 있어요. 이렇게 하면 요청을 제출하지 않고도 컨슈머가 즉시 공유를 받을 수 있어요. 리전의 첫 번째 컨슈머로부터 요청을 받은 후 데이터를 복제하고 공유를 리스팅에 연결할 수도 있어요. 공유가 리스팅에 연결되면 그 리전의 모든 컨슈머가 즉시 공유에 접근할 수 있어요.
- 리스팅을 특정 프로바이더 계정(들)이 처리할지, 조직의 모든 계정이 처리할지 지정할 수 있어요.
- 컨슈머가 다른 리전에 있다면, 공유를 연결하기 전에 각 원격 리전의 계정으로 데이터 복제를 설정해야 해요. 자세한 내용은 리전 및 클라우드 플랫폼 간 데이터 안전 공유를 참고해요.
- 탐색 메뉴에서 Data sharing » External sharing을 선택해요.
- Requests 탭을 선택해요.
- 리스팅 이름 옆의 Review를 선택해요.
- Associate Secure Share 섹션에서 공유를 만들 계정을 선택해요.
- 공유와 공유된 데이터베이스 객체를 소유한 역할(또는 데이터베이스 객체를 공유에 추가하는 데 필요한 권한이 있는 역할)을 선택해요.
- Select Data를 선택해요.
- 보안 공유가 있다면 공유로 이동해 선택해요. 공유가 없다면 원하는 데이터베이스로 이동해 공유에 추가하려는 데이터베이스 객체를 선택해요.
Note
공유가 보이지 않으면 이미 다른 리스팅에 연결되었거나, 이전에 컨슈머와 공유된 것이에요.
- Done을 선택해요.
- (선택) 보안 공유의 기본 이름을 변경해요.
- Fulfill Request를 선택해요.
Tip
원격 리전의 요청을 처리할 때 오류가 발생하면 다음을 고려해요.
- 원격 계정이 프로바이더로 Marketplace에 추가되었는가?
- 원격 계정이 리스팅을 게시한 계정과 같은 조직의 일부인가?
- ACCOUNTADMIN 역할로 새 공유를 만들었는가?
- 연결하려는 공유에 다른 컨슈머를 추가했는가?
처리된 리스팅 요청 보기
Snowsight를 사용해 무료 또는 개인화 리스팅 요청을 처리하는 프로바이더는 공유에 추가된 컨슈머의 기록을 볼 수 있어요. 기록을 보려면 탐색 메뉴에서 Data sharing » Internal sharing을 선택하고 Shared by your account 탭을 선택해요.
이 기록들은 QUERY_HISTORY 뷰에서도 사용할 수 있어요.
데이터 리스팅 편집
리스팅의 새 버전을 게시하면 이전에 게시된 리스팅을 덮어써요. 이전에 사용 가능했던 리전을 제거하면 그 리전의 컨슈머는 공유된 데이터 세트에 더 이상 접근할 수 없어요.
- ACCOUNTADMIN으로 Snowsight에 로그인해요.
- 탐색 메뉴에서 Data sharing » External sharing » Shared by your account를 선택해요.
- 업데이트하려는 리스팅의 이름을 클릭해요.
- 리스팅 제목 옆에서 New Draft를 클릭해요.
- 업데이트하려는 섹션의 Edit을 클릭해요.
- Publish를 클릭해요.
데이터 리스팅 게시 취소
데이터 리스팅 게시를 취소하면 기존 컨슈머는 공유에서 제거하지 않는 한 데이터 공유에 여전히 접근할 수 있어요. 새 컨슈머는 그것을 볼 수 없어요.
- ACCOUNTADMIN으로 Snowsight에 로그인해요.
- 탐색 메뉴에서 Data sharing » External sharing » Shared by your account를 선택해요.
- 게시를 취소하려는 리스팅의 이름을 선택해요.
- 오른쪽 위 모서리의 Live 드롭다운 목록에서 Unpublish를 선택해요.
데이터 리스팅 다시 게시
- ACCOUNTADMIN으로 Snowsight에 로그인해요.
- 탐색 메뉴에서 Data sharing » External sharing » Shared by your account를 선택해요.
- 다시 게시하려는 리스팅의 이름을 선택해요.
- 오른쪽 위 모서리에서 드롭다운 목록의 Re-publish를 선택해요.
- Re-publish를 선택해 리스팅을 다시 게시해요.
데이터 리스팅 제거
프로바이더로서 리스팅 제거를 참고해요.
데이터 공유 업데이트
Snowsight로 데이터 공유를 업데이트할 수 있어요. 데이터 리스팅을 수정할 때마다 프로세스가 깨지지 않도록 컨슈머에게 알려야 한다는 점을 명심해요. 중단 변경(breaking change)의 예는 다음과 같아요.
- 컬럼 추가/제거.
- 객체 이름 변경.
- 객체 제거.
더 알아보기 (Learn more)
- About Data Exchange — 익스체인지 개요
- Types of Listings — 리스팅 유형
- Share data securely across regions and platforms — 리전 간 안전 공유
- Use secure objects to control data access — 보안 객체로 데이터 접근 제어