2022년 8월

이 달에는 다음과 같은 새로운 기능, 동작 변경 사항, 업데이트(개선된 사항, 수정 사항 등)가 도입되었습니다. 이러한 추가 사항에 대해 궁금한 점이 있으면 Snowflake 지원 에 문의하십시오.

중요

각 릴리스에는 웹 인터페이스를 새로 고쳐야 적용되는 업데이트가 포함될 수 있습니다.

일반적으로, 업데이트로 인해 사용에 방해가 되지 않도록 하려면 각 Snowflake 릴리스가 배포된 후에 웹 인터페이스를 새로 고치는 것이 좋습니다.

이 항목의 내용:

새로운 기능

GEOMETRY 데이터 타입 지원 — 미리 보기

이 릴리스에서는 새 GEOMETRY 데이터 타입 지원 기능이 미리 보기로 제공됩니다. GEOMETRY 데이터 타입은 평면(유클리드, 데카르트) 좌표계의 특징을 나타냅니다. 이 기능은 모든 Snowflake 계정에서 사용할 수 있습니다.

이 릴리스는 GEOMETRY 오브젝트 간의 관계를 구성, 포맷, 측정, 계산하는 함수를 제공합니다. 이러한 함수를 사용해 WKT, WKB, GeoJSON을 포함한 표준 형식의 데이터에서 GEOMETRY 오브젝트를 생성할 수 있습니다.

자세한 내용은 지리 공간 데이터 타입 섹션을 참조하십시오.

미리 보기 기능은 평가 및 테스트용으로 제공됩니다. 이러한 기능은 프로덕션 환경에는 사용하지 않는 것이 좋습니다.

Java의 Snowpark 저장 프로시저 — 일반 공급

이 릴리스에서는 Amazon Web Services(AWS) 및 Microsoft Azure에서 Java로 작성된 Snowpark 저장 프로시저를 일반 공급으로 제공합니다. Java용 저장 프로시저는 Google Cloud Platform(GCP)에서 미리 볼 수 있습니다.

저장 프로시저에서 Java용 Snowpark API를 사용하여 Snowflake에서 데이터 파이프라인을 호스팅할 수 있습니다. 예를 들어 (작업에서) 클라이언트 애플리케이션을 실행하지 않고 Snowpark 코드를 실행해야 하는 경우 저장 프로시저를 작성할 수 있습니다.

자세한 내용은 Java로 저장 프로시저 작성하기 섹션을 참조하십시오.

Scala의 Snowpark 저장 프로시저 — 일반 공급

이 릴리스에서는 Amazon Web Services(AWS) 및 Microsoft Azure에서 Scala로 작성된 Snowpark 저장 프로시저를 일반 공급으로 제공합니다. Scala용 저장 프로시저는 Google Cloud Platform(GCP)에서 미리 볼 수 있습니다.

저장 프로시저에서 Scala용 Snowpark API를 사용하여 Snowflake에서 데이터 파이프라인을 호스팅할 수 있습니다. 예를 들어 (작업에서) 클라이언트 애플리케이션을 실행하지 않고 Snowpark 코드를 실행해야 하는 경우 저장 프로시저를 작성할 수 있습니다.

자세한 내용은 Scala로 저장 프로시저 작성하기 섹션을 참조하십시오.

계정 복제 — 미리 보기

이번 릴리스에서 계정 복제 의 공개 미리 보기를 발표하게 된 것을 기쁘게 생각합니다. 이 기능은 두 개의 새로운 Snowflake 오브젝트, 복제 그룹 및 장애 조치 그룹 을 도입합니다. 복제 그룹을 통해 고객은 복제할 계정 오브젝트, 리전 또는 클라우드 플랫폼을 사용자 지정 가능한 예약된 간격으로 지정할 수 있습니다. 장애 조치 그룹을 사용하면 그룹의 계정 오브젝트에 대한 복제 및 장애 조치를 할 수 있습니다. 그룹의 오브젝트는 원본 계정에서 하나 이상의 대상 계정으로 특정 시점 일관성을 갖도록 복제됩니다.

