Snowflake

[Snowflake] Snowflake SnowPro Core 시험 Cheat Sheet 6 (데이터 보호 및 데이터 공유)

JustJunsu 2024. 11. 2. 15:59
728x90

6. 데이터 보호 및 데이터 공유

6.1 Snowflake를 통한 지속적 데이터 보호

1) Time Travel

 

  • 개념: Time Travel은 특정 시점의 데이터를 복구할 수 있는 기능입니다. 실수로 데이터를 삭제하거나 잘못 변경했을 때 과거 상태로 되돌릴 수 있습니다.
  • 설정 가능 기간: 기본적으로 1일로 설정되며, Enterprise 플랜 이상에서는 최대 90일까지 설정 가능합니다.
  • 복구 방법:
    • SELECT ... AT 절을 사용하여 특정 시간의 데이터를 조회할 수 있습니다.
    • UNDROP 명령어를 사용해 삭제된 테이블을 복구할 수 있습니다.
    • 예시: SELECT * FROM table_name AT (TIMESTAMP => '2024-01-01T00:00:00');

 

2) Fail-Safe

 

  • 개념: Time Travel 기간이 끝난 후에도 7일간 데이터를 복구할 수 있도록 보존하는 기능입니다.
  • 기간: 7일 동안 데이터가 보존되며, 이 기간 동안 데이터를 복구할 수 있습니다.
  • 사용 제한: 사용자 직접 복구는 불가능하고, Snowflake 지원팀을 통해서만 복구 가능합니다. 비상시에 활용할 수 있는 마지막 복구 수단입니다.

 

3) 데이터 암호화

 

  • 개념: Snowflake는 기본적으로 AES-256 암호화를 통해 데이터 보호를 지원합니다. 전송 중과 저장 중 모두 암호화가 적용됩니다.
  • 특징:
    • Snowflake는 자동으로 암호화 키를 관리하므로 사용자는 추가적인 설정이 필요 없습니다.
    • 데이터가 Snowflake 내에 저장될 때와 계정 간에 공유될 때 모두 암호화됩니다.
  • 규제 준수: 금융, 의료, 정부 기관 등 보안이 중요한 분야에서 요구하는 보안 규정을 충족합니다.

 

4) Cloning

 

  • 개념: Snowflake는 데이터베이스, 테이블, 스키마를 복제할 수 있습니다. 원본 데이터를 참조하여 복제하므로 초기에는 스토리지 비용이 발생하지 않습니다.
  • 특징:
    • 원본과 복제본은 독립적으로 관리할 수 있으며, 실험 환경이나 테스트 환경을 구축할 때 유용합니다.
    • 예시: CREATE TABLE cloned_table CLONE original_table; 형식으로 사용합니다.

 

5) Replication

  • 개념: 데이터를 다른 리전이나 Snowflake 계정에 복제하여 고가용성과 재난 복구를 보장하는 기능입니다.
  • 특징:
    • 복제된 데이터는 다수의 리전에 걸쳐 동기화되므로 특정 지역에서 문제가 발생해도 데이터 접근이 가능합니다.
    • 예시: CREATE REPLICATION 구문을 통해 설정하며, 다중 지역 운영과 재난 복구에 유용합니다.

 

6.2 Snowflake 데이터 공유 기능

1) 계정 유형

  • 표준 계정: Snowflake를 사용하는 기본 고객 계정으로, 데이터를 공유하거나 받을 수 있습니다.
  • 리더 계정: 소비자에게 독립적인 리소스를 제공하며, 데이터를 공유한 후 소비자가 독립적으로 리소스를 관리하도록 지원합니다.
  • 리스너 계정: 데이터 소비 전용 계정으로, Snowflake 계정을 생성하지 않고도 데이터를 활용할 수 있습니다.

2) Snowflake 마켓플레이스

  • 기능: 다양한 공개 데이터와 파트너 데이터를 거래하고 구독할 수 있는 플랫폼입니다.
  • 사용 예: 마케팅, 금융, 공공 데이터와 같은 산업 데이터를 쉽게 이용할 수 있어 추가적인 데이터 수집 없이도 분석이 가능합니다.

3) Data Exchange

  • 기능: 특정 회사나 파트너 간 제한적으로 데이터를 공유할 수 있는 폐쇄형 교환 플랫폼입니다.
  • 사용 예: 내부 부서 간 데이터 공유, 협력사 간 안전한 데이터 협업에 활용됩니다.

4) 액세스 제어 옵션

  • DDL 명령어를 통한 Share 생성 및 관리:
    • CREATE SHARE: 다른 계정과 공유할 데이터베이스 및 테이블을 지정해 공유를 생성합니다.
    • ALTER SHARE: 기존 공유 대상을 수정하여 새로운 테이블을 추가하거나 제거합니다.
    • DROP SHARE: 필요하지 않은 공유를 삭제합니다.
  • 필요 권한: USAGE, SELECT 권한이 있어야 데이터베이스와 테이블을 공유할 수 있습니다. 필요한 테이블에 대해 권한을 설정하여 보안을 유지하면서 특정 사용자에게만 접근을 허용할 수 있습니다.

5) Secure Data Sharing

  • Direct Share: Snowflake 플랫폼 내에서 직접 데이터를 공유하는 방식으로, 동일한 리전에 있는 계정 간에 빠르고 효율적으로 데이터를 공유할 수 있습니다.
  • Listing: 마켓플레이스나 Data Exchange에 데이터를 Listing하여 외부에서 접근할 수 있도록 합니다. 데이터 소비자는 이를 검색하고 구독할 수 있습니다.

Reference

https://docs.snowflake.com/ko/guides

 

가이드 - Snowflake 설명서

협업 다른 Snowflake 사용자와 데이터와 애플리케이션을 공유합니다. Snowflake Marketplace에서 데이터 제품 목록을 검색 및 게시하거나, 데이터 제품을 비공개로 공유하거나, 직접 공유를 사용하여 동

docs.snowflake.com

 

728x90