2020년 4월

이 달에는 다음과 같은 새로운 기능, 향상된 기능, 변경 사항이 도입되었습니다. 이러한 추가 사항에 대해 궁금한 점이 있으면 Snowflake 지원 에 문의하십시오.

중요

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

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

이 항목의 내용:

새로운 기능

데이터베이스 복제 및 장애 조치/장애 복구 — 일반 공급

이 릴리스에서는, 9월에 미리 보기로 도입되었던 데이터베이스 복제 및 장애 조치/장애 복구 기능이 일반 공급(GA)으로 제공됩니다.

참고

데이터베이스 복제는 모든 에디션에서 사용할 수 있지만, 장애 조치/장애 복구를 위해서는 Business Critical 이상이 필요합니다.

데이터베이스 복제 기능은 여러 리전에 위치한 Snowflake 계정에서 데이터베이스를 복제하고 동기화합니다. 또한, 이 기능을 통해 데이터 공급자는 데이터베이스를 복제하여 여러 리전 및 클라우드 플랫폼에서 데이터 컨슈머와 데이터를 안전하게 공유할 수 있습니다.

데이터베이스 복제 및 장애 조치/장애 복구를 통해 비즈니스 연속성 및 재해 복구를 위해 다양한 리전에 있는 여러 계정에서 데이터베이스 장애 조치를 수행할 수 있습니다.

이러한 기능이 미리 보기로 릴리스된 이후에 다음과 같은 사항이 개선되었습니다.

  • 관리자가 SQL 또는 웹 인터페이스를 통해 기능을 관리할 수 있습니다.

  • 이제 Amazon Web Services, Google Cloud Platform, Microsoft Azure의 모든 Snowflake 리전 에서 이 기능이 지원됩니다(Microsoft Azure의 US 공공 버지니아 제외).

  • 계정에서 Virtual Private Snowflake(VPS)와 다중 테넌트 Snowflake 리전 간에 데이터베이스를 복제하여 데이터 공유 및 계정 마이그레이션을 편리하게 수행할 수 있습니다. 이 기능은 기본적으로 비활성화됩니다. VPS 계정의 경우 Snowflake 지원 에 연락하여 액세스를 활성화해야 합니다.

  • 특히, 오브젝트 수가 많은 데이터베이스에서의 복제 성능이 향상되었습니다.

  • ACCOUNT_USAGE 스키마의 새 REPLICATION_USAGE_HISTORY 뷰는 지난 365일(1년) 동안의 복제 사용 활동을 보여 줍니다.

  • 기본 데이터베이스가 보조 데이터베이스에 처음 복제될 때 기본값인 10TB 크기 제한이 적용됩니다. 이 설정은 계정에서 데이터베이스 복제 요금이 너무 많이 늘어나는 것을 방지하기 위한 것이며, 이 기능 자체에는 크기 제한이 없습니다. 계정 관리자(ACCOUNTADMIN 역할의 사용자)가 계정 수준에서 최대 크기 제한을 변경하거나 제거할 수 있습니다.

  • Snowflake 상태 페이지 는 각 리전에서 데이터베이스 복제의 현재 상태를 표시합니다.

  • (제공 예정) 다음과 같은 경우에는 데이터베이스 복제가 기본적으로 차단됩니다.

    • 기본 데이터베이스가 Business Critical 이상 계정에 있지만, 복제를 위해 승인된 하나 이상의 계정이 하위 에디션에 있는 경우.

    • 기본 데이터베이스가 Business Critical 이상 계정에 있고 HIPAA 규정에 따라 계정에 PHI 데이터를 저장하기 위해 서명된 비즈니스 제휴 계약이 마련되어 있지만, 복제를 위해 승인된 하나 이상의 계정이 Business Critical 이상 계정인지와는 관계없이 이런 계정에 대해 그와 같은 계약이 준비되어 있지 않은 경우.

    계정 관리자는 기본 동작을 재정의할 수 있습니다.

연속 데이터 파이프라인 — 일반 공급

이 릴리스에서는, 6월에 미리 보기 기능으로 도입된 연속 데이터 파이프라인이 일반 공급(GA)으로 제공됩니다. 연속 데이터 파이프라인은 스트리밍 데이터를 변환하고 최적화하는 것과 관련된 여러 수작업 단계를 자동화합니다.