계정 오브젝트에는 데이터베이스 및 공유와 함께 웨어하우스, 사용자, 역할이 포함될 수 있습니다(복제 또는 장애 조치 그룹에 포함될 수 있는 오브젝트의 전체 목록은 복제된 오브젝트 참조). 계정 오브젝트는 하나 또는 여러 그룹으로 그룹화할 수 있습니다.

장애 조치의 경우, 계정 복제를 통해 전체 계정을 다른 리전 또는 클라우드 플랫폼으로 장애 조치할 수 있습니다. 각 복제 및 장애 조치 그룹에는 고유한 복제 일정이 있으므로, 다른 오브젝트 그룹에 대해 서로 다른 간격으로 복제 빈도를 설정할 수 있습니다. 장애 조치 그룹의 경우, 그룹을 개별적으로 장애 조치할 수도 있습니다. 모든 장애 조치 그룹을 장애 조치하도록 선택하거나, 장애 조치 그룹만 선택할 수 있습니다.

SQL 업데이트

INFER_SCHEMA 함수: 새 매개 변수

이 릴리스에서는 INFER_SCHEMA 함수용으로 두 가지 새로운 인자를 제공합니다.

FILES = ( 'file_name' [ , 'file_name' ... ] )

반정형 데이터를 포함하는 스테이징된 파일 세트에서 하나 이상의 파일 이름(쉼표로 구분) 목록을 지정합니다.

IGNORE_CASE = TRUE | FALSE

스테이지 파일에서 감지된 열 이름을 대/소문자를 구분해 처리할지 여부를 지정합니다. 기본값은 FALSE 인데, 이는 Snowflake가 열 이름을 검색할 때 영문자의 대/소문자를 유지한다는 의미입니다. 값을 TRUE 로 지정하면 열 이름은 대/소문자 구분 안 함 으로 처리되고 모든 열 이름이 대문자로 검색됩니다.

향후 릴리스에서는 INFER_SCHEMA 함수의 출력에 스테이징된 파일에서의 열 순서를 나타내는 새로운 ORDER_ID 열이 포함됩니다. 자세한 내용은 동작 변경 로그 를 참조하십시오.

CREATE EXTERNAL TABLE: 스테이징된 파일에서 열 정의 파생하기 — 미리 보기

이 릴리스에서는 Snowflake가 반정형 데이터를 포함하는 스테이징된 파일 세트에서 파생된 열 정의를 사용하여 새 외부 테이블 생성을 지원합니다. CREATE EXTERNAL TABLE 문에 USING TEMPLATE 키워드를 포함합니다. 이전에는 이 기능이 테이블로 제한되었습니다.

예:

CREATE OR REPLACE EXTERNAL TABLE myet
    USING TEMPLATE (
      SELECT ARRAY_AGG(OBJECT_CONSTRUCT(*))
        FROM TABLE(
          INFER_SCHEMA(
            LOCATION=>'@filestage',
            FILE_FORMAT=>'ffparquet'
          )
        )
    )
    location=@filestage
    file_format=ffparquet
    auto_refresh=false;
Copy

새 SQL 함수

다음 함수가 최근 릴리스에 도입되었습니다.

함수 카테고리

새 함수

설명

지리 공간(변환)

ST_DIFFERENCE

두 개의 입력 GEOGRAPHY 오브젝트가 주어진 경우, 두 번째 오브젝트에 없는 첫 번째 오브젝트의 점(즉, 두 오브젝트의 차이)을 나타내는 GEOGRAPHY 오브젝트를 반환합니다.

지리 공간(변환)

ST_INTERSECTION

두 개의 입력 GEOGRAPHY 오브젝트가 주어진 경우, 두 입력 오브젝트에 공통되는 점 집합을 나타내는 GEOGRAPHY 오브젝트를 반환합니다(즉, 두 오브젝트의 교집합).

지리 공간(변환)

ST_SYMDIFFERENCE

두 개의 입력 GEOGRAPHY 오브젝트가 주어진 경우, 오브젝트의 교집합이 아닌 두 입력 오브젝트의 점 집합을 나타내는 GEOGRAPHY 오브젝트를 반환합니다(즉, 두 오브젝트의 대칭 차이).

지리 공간(변환)

ST_UNION

두 개의 입력 GEOGRAPHY 오브젝트가 주어진 경우, 두 오브젝트의 모든 점의 결합된 집합을 나타내는 GEOGRAPHY 오브젝트를 반환합니다(즉, 두 오브젝트의 합집합).

