동적 테이블 관리 정보

동적 테이블 관리에는 일반적으로 다음 작업이 포함됩니다.

작업

설명

동적 테이블 나열 및 동적 테이블에 대한 정보 보기

동적 테이블 나열 및 보기.

동적 테이블 삭제하기

동적 테이블 삭제.

동적 테이블에 대한 웨어하우스 또는 목표 지연 변경하기

동적 테이블 변경.

동적 테이블 나열 및 동적 테이블에 대한 정보 보기

데이터베이스의 동적 테이블을 나열하고 해당 동적 테이블에 대한 정보를 보려면 Snowsight 또는 SQL 명령을 사용할 수 있습니다.

Snowsight를 사용하여 동적 테이블 나열 및 세부 정보 보기

스키마의 동적 테이블을 나열하고 동적 테이블에 대한 정보를 보려면 다음을 수행하십시오.

  1. Snowsight 에 로그인합니다.

  2. Data » Databases 를 선택합니다.

  3. 탐색 창 옆에 있는 데이터베이스 오브젝트 탐색기 에서 데이터베이스 스키마를 선택합니다.

  4. 스키마 세부 정보 페이지 에서 Dynamic Tables 탭을 선택합니다.

    Dynamic Tables 를 확장하여 데이터베이스 오브젝트 탐색기에서 동적 테이블 목록을 볼 수도 있습니다.

  5. 특정한 동적 테이블에 대한 정보를 보려면 데이터베이스 오브젝트 탐색기 또는 Dynamic Tables 탭의 동적 테이블 목록에서 동적 테이블을 선택하십시오.

    이 페이지의 탭에는 다음을 비롯하여 테이블 세부 정보 페이지 와 동일한 정보가 일부 제공됩니다.

    • 동적 테이블의 정의와 동적 테이블 작업을 위해 부여된 권한

    • 동적 테이블의 열에 대한 정보

    • 동적 테이블에 있는 최대 100개의 데이터 행 미리 보기

    또한 동적 테이블 세부 정보 페이지에는 동적 테이블에 대한 정보를 보는 데 사용할 수 있는 탭이 포함됩니다.

SQL 명령을 사용하여 동적 테이블을 나열하고 세부 정보 보기

  • 현재 데이터베이스(또는 현재 사용 중인 데이터베이스가 없는 경우에는 계정)의 동적 테이블을 나열하려면 SHOW DYNAMIC TABLES 명령을 사용하십시오.

    예를 들어 데이터베이스 mydb 및 스키마 myschema 에서 이름이 product_ 로 시작하는 동적 테이블을 나열하려면 다음 SQL 문을 실행하십시오.

    SHOW DYNAMIC TABLES LIKE 'product_%' IN SCHEMA mydb.myschema;
    
    Copy

    명령의 전체 구문은 SHOW DYNAMIC TABLES 섹션을 참조하십시오.

  • 동적 테이블의 열에 대한 정보를 출력하려면 DESCRIBE DYNAMIC TABLE 명령을 사용하십시오.

    예를 들어 product 라는 동적 테이블의 열을 나열하려면 다음을 수행하십시오.

    DESC DYNAMIC TABLE product;
    
    Copy

동적 테이블도 TABLES 뷰 의 결과에 포함됩니다.

동적 테이블 삭제하기

동적 테이블을 삭제하려면 Snowsight 또는 SQL 명령을 사용할 수 있습니다.

Snowsight:
  1. Snowsight에서 동적 테이블 세부 정보 페이지를 엽니다(지침).

  2. 페이지의 오른쪽 위 모서리에 있는 More 메뉴에서 Drop 을 선택합니다.

SQL:
  • DROP DYNAMIC TABLE 명령을 사용합니다.

    예를 들어 product 라는 동적 테이블을 삭제하려면 다음을 수행하십시오.

DROP DYNAMIC TABLE product;
Copy

동적 테이블과 데이터 공유하기

동적 테이블은 공유 가능한 오브젝트입니다. 동적 테이블을 공유하기 위해 데이터 공유 공급자는 동적 테이블에 대한 권한을 공유에 부여하며, 이에 따라 데이터 공유 컨슈머가 동적 테이블을 사용할 수 있게 됩니다.

동적 테이블과 데이터를 공유하는 방법

공급자는 데이터를 물리적으로 이동하지 않고도 계정 간에 데이터를 공유하도록 허용하는 직접 공유 또는 목록을 사용하여 선택한 동적 테이블을 다른 Snowflake 계정과 공유할 수 있습니다. 이 프로세스에는 공급자 계정 내에서 데이터베이스의 공유 생성, 공급자 계정 내에서 데이터베이스 액세스 권한 부여, 액세스 권한 부여, 공유에 다른 오브젝트 추가 등이 포함됩니다. 자세한 내용은 Secure Data Sharing 소개Snowflake의 데이터 공유 개요 섹션을 참조하십시오.

