하이브리드 테이블¶
하이브리드 테이블은 소규모 임의 지점 읽기 및 쓰기에서 짧은 대기 시간과 높은 처리량을 요구하는 하이브리드 트랜잭션 및 운영 워크로드에 최적화된 Snowflake 테이블 유형입니다. 하이브리드 테이블은 트랜잭션 워크로드에 중요하고 고유한 참조 무결성 제약 조건 적용을 지원합니다. 다른 Snowflake 테이블 및 기능과 함께 하이브리드 테이블을 사용하여 트랜잭션 및 분석 데이터를 단일 플랫폼에 통합하는 Unistore 워크로드 를 강화할 수 있습니다.
하이브리드 테이블의 이점을 누릴 수 있는 사용 사례는 다음과 같습니다.
대화형 사용자 인터페이스를 통해 타겟 마케팅 캠페인을 위한 동질 집단을 만듭니다.
대규모 병렬 데이터 변환 파이프라인을 조정하기 위해 중앙 워크플로 상태를 유지합니다.
웹사이트나 모바일 앱을 방문하는 사용자를 위해 사전 계산된 프로모션 처리를 제공합니다.
아키텍처¶
하이브리드 테이블은 기존 Snowflake 아키텍처에 완벽하게 통합됩니다. 고객은 동일한 Snowflake 데이터베이스 서비스에 연결합니다. 쿼리는 클라우드 서비스 계층에서 컴파일 및 최적화되고 가상 웨어하우스의 동일한 쿼리 엔진에서 실행됩니다. 이 아키텍처에는 여러 이점이 있습니다.
데이터 거버넌스와 같은 Snowflake 플랫폼 기능은 기본적으로 하이브리드 테이블에서 작동합니다.
연산 쿼리와 분석 쿼리를 혼합한 하이브리드 워크로드를 실행할 수 있습니다.
하이브리드 테이블을 다른 Snowflake 테이블과 조인할 수 있으며 쿼리는 동일한 쿼리 엔진에서 기본적이고 효율적으로 실행됩니다. 페더레이션이 필요하지 않습니다.
하이브리드 테이블과 기타 Snowflake 테이블에서 원자성 트랜잭션을 실행할 수 있습니다. 자체적으로 2단계 커밋을 오케스트레이션할 필요가 없습니다.

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