지리 공간(접근자)

ST_ENDPOINT

LineString의 마지막 점을 반환합니다.

지리 공간(접근자)

ST_POINTN

LineString의 지정된 인덱스에 있는 점을 반환합니다.

지리 공간(접근자)

ST_STARTPOINT

LineString의 첫 번째 점을 반환합니다.

데이터 파이프라인 업데이트

작업: 단일 SQL 문에서 여러 선행 작업 지정 지원

작업의 방향성 비순환 그래프(DAG)는 종속성에 따라 구성된 단일 루트 작업과 하위 작업 집합으로 구성됩니다. 루트 작업과 그 직계 하위를 제외한 DAG의 모든 작업에는 여러 선행 작업이 있을 수 있습니다. 작업은 그 작업에 선행하는 작업이 전부 성공적으로 실행 완료된 후에만 실행됩니다.

이 릴리스를 통해 사용자는 새 작업을 생성할 때(CREATE TASK … AFTER사용) 또는 이후에(ALTER TASK … ADD AFTER사용) 여러 선행 작업을 지정할 수 있습니다. 기존 SQL 명령은 이제 쉼표로 구분된 작업 목록을 지원합니다.

다음 예에서는 서버리스 작업 a4 를 생성하고 작업 a1, a2, a3 를 선행 작업으로 지정합니다. 작업은 다음의 간단한 쿼리를 실행합니다.

CREATE TASK a4
  AFTER a1, a2, a3
  AS SELECT 1;
Copy

다음 예에서는 기존 작업 b4 를 수정하고 작업 b1, b2, b3 를 선행 작업으로 지정합니다:

ALTER TASK b4 ADD AFTER b1, b2, b3;
Copy

이전에는 사용자가 작업을 생성하거나 작업을 수정할 때 단일 선행 작업을 지정하는 것으로 제한되었습니다.

조직 업데이트

ORGADMIN 역할 — 일반 공급

이번 릴리스를 통해 Snowflake에서 ORGADMIN 역할의 일반 공급을 발표하게 된 것을 기쁘게 생각합니다. ORGADMIN 역할이 있는 조직 관리자는 다음을 수행할 수 있습니다.

  • 조직의 모든 Snowflake 계정 및 리전 보기

  • 조직 아래에 새 Snowflake 계정 생성하기

  • 조직의 Snowflake 계정 이름 바꾸기

  • 조직에 속한 모든 Snowflake 계정에 대한 사용량 및 청구 데이터를 제공하는 ORGANIZATION_USAGE 스키마에 액세스하기

여러 계정이 있는 조직의 경우, 다른 계정에 추가하도록 요청하지 않는 한, 생성된 첫 번째 계정에서 ORGADMIN 역할을 사용할 수 있습니다. 웹 인터페이스의 역할 목록에서 ORGADMIN을 찾아 이것이 사용 가능한지 여부를 확인할 수 있습니다.

계정 관리자(즉, ACCOUNTADMIN 역할이 있는 사용자)는 다음 명령을 실행하여 자신이나 다른 사용자에게 ORGADMIN 역할을 부여할 수 있습니다.

GRANT ROLE ORGADMIN TO USER user1;
Copy

자세한 내용은 유기적 구성 소개 섹션을 참조하십시오.

비용 모니터링을 위한 ORGANIZATION_USAGE 뷰 — 일반 공급

이 릴리스에서는 SNOWFLAKE 공유 데이터베이스의 ORGANIZATION_USAGE 스키마 에서 다음 뷰가 일반 공급으로 제공됩니다. 이러한 뷰를 사용하여 조직의 모든 계정에 대해 오브젝트 수준에서 비용을 분석할 수 있습니다.

  • 저장:

    • DATABASE_STORAGE_USAGE_HISTORY

    • STAGE_STORAGE_USAGE_HISTORY

  • 데이터 전송:

    • DATA_TRANSFER_HISTORY

  • 서버리스 기능:

    • AUTOMATIC_CLUSTERING_HISTORY

    • MATERIALIZED_VIEW_REFRESH_HISTORY

    • PIPE_USAGE_HISTORY

    • REPLICATION_USAGE_HISTORY

    • SEARCH_OPTIMIZATION_HISTORY

