하이브리드 테이블¶
하이브리드 테이블은 인덱스 기반의 랜덤 읽기 및 쓰기를 사용하여 짧은 지연 시간과 높은 처리량을 위해 최적화된 Snowflake 테이블 유형입니다. 하이브리드 테이블은 높은 동시성을 위해 행 잠금을 지원하는 행 기반 저장소 엔진을 제공합니다. 또한 하이브리드 테이블은 트랜잭션 워크로드에 중요한 고유 및 참조 무결성 제약 조건을 적용합니다. 다른 Snowflake 테이블 및 기능과 함께 하이브리드 테이블을 사용하여 트랜잭션 및 분석 데이터를 단일 플랫폼에 통합하는 Unistore 워크로드 를 강화할 수 있습니다.
하이브리드 테이블의 이점을 누릴 수 있는 사용 사례는 다음과 같습니다.
수천 명의 병렬 작업자로부터 단일 테이블에 대한 높은 동시성 업데이트가 필요한 수집 워크플로의 상태 유지와 같은 애플리케이션 및 워크플로용 메타데이터입니다.
API 또는 사용자 인터페이스를 통해 미리 계산된 집계를 지연 시간이 짧은 방식으로 제공합니다.
관계형 데이터 모델링을 갖춘 경량 트랜잭션 애플리케이션.
팁
하이브리드 테이블을 생성하고 사용하기 전에 지원되지 않는 몇 가지 기능 및 제한 사항 을 숙지해야 합니다.
아키텍처¶
하이브리드 테이블은 기존 Snowflake 아키텍처에 원활하게 통합됩니다. 고객은 동일한 Snowflake 데이터베이스 서비스에 연결합니다. 쿼리는 클라우드 서비스 계층에서 컴파일 및 최적화되고 표준 테이블과 동일한 쿼리 엔진 및 가상 웨어하우스에서 실행됩니다. 이 아키텍처에는 여러 이점이 있습니다.
데이터 거버넌스와 같은 Snowflake 플랫폼 기능은 기본적으로 하이브리드 테이블에서 작동합니다.
연산 쿼리와 분석 쿼리를 혼합한 하이브리드 워크로드를 실행할 수 있습니다.
하이브리드 테이블을 다른 Snowflake 테이블과 조인할 수 있으며, 쿼리는 동일한 쿼리 엔진에서 기본적으로 효율적으로 실행됩니다. 페더레이션이 필요하지 않습니다.
하이브리드 테이블과 기타 Snowflake 테이블에서 원자성 트랜잭션을 실행할 수 있습니다. 자체적으로 2단계 커밋을 오케스트레이션할 필요가 없습니다.

하이브리드 테이블은 행 저장소를 기본 데이터 저장소로 활용하여 탁월한 운영 쿼리 성능을 제공합니다. 하이브리드 테이블에 쓰면 데이터가 행 저장소에 직접 기록됩니다. 진행 중인 운영 워크로드에 영향을 주지 않고 대규모 스캔에 대해 더 나은 성능과 워크로드 격리를 제공하기 위해 데이터가 오브젝트 저장소에 비동기식으로 복사됩니다. 일부 데이터는 분석 쿼리에 더 나은 성능을 제공하기 위해 데이터 웨어하우스에 컬럼 형식으로 캐시될 수도 있습니다. 논리적 하이브리드 테이블에 대해 SQL 문을 실행하기만 하면 Snowflake 쿼리 최적화 프로그램이 최고의 성능을 제공하기 위해 데이터를 읽을 위치를 결정합니다. 기본 인프라에 대해 걱정할 필요 없이 데이터에 대해 일관된 뷰가 1개 생성됩니다.
참고
하이브리드 테이블의 기본 저장소는 행 저장소이므로 하이브리드 테이블은 일반적으로 표준 테이블보다 저장 공간이 더 큽니다. 이러한 차이점의 주된 이유는 표준 테이블의 열 형식 데이터는 압축률이 더 높은 경우가 많기 때문입니다. 저장소 비용에 대한 자세한 내용은 하이브리드 테이블의 비용 평가 섹션을 참조하십시오.
기능¶
하이브리드 테이블은 다른 Snowflake 테이블 유형에서 지원되지 않는 몇 가지 추가 기능을 제공합니다.
특징 |
하이브리드 테이블 |
표준 테이블 |
---|---|---|
기본 데이터 레이아웃 |
행 지향적, 보조 열 저장소 포함 |
열 형식의 마이크로 파티션 |
잠금 |
행 수준 |
파티션 또는 테이블 |
PRIMARY KEY 제약 조건 |
필수, 적용됨 |
선택 사항, 적용되지 않음 |
FOREIGN KEY 제약 조건 |
선택 사항, 적용된 (참조 무결성) |
선택 사항, 적용되지 않음 |
UNIQUE 제약 조건 |
선택 사항(PRIMARY KEY 제외), 적용됨 |
선택 사항, 적용되지 않음 |
NOT NULL 제약 조건 |
선택 사항(PRIMARY KEY 제외), 적용됨 |
선택 사항, 적용됨 |
인덱스 |
성능 지원, 쓰기 시 동기식으로 업데이트됨 |
검색 최적화 서비스는 더 나은 포인트 조회 성능을 위해 열을 인덱싱하고, 비동기식으로 일괄 업데이트/유지 관리합니다. |
제약 조건은 특정 방식으로 열이 업데이트되지 않도록 보호하는 경우 적용 입니다. 예를 들어, NOT NULL로 선언된 열은 NULL 값을 포함할 수 없습니다. NULL 값을 NOT NULL 열에 복사하거나 삽입하려고 하면 항상 오류가 발생합니다.
하이브리드 테이블의 경우 PRIMARY KEY, FOREIGN KEY, UNIQUE 제약 조건에 NOT ENFORCED 속성을 설정할 수 없습니다. 이 속성을 설정하면 “invalid constraint property” 오류가 발생합니다. 제약 조건에 대한 규칙에 대한 자세한 내용은 하이브리드 테이블 제약 조건 섹션을 참조하십시오.
제약 조건은 테이블에서 하나 이상의 열에 그와 같은 제약 조건이 반드시 있어야 하는 경우 필수적 이며, 이는 하이브리드 테이블의 PRIMARY KEY 제약 조건에만 해당됩니다.
하이브리드 테이블을 사용해야 하는 경우¶
Snowflake 표준 테이블은 대규모 분석 쿼리에서 더 나은 성능을 제공할 것으로 예상되지만 하이브리드 테이블을 사용하면 단기 실행 중인 운영 쿼리에서 결과를 더 빠르게 얻을 수 있습니다. 하이브리드 테이블은 많은 워크로드에 높은 동시성과 짧은 지연 시간을 제공합니다. 다음 유형의 쿼리는 하이브리드 테이블의 이점을 누릴 가능성이 가장 큽니다.
고객 오브젝트와 같은 소수의 레코드를 검색하는 인덱스 기반 랜덤 포인트 읽기
삽입, 업데이트, 병합 등 동시성이 높은 무작위 쓰기:
애플리케이션은 일반적으로 하이브리드 테이블과 표준 테이블을 혼합하여 사용하며 각 테이블 타입에 서로 다른 데이터 세트를 저장합니다. 예를 들어, 분석을 위해 자주 대량으로 로딩, 스캔 및 집계하는 데이터와 한 번에 한 행씩 액세스하는 다른 데이터가 있을 수 있으며, 동시성이 높은 ID 열에 필터링되어 있을 수 있습니다. 워크로드의 필요에 따라 단일 데이터베이스에서 기본 테이블과 하이브리드 테이블을 혼합하여 사용할 수 있습니다.