연속 데이터 파이프라인에는 새로운/수정된 《원시》 데이터를 분석하기 위해 다른 구조 및/또는 형식으로 로드하고 변환할 수 있는 다음과 같은 Snowflake 기능이 포함됩니다.

  • Snowpipe와 Kafka용 Snowflake 커넥터가 스트리밍 데이터를 로드합니다.

  • 테이블 스트림이 삽입 및 기타 데이터 조작 언어(DML) 변경 사항을 비롯한 테이블의 변경 사항 델타를 추적하는 변경 데이터 캡처(CDC) 기능을 제공합니다. 따라서 변경된 데이터를 사용하여 이 작업을 수행할 수 있습니다.

  • 작업이 SQL 문을 실행하거나 저장 프로시저를 호출하는 되풀이 일정을 정의합니다.

연속 데이터 파이프라인이 미리 보기로 릴리스된 이후에 다음과 같은 사항이 개선되었습니다.

  • 기본 원본 테이블의 데이터 조작 언어(DML) 변경 범위를 삽입으로만 제한하는 append-only 테이블 스트림을 지원합니다. 이 유형의 스트림은 표준 스트림에 비해 쿼리 성능을 향상하고 행 삽입에만 의존하는 추출, 로드, 변환(ELT) 및 이와 유사한 상황에 매우 유용합니다.

  • 작업이 실행되면 세션 매개 변수 목록을 설정할 수 있습니다.

  • 저장 프로시저를 호출할 수 있을 뿐만 아니라, 작업이 실행되면 DML 문만 실행하는 대신 모든 단일 SQL 문을 실행할 수 있습니다.

  • 작업을 수정(ALTER TASK 사용)하고 실행된 SQL 문 또는 호출된 저장 프로시저를 설정하거나 작업 정의에 WHEN 조건을 설정할 수 있습니다.

  • 하위 작업을 수정하고 선행 작업을 대체할 수 있습니다(ALTER TASK … REMOVE AFTER 및 ALTER TASK … ADD AFTER 사용).

  • 새 MONITOR 및 OPERATE 액세스 제어 권한을 통해 작업 소유자 이외의 역할이 작업을 관리하고 모니터할 수 있습니다.

  • 작업을 생성할 때 또는 나중에 USER_TASK_TIMEOUT_MS 작업 매개 변수를 설정하여 작업 수준에서 작업의 최대 실행 시간을 변경할 수 있습니다.

  • 루트 작업의 예약된 실행이 시작되면 작업 트리의 버전 관리가 적용됩니다. 전체 작업 트리는 이렇게 설정된 버전의 속성을 사용하여 현재 실행을 완료하고 예측 가능한 결과를 제공합니다.

  • 명시적인 트랜잭션 오프셋이 포함된 테이블 스트림을 생성할 필요 없이 지정된 시간 간격 내에 테이블의 변경 내용 추적 정보를 쿼리할 수 있는 새 SQL CHANGES 절이 지원됩니다.

새 USERADMIN 시스템 역할

이 릴리스에서는, 업무를 효율적으로 분리하기 위해 SECURITYADMIN에 부여되었던 권한이 이제는 두 역할(SECURITYADMIN 역할과 새 USERADMIN 역할)에 나누어 부여됩니다.

이 권한은 다음과 같은 역할에 부여됩니다.

역할

권한

SECURITYADMIN

  • MANAGE GRANTS

USERADMIN

  • CREATE USER

  • CREATE ROLE

USERADMIN 역할에 SECURITYADMIN 역할이 배정되므로 SECURITYADMIN 역할의 사용자가 사용자 및 역할을 계속해서 관리할 수 있습니다. 하지만, 조직은 모든 권한 부여를 관리하는 업무와는 분리된 사용자 및 역할 관리 업무를 USERADMIN 역할에 할당할 수 있습니다.

USERADMIN 역할을 사용하여 이러한 업무를 분리하는 것은 선택 사항입니다. USERADMIN 역할 사용 여부는 계정에 구현된 보안 모델에 따라 전적으로 결정됩니다.

새 리전

유럽 서부2(Google Cloud Platform)

이제 Google Cloud Platform(GCP)의 유럽 서부2 리전 (런던)에서 Snowflake를 사용할 수 있습니다.

이 새 리전과 함께, Snowflake가 GCP GCP에 지원되는 리전 개수를 3개(북미에서 1개, 유럽에서 2개)로 확장함에 따라 Snowflake 계정을 찾을 수 있는 위치를 보다 융통성 있게 선택할 수 있습니다. 모든 Snowflake 에디션이 새 리전에서 지원됩니다. 해당 리전에서 평가판 계정을 등록하려면 이 링크 를 클릭하십시오.

저장소 및 컴퓨팅 가격 정보에 대해서는 가격 페이지 (Snowflake 웹 사이트)를 참조하십시오.

동작 변경 사항

SQL: 최대 세션 변수 길이

이전에 공지한 바와 같이, SQL 변수의 동작이 다음과 같이 변경되었습니다.

