하이브리드 테이블에 대해 지원되지 않는 기능과 제한 사항¶
지원되지 않는 기능 및 제한 사항에 대한 다음 지침은 하이브리드 테이블에 적용되며 변경될 수 있습니다.
지원되지 않는 기능¶
하이브리드 테이블은 다음을 지원하지 않습니다.
제한 사항¶
- 복제
하이브리드 테이블에는 복제가 지원되지 않지만 CREATE <오브젝트> … CLONE 문에서 IGNORE HYBRID TABLES 매개 변수를 사용하여 하이브리드 테이블이 포함된 데이터베이스 및 스키마를 복제할 수 있습니다.
- 클라우드 및 리전
하이브리드 테이블은 특정 공개 Amazon Web Services(AWS) 리전의 공개 미리 보기에서만 사용할 수 있습니다.
클라우드 리전
클라우드 리전 ID
US 서부(오레곤)
us-west-2
US 동부(오하이오)
us-east-2
US 동부(북부 버지니아)
us-east-1
캐나다(중부)
ca-central-1
남아메리카(상파울루)
sa-east-1
유럽(런던)
eu-west-2
EU(아일랜드)
eu-west-1
EU(파리)
eu-west-3
EU(스톡홀름)
eu-north-1
EU(프랑크푸르트)
eu-central-1
아시아 태평양(도쿄)
ap-northeast-1
아시아 태평양(서울)
ap-northeast-2
아시아 태평양(오사카)
ap-northeast-3
아시아 태평양(뭄바이)
ap-south-1
아시아 태평양(싱가포르)
ap-southeast-1
아시아 태평양(시드니)
ap-southeast-2
Azure 또는 Google Cloud Platform(GCP)에서는 하이브리드 테이블을 사용할 수 없습니다.
하이브리드 테이블은 SnowGov 리전에서 사용할 수 없습니다.
평가판 계정에서는 하이브리드 테이블을 사용할 수 없습니다.
Virtual Private Snowflake(VPS) 고객인 경우 Snowflake 지원 에 연락하여 계정에 하이브리드 테이블을 활성화하는 방법에 대해 문의하십시오.
- 클러스터링 키
클러스터링 키는 하이브리드 테이블에서 지원되지 않습니다. 자세한 내용은 클러스터링 키 및 클러스터링된 테이블 섹션을 참조하십시오. 하이브리드 테이블의 데이터는 기본 키를 기준으로 정렬됩니다.
- 일관성
기본적으로, 하이브리드 테이블은 세션의 읽기 작업이 동일한 세션의 쓰기 작업에서 최신 데이터를 반환하는 세션 기반 일관성 모델을 사용합니다. 세션 외부에서 변경된 내용에는 약간의 부실(100ms 미만)이 있을 수 있습니다. 부실을 방지하려면 문 또는 세션 수준에서
READ_LATEST_WRITES = true
를 설정하십시오. 이로 인해 몇 밀리초의 대기 시간 오버헤드가 발생할 수 있습니다.
- 제약 조건
기본 키, 고유 및 외래 키 제약 조건이 하이브리드 테이블에 적용되는 동안 다음 제한 사항이 적용됩니다.
제약 조건은 테이블 생성 시에만 정의할 수 있습니다.
제약 조건은 행 수준에서 적용됩니다.
제약 조건은 문 또는 트랜잭션 수준에서 적용되지 않습니다(즉, 지연된 제약 조건).
열을 고유하게 변경할 수 없습니다.
외래 키에는 다음과 같은 추가적인 제한 사항이 적용됩니다.
외래 키 제약 조건은 동일한 데이터베이스에 속하는 하이브리드 테이블 사이에서만 지원됩니다.
외래 키 제약 조건에서 참조된 테이블은 외래 키 관계가 존재하는 한 잘릴 수 없습니다.
외래 키 제약 조건은 부분 일치를 지원하지 않습니다.
외래 키 제약 조건은 지연 가능한 동작을 지원하지 않습니다.
외래 키 제약 조건은 DELETE 및 UPDATE 작업에 대해 RESTRICT 및 NO ACTION 동작만 지원합니다.
- COPY
COPY INTO 명령으로 하이브리드 테이블을 로드하는 경우
ON_ERROR
에는ABORT_STATEMENT
옵션만 지원됩니다.ON_ERROR=SKIP_FILE
을 설정하면 오류가 반환됩니다. 자세한 내용은 데이터 로딩하기 섹션을 참조하십시오.- 데이터 크기
Snowflake 데이터베이스당 하이브리드 테이블에 1TB의 데이터만 저장할 수 있습니다. 자세한 내용은 할당량 및 제한 을 참조하십시오.
- 인덱스에서 지원되지 않는 데이터 타입
지리공간 데이터 타입 (GEOGRAPHY 및 GEOMETRY), 반정형 데이터 타입 (ARRAY, OBJECT, VARIANT) 및 벡터 데이터 타입 (VECTOR)이 있는 열은 PRIMARY KEY 열(자동으로 인덱스되는 열) 또는 명시적으로 인덱스된 열로 지원되지 않습니다. (하이브리드 테이블 열은 열에 인덱싱이 되어 있지 않는 한 이러한 데이터 타입을 지원합니다.)
TIMESTAMP_TZ 데이터 타입(또는 TIMESTAMP_TZ로 확인되는 TIMESTAMP 데이터 타입)은 UNIQUE, PRIMARY KEY 및 FOREIGN KEY 제약 조건을 사용하여 인덱싱된 열에는 지원되지 않습니다. 그러나 보조 인덱스에는 TIMESTAMP_TZ가 지원됩니다.
보조 인덱스 도 참조하십시오.
- DML 명령
DML 명령을 사용하여 소수의 행을 변경하는 경우 MERGE 대신 INSERT, UPDATE 또는 DELETE 문을 사용하여 성능을 최적화하십시오.
- 데이터 로딩하기
하이브리드 테이블에 데이터를 대량으로 로드할 때는 CREATE TABLE … AS SELECT 명령을 사용하는 것이 좋습니다. 이 명령은 성능에 최적화되어 있으며, 수백만 개의 레코드를 로드할 때 COPY 또는 INSERT INTO … SELECT 같은 다른 명령에 비해 약 10배 더 빠릅니다.
자세한 내용은 데이터 로딩하기 섹션을 참조하십시오.
- 네이티브 애플리케이션
Snowflake Native App에 하이브리드 테이블을 포함할 수 있습니다. 그러나 공급자에서 컨슈머로 하이브리드 테이블을 공유할 수 없습니다. Native App은 컨슈머 계정에서 하이브리드 테이블을 생성할 수 있으며 그와 같은 하이브리드 테이블에서 읽고 테이블에 쓸 수 있습니다. 컨슈머 사용자가 직접 쿼리할 수 있도록 하이브리드 테이블을 애플리케이션 역할에 노출할 수도 있습니다.
공급자 계정에서 하이브리드 테이블을 생성할 수도, Native App을 통해 공유되는 뷰에 해당 하이브리드 테이블을 포함할 수도 없습니다.
- Periodic Rekeying
Snowflake 계정이 주기적인 키 재생성 을 사용하도록 활성화된 경우에는 하이브리드 테이블 을 사용할 수 없습니다. 계정에서 주기적 키 재생성이 활성화되어 있고 하이브리드 테이블을 사용하려는 경우 ALTER ACCOUNT 명령을 사용하여 PERIODIC_DATA_REKEYING 매개 변수를
FALSE
로 설정해야 합니다.- 지속형 쿼리 결과
하이브리드 테이블에 대한 쿼리는 USE_CACHED_RESULT 매개 변수 로 정의된 대로 결과 캐시를 사용하지 않습니다. 지속형 쿼리 결과 사용하기 섹션을 참조하십시오.
- 할당량 및 제한
공유 리소스의 공평한 가용성을 보장하고 일관된 서비스 품질을 보장하며 사용량 급증을 줄이기 위해 하이브리드 테이블의 사용은 할당량에 따라 제한됩니다.
할당량
기본값
참고
하이브리드 저장소
Snowflake 데이터베이스 당 1TB
이 할당량은 하이브리드 테이블에 저장할 수 있는 데이터의 양을 제어합니다. 이 제한은 행 저장소의 활성 하이브리드 테이블 데이터에만 적용되며 오브젝트 저장소에는 적용되지 않습니다. 저장소 할당량을 초과하면 데이터를 삭제하여 하이브리드 저장소 소비를 할당량 미만으로 되돌릴 때까지 하이브리드 테이블에 데이터를 추가하는 쓰기 작업이 일시적으로 차단됩니다.
하이브리드 테이블 요청
초당 약 2,000개의 작업, Snowflake 데이터베이스당
이 요청 할당량으로 하이브리드 테이블에서 읽고 테이블에 쓸 수 있는 속도를 제어합니다. 80% 포인트 읽기와 20% 포인트 쓰기로 구성된 균형 잡힌 워크로드의 경우 하이브리드 테이블에 대해 초당 최대 2,000개의 작업을 달성할 수 있어야 합니다. 제한을 모니터링하려면 AGGREGATE_QUERY_HISTORY 뷰 의 예제를 참조하십시오.
하이브리드 테이블이 포함된 데이터베이스
Snowflake 계정당 총 100개, 1시간 윈도우 내에 추가된 데이터베이스는 최대 10개입니다.
이 할당량은 Snowflake 계정 내에서 하이브리드 테이블을 포함할 수 있는 데이터베이스의 수를 제어합니다. 이 할당량을 초과하는 경우 기존 데이터베이스에서 모든 하이브리드 테이블을 삭제하거나 할당량을 늘리지 않고는 새 데이터베이스에 하이브리드 테이블을 생성할 수 없습니다.
제한은 너무 많은 읽기 및 쓰기 요청이 하이브리드 테이블 저장소 공급자에게 전송되는 결과를 초래하는 여러 요인의 조합으로 인해 발생할 수 있습니다.
최적화가 제대로 되지 않은 쿼리나 매우 높은 쿼리 동시성을 필요로 하는 규모가 크고 공격적인 워크로드로 인해 읽기 요청이 너무 많이 발생할 수 있습니다.
대량 로드 경로가 테이블 로드 시 선택되지 않았거나 워크로드에 동시 쓰기 작업이 너무 많은 경우 쓰기 요청이 너무 많이 발생할 수 있습니다.
할당량 제한으로 인해 오류가 발생하거나 스로틀링이 발생하는 경우 시스템 관리자 또는 DBA에 문의하여 전체 Unistore 작업 부하를 살펴보고 할당량 초과를 방지하도록 수정할 수 있습니다. DBAs는 쿼리 성능 및 쿼터 사용량을 평가하기 위해 Snowflake 지원 에 문의할 수 있습니다. 일부 워크로드의 경우 할당량을 늘려야 할 수도 있습니다.
- 복제
하이브리드 테이블의 복제 는 현재 지원되지 않습니다.
- 보조 인덱스
다음 보조 인덱스 기능은 지원되지 않습니다.
인덱스에 열 추가하기.
기존 하이브리드 테이블의 인덱스 수정.
하이브리드 테이블에서 보조 인덱스를 사용하려면 테이블에 대해 SELECT 권한이 부여된 역할을 사용해야 합니다. 하이브리드 테이블 자체가 아닌 다른 오브젝트에만 액세스할 수 있는 경우 보조 인덱스를 사용할 수 없습니다.
TIMESTAMP 열이 지원됩니다. 그러나 기본 테이블이나 인덱스에서 복합 키의 일부인 TIMESTAMP 열에 대한 비교(예: WHERE 조건자)는 현재 지원되지 않으며 오류의 원인이 됩니다.
보조 인덱스에 대한 자세한 내용은 하이브리드 테이블에 인덱스 추가하기 섹션을 참조하십시오.
- 처리량
균형 잡힌 80%/20% 읽기/쓰기 워크로드를 위해 계정의 하이브리드 테이블에 대해 초당 최대 약 2,000개의 작업을 실행할 수 있습니다. 이 제한을 초과하면 Snowflake가 처리량을 줄일 수 있습니다. 자세한 내용은 할당량 및 제한 을 참조하십시오.
- Time Travel
Time Travel 쿼리는 다음과 같은 제한 사항이 있는 하이브리드 테이블에 대해 지원됩니다.
AT 절에서는 TIMESTAMP 매개 변수만 지원됩니다. OFFSET, STATEMENT 및 STREAM 매개 변수는 지원되지 않습니다.
TIMESTAMP 매개 변수의 값은 동일한 데이터베이스에 속한 모든 테이블에서 동일해야 합니다. 테이블이 서로 다른 데이터베이스에 속한 경우 다른 TIMESTAMP 값을 사용할 수 있습니다.
일반적으로 하이브리드 테이블에는 복제가 지원되지 않으므로 CREATE TABLE … CLONE에 AT 절을 지정할 수 없습니다.
BEFORE 절은 지원되지 않습니다.
Time Trave을 활용하는 UNDROP TABLE 명령은 지원되지 않습니다.
- 트랜잭션
하이브리드 테이블의 경우 트랜잭션 범위는 하이브리드 테이블이 있는 데이터베이스입니다. 트랜잭션에서 참조되는 모든 하이브리드 테이블은 동일한 데이터베이스에 있어야 하며, 동일한 트랜잭션에서 참조되는 표준 Snowflake 테이블은 서로 다른 데이터베이스에 있을 수 있습니다.
- 일시적인 스키마와 데이터베이스
임시 또는 일시적 하이브리드 테이블을 만들 수 없습니다. 따라서 일시적 스키마 또는 데이터베이스 내에서는 하이브리드 테이블을 만들 수 없습니다.
- Tri-Secret Secure
Snowflake 계정이 Tri-Secret Secure 을 사용하도록 활성화된 경우 하이브리드 테이블 을 사용할 수 없습니다. 하이브리드 테이블을 사용하기 전에 Snowflake 지원 에 문의하여 Snowflake 계정이 Tri-Secret Secure 를 사용하도록 활성화되었는지 확인합니다.
- UNDROP
하이브리드 테이블에는 UNDROP 가 지원되지 않습니다. 추가로 다음 사항이 적용됩니다.
하이브리드 테이블을 포함하는 엔터티에 대한 UNDROP SCHEMA 및 UNDROP DATABASE 명령은 성공하지만, 해당 하이브리드 테이블과 관련 제약 조건 및 인덱스는 복원할 수 없습니다.
TABLES 뷰 의 DELETED 열에는 삭제 시간이 상위 항목의 UNDROP 시간으로 표시됩니다.
ACCESS_HISTORY 뷰 에는 상위 엔터티의 DROP/UNDROP에 대한 항목이 포함되어 있지만 하이브리드 테이블에 대한 항목은 없습니다.