계정 이름 바꾸기 지원

이번 릴리스를 통해 조직 관리자는 SnowflakeSupport에 문의하지 않고도 ALTER ACCOUNT 명령을 사용하여 계정 이름을 바꿀 수 있습니다. 다음 예는 original_acctname 이라는 계정의 이름을 new_acctname 으로 바꿉니다.

ALTER ACCOUNT original_acctname RENAME TO new_acctname;
Copy

기본적으로 Snowflake는 계속해서 이전 이름을 가진 이전 URL을 사용하여 계정에 액세스할 수 있도록 허용하는 동시에, 새 계정 이름이 포함된 새 URL도 지원합니다. 새 URL을 사용하여 액세스하도록 요구하려면 이전 URL을 삭제할 수 있습니다. 자세한 내용은 조직 내 계정 관리하기 섹션을 참조하십시오.

데이터 거버넌스 업데이트

액세스 기록: 컨슈머 계정에서 공유 오브젝트 액세스 보기

이 릴리스에서는 컨슈머 계정에서 사용자가 Snowflake Secure Data Sharing을 사용하여 공유한 오브젝트의 액세스를 보는 기능이 추가됩니다. 이 업데이트에서 Snowflake는 ACCESS_HISTORY 뷰base_objects_accessed 열에 있는 공유에서 액세스한 오브젝트를 Account Usage에 기록합니다.

예를 들어 공급자가 테이블과 테이블에서 작성된 뷰를 컨슈머 계정에 공유하고 공유된 뷰에 대한 쿼리가 있는 경우, Snowflake는 base_objects_accessed 열에 공유 뷰 액세스를 기록합니다. 컨슈머는 columnNameobjectName 값을 포함하는 이 레코드를 통해 자신의 계정에서 액세스한 오브젝트를 알 수 있는데, 기본 테이블이 (objectIdcolumnId 를 통해) 컨슈머에게 공개되지 않으므로 이 레코드는 공급자도 보호합니다.

마스킹 정책 및 행 액세스 정책: 매핑 테이블 조회에서 IS_ROLE_IN_SESSION에 대한 지원 추가

이 릴리스에서는 매핑 테이블 조회를 지원하는 IS_ROLE_IN_SESSION 컨텍스트 함수를 허용하여 마스킹 및 행 액세스 정책의 다목적성을 강화합니다. 정책 관리자는 이제 이 함수를 사용하여 매핑 테이블 조회를 호출하는 정책 조건을 작성하여 세션에서 사용자의 활성 기본 또는 보조 역할이 컨텍스트 함수 인자에 지정된 역할에 부여된 권한을 상속하는지 확인할 수 있습니다. 이러한 기능 개선을 통해, Snowflake는 고객이 현재 역할의 역할 계층에서 활성화된 역할을 확인해야 하는 정책 조건에서IS_ROLE_IN_SESSION 컨텍스트 함수를 사용하도록 장려합니다.

자세한 내용은 Column-level Security 이해하기행 액세스 정책 이해하기 섹션을 참조하십시오.

마스킹 정책: NULL, 길이, 소수 자릿수 및 전체 자릿수 반환 값에 관한 정책 조건의 뷰 쿼리

이 릴리스에서는 다음과 같이 명명된 공유 SNOWFLAKE 데이터베이스에서 새로운 임시 뷰를 제공합니다.

SNOWFLAKE.BCR_ROLLOUT.BCR_2022_07_DDM_ROLLOUT

이 뷰는 마스킹 정책의 조건이 열의 길이, 소수 자릿수 또는 전체 자릿수와 일치하지 않는 위치 또는 정책 조건이 NOT NULL 열에 대해 NULL 값을 반환하는 시점을 식별하는 데 도움이 됩니다. 이 뷰는 2022년 7월 15일에 시작하는 레코드를 반환합니다.

이 뷰는 2022_07 동작 변경 번들이 마스킹 정책으로 보호되는 열에 대한 쿼리에 영향을 미치는 방식을 결정하고 마스킹 정책 조건 업데이트 프로세스를 시작하기에 충분한 시간을 제공할 목적으로 제공됩니다.

자세한 내용은 마스킹 정책 반환 값 업데이트 완화하기 섹션을 참조하십시오.