이전

세션 변수 내용의 최대 길이는 256바이트라고 문서화되어 있지만, Snowflake는 변수에 쿼리 결과가 할당된 경우에는 이 제한을 적용하지 않았습니다. 예:

set varchar_variable = (select max(varchar_column) from t);
현재

Snowflake가 모든 상황에서 256바이트 제한을 적용합니다.

워크로드에서 256바이트보다 큰 쿼리 결과를 임시로 저장해야 하는 경우에는 임시 테이블에 해당 결과를 저장하는 것이 좋습니다. 예를 들어, 아래 쿼리를

set variable1 = (select listagg(c) from t);
select * from t2 where contains(t2.c, $variable1);

다음과 같이 바꿉니다.

create temporary table tmp(v varchar) as select listagg(c) from t;
select * from t2 where contains(t2.c, (select v from tmp));

PIVOT 함수: NULL 캐스트에 대한 변경 사항

이전에 공지한 바와 같이, 이 릴리스에는 다음과 같은 변경 사항이 도입되었습니다.

이전

NULL 값을 PIVOT 절의 IN 하위 절 내에 캐스팅하면 NULL이 아닌 값이 반환되는 경우가 있었습니다.

현재

NULL 값을 PIVOT 절의 IN 하위 절 내에 캐스팅하면 NULL 값이 반환됩니다.

다음 쿼리는 이전 버전의 Snowflake에서 NULL 값을 캐스팅하면 NULL 이 아닌 값이 반환되었던 예를 보여 줍니다.

select ...
  from ...
  PIVOT(sum(amount) for sales_date IN  (NULL::date, '2018-7-30'::date, ...) );

SQL 업데이트

새 SQL 명령: SHOW REPLICATION ACCOUNTS

이 릴리스에는 SHOW REPLICATION ACCOUNTS 명령이 추가되었습니다. 이 명령은 기존 SHOW GLOBAL ACCOUNTS 명령과 동일합니다. 이 두 명령은 조직이 복제를 수행할 수 있는 모든 계정을 나열하며 각 계정이 위치해 있는 리전을 나타냅니다. 두 명령의 출력은 같습니다.

새 명령은 출력에 맞게 SHOW 명령 이름을 보다 세밀하게 조정하기 위해 도입되었습니다.

중요

이제 SHOW GLOBAL ACCOUNTS 명령은 사용되지 않으며 향후 릴리스에서는 삭제될 예정입니다. 이 변경을 적용하려면 스크립트/애플리케이션 코드를 적절히 업데이트해야 합니다.

새 함수

이제 이 릴리스에서 다음과 같은 함수를 사용할 수 있습니다.

카테고리

새 함수

설명

시스템

SYSTEM$GET_PRIVATELINK_CONFIG

AWS PrivateLink 또는 Azure Private Link의 셀프 서비스 구성을 용이하게 하는 Snowflake 계정 정보의 JSON 표현을 반환합니다.

에코시스템 업데이트

Snowflake ODBC 드라이버 2.21.2: SSO 토큰 캐싱 지원 — 일반 공급

Snowflake ODBC 드라이버 버전 2.21.2부터, 이전에 미리 보기로 도입되었던 SSO(Single Sign-On) 토큰 캐싱 기능이 일반 공급으로 제공됩니다.

Snowflake JDBC 드라이버: 새 JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC 매개 변수

이 릴리스에는 새 Snowflake JDBC 드라이버 매개 변수: JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC 가 추가되었습니다.

기본적으로, JDBC 드라이버가 Snowflake에서 TIMESTAMP_NTZ 유형의 값을 가져오면 드라이버는 UTC의 값을 사용자의 현재 세션 타임존으로 변환합니다. TIMESTAMP_NTZ 값을 UTC로 유지하려면 JDBC_TREAT_TIMESTAMP_NTZ_AS_UTC 값을 True로 설정하면 됩니다.

이 매개 변수의 기본값은 False입니다.

Snowflake JDBC 드라이버: FIPS 호환 드라이버 릴리스됨

이 릴리스에는 FIPS(연방 정보 처리 표준)의 보안 요구 사항을 준수하는 Snowflake JDBC 드라이버가 도입되었습니다. FIPS 호환 드라이버는 FIPS 비호환 드라이버와는 별도로 제공됩니다. 두 드라이버의 버전은 같지만 이름은 다르며 다른 디렉터리에서 각각 다운로드합니다.

FIPS 호환 드라이버의 초기 릴리스 버전은 3.12.3입니다. 이 드라이버는 Maven을 통해 직접 설치하거나 다음 하위 디렉터리에서 다운로드할 수 있습니다.

https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc-fips