데이터 공유 공급자는 다음 예시와 같이 단일 동적 테이블에 대한 SELECT 권한을 부여하거나 데이터베이스의 모든 동적 테이블에 대한 SELECT 권한을 부여하도록 선택할 수 있습니다.

GRANT SELECT ON ALL DYNAMIC TABLES IN SCHEMA mydb.public TO SHARE share1;

GRANT SELECT ON DYNAMIC TABLE mydb.public TO SHARE share1;
Copy

자세한 내용은 GRANT <권한> … TO SHARE 섹션을 참조하십시오.

공유 데이터를 수집하기 위한 동적 테이블 만들기

공유 데이터를 수집하기 위해 동적 테이블을 만들려면 다음을 수행하십시오.

  1. 올바른 권한 이 있는지 확인하고 공유에서 데이터베이스를 만들고 그에 대한 권한을 부여합니다.

    CREATE DATABASE shared_db FROM SHARE provider_account.share1;
    
    Copy
  2. 공유 데이터베이스에 권한을 부여합니다.

  3. 공유 동적 테이블을 만듭니다.

    CREATE OR REPLACE DYNAMIC TABLE <dt_name>
      TARGET_LAG = '1 day'
      WAREHOUSE = <warehouse_name>
      AS
        SELECT * FROM shared_db.public.mydb;
    
    Copy

    참고

    동적 테이블에서 사용하는 모든 기본 오브젝트에서 변경 내용 추적을 활성화해야 합니다. 동적 테이블을 사용하여 공유 데이터를 수집하려면 데이터 공유 공급자가 공유 오브젝트에서 change_tracking 을 활성화해야 합니다. 변경 내용 추적 활성화 섹션을 참조하십시오.

동적 테이블을 사용하여 공유 데이터를 수집하는 경우 쿼리는 공유 동적 테이블이나 업스트림 동적 테이블을 참조하는 공유 보안 뷰에서 선택할 수 없습니다.

동적 테이블에 대한 웨어하우스 또는 목표 지연 변경하기

  • 동적 테이블에 대한 웨어하우스 또는 목표 지연을 변경하려면 ALTER DYNAMIC TABLE 명령을 사용하십시오.

    예를 들어 동적 테이블 product 의 웨어하우스를 my_other_wh 로 변경하려면 다음을 실행하십시오.

    ALTER DYNAMIC TABLE product SET
      WAREHOUSE = my_other_wh;
    
    Copy

ALTER DYNAMIC TABLE 명령의 전체 구문은 ALTER DYNAMIC TABLE 섹션을 참조하십시오.

동적 테이블의 최적 목표 지연 결정하기

동적 테이블의 최적 목표 지연 시간을 결정하려면 Snowsight 또는 SQL 명령을 사용할 수 있습니다.

Snowsight:
  1. 동적 테이블 세부 정보 페이지 에서 Refresh History 탭을 클릭합니다.

  2. 탭 상단에 표시되는 최대 실제 지연 시간을 확인합니다. 이 메트릭은 각 새로 고침의 실제 지연 시간을 기반으로 합니다.

SQL:
  • INFORMATION_SCHEMA에서 DYNAMIC_TABLE_REFRESH_HISTORY 테이블 함수를 사용합니다. 이 함수는 새로 고침에 걸린 시간과 건너뛴 새로 고침을 포함하여 동적 테이블의 각 새로 고침에 대한 정보를 반환합니다.

선택하는 지연 시간은 자동 새로 고침 프로세스로 결정되는 새로 고침 일정에 영향을 줄 수 있습니다. 자동 새로 고침 프로세스에서는 동적 테이블의 지연 시간에 가장 적합한 일정을 선택합니다.

증분 또는 전체 새로 고침이 사용되는지 확인하기

증분 또는 전체 새로 고침이 동적 테이블을 업데이트하는 데 사용되는지 확인하려면 Snowsight 또는 SQL 명령을 사용할 수 있습니다.

Snowsight:
  • 동적 테이블 세부 정보 페이지 로 이동합니다.

    페이지 상단의 기본 세부 정보는 해당 테이블에 대해 증분 또는 전체 새로 고침이 사용되는지 여부를 나타냅니다.

SQL:
  • SHOW DYNAMIC TABLES 명령을 사용하고 출력에서 REFRESH_MODE 열의 값을 확인합니다.

    REFRESH_MODE = FULL인 경우 REFRESH_MODE_REASON에는 전체 새로 고침이 실행된 이유에 대한 추가 세부 정보가 포함됩니다.