이 드라이버는 Snowflake가 제공되지 않는 2개의 .jar 파일을 사용합니다. .jar 파일은 org.bouncycastle에서 제공하며 Maven 및 기타 다운로드 사이트에서 다운로드할 수 있습니다.

  • bc-fips, 버전 1.0.1

  • bcpkix-fips, 버전 1.0.3

Snowflake JDBC 드라이버 v3.12.3: 새로운 메모리 관리 기능

Snowflake JDBC 드라이버 버전 3.12.3에서는 JDBC 드라이버 메모리 관리 기능이 향상되었습니다.

다음과 같은 메모리 관리 매개 변수 중 하나를 설정한 대부분의 사용자들은 Snowflake 내부 개선 사항을 따라야 하고 이러한 매개 변수의 설정을 해제해야 합니다.

이전 매개 변수는 여전히 지원되지만, 대부분의 사용자들에게는 필요하지 않습니다. 새로 도입된 이 기능은 사용 가능한 메모리를 기준으로 이러한 매개 변수에 대해 최적의 값을 자동으로 설정합니다. 위 매개 변수의 자동 설정보다 수동 설정이 우선합니다.

데이터 로드 업데이트

데이터 언로딩: 언로드된 파일 이름에 UUID 포함

이 릴리스에는 언로드된 파일 이름에 범용 고유 식별자(UUID)를 포함할 수 있는 기능이 추가되었습니다. UUID는 파일 이름의 세그먼트입니다(data_<uuid>_<name>.<extension>). 예를 들어 data_012345a1-00b0-a1a1-0000-234567cd012_0_0_0.snappy.parquet 과 같습니다. UUID는 데이터 파일 언로딩에 사용되는 COPY INTO <위치> 문의 쿼리 ID입니다. 이 옵션은 동시 COPY 문이 언로딩된 파일을 실수로 덮어쓰지 않도록 하는 데 도움이 됩니다.

이 기능은 COPY INTO <위치> 명령에 대한 새 INCLUDE_QUERY_ID 복사 옵션을 통해 구현됩니다. 기본값은 FALSE입니다. 언로드된 파일의 이름에 UUID를 추가하려면 이 옵션을 TRUE로 설정합니다.

데이터베이스 복제 및 장애 조치 업데이트

Google Cloud Platform의 Snowflake 계정에 대한 제한적 지원 — 미리 보기

이 릴리스에서는 Google Cloud Platform(GCP)에 호스팅되는 Snowflake 계정에 대한 데이터베이스 복제 및 장애 조치의 제한적 지원이 공개 미리 보기로 제공됩니다.

데이터베이스 복제 및 장애 조치는 다음과 같은 GCP 리전에 있는 계정에 대해 지원됩니다.

GCP 리전

데이터베이스 복제 및 장애 조치 위치

미국 중부1(아이오와)

  • AWS 리전:

    • US 서부(오레곤),

    • US 동부(북부 버지니아)

  • GCP 리전:

    • 유럽 서부4(네덜란드)

  • Azure 리전:

    • 동부 US 2

유럽 서부4(네덜란드)

  • AWS 리전:

    • US 서부(오레곤)

    • US 동부(북부 버지니아)

  • GCP 리전:

    • 미국 중부1(아이오와)

  • Azure 리전:

    • 동부 US 2

지원되는 리전에 대한 자세한 내용은 지원되는 클라우드 리전 을 참조하십시오.

데이터베이스 복제 및 장애 조치는 현재 여전히 미리 보기로 제공됩니다.

인터페이스 업데이트

웹 인터페이스에서 파이프 오브젝트 지원 — 미리 보기

이전 릴리에서는 충분한 권한이 있는 사용자만 SQL을 통해 파이프 오브젝트를 만들고 관리할 수 있었습니다.

이 릴리스에서는 웹 인터페이스에서 다음과 같은 작업을 지원하는 기능이 미리 보기로 제공됩니다.

  • 세션에서 현재 역할이 가지고 있는 권한에 해당되는 모든 파이프 오브젝트를 나열합니다.

  • 새 파이프 오브젝트를 만듭니다.

  • 소유하고 있는 파이프 오브젝트를 삭제합니다.

  • 소유하고 있는 파이프 오브젝트의 소유권을 다른 역할에 이전합니다.

웹 인터페이스에서 새 파이프 오브젝트 기능에 액세스하려면 Databases Databases tab 탭 » <db_name> » Pipes 를 클릭합니다.

현재 웹 인터페이스에 새 파이프 오브젝트 기능이 미리 보기 기능으로 제공되고 있지만 Snowpipe는 일반 공급으로 제공됩니다.

맨 위로 이동