하이브리드 테이블¶
하이브리드 테이블은 소규모 임의 지점 읽기 및 쓰기에서 짧은 대기 시간과 높은 처리량을 요구하는 하이브리드 트랜잭션 및 운영 워크로드에 최적화된 Snowflake 테이블 유형입니다. 하이브리드 테이블은 트랜잭션 워크로드에 중요하고 고유한 참조 무결성 제약 조건 적용을 지원합니다. 다른 Snowflake 테이블 및 기능과 함께 하이브리드 테이블을 사용하여 트랜잭션 및 분석 데이터를 단일 플랫폼에 통합하는 Unistore 워크로드 를 강화할 수 있습니다.
하이브리드 테이블의 이점을 누릴 수 있는 사용 사례는 다음과 같습니다.
대화형 사용자 인터페이스를 통해 타겟 마케팅 캠페인을 위한 동질 집단을 만듭니다.
대규모 병렬 데이터 변환 파이프라인을 조정하기 위해 중앙 워크플로 상태를 유지합니다.
웹사이트나 모바일 앱을 방문하는 사용자를 위해 사전 계산된 프로모션 처리를 제공합니다.
아키텍처¶
하이브리드 테이블은 기존 Snowflake 아키텍처에 완벽하게 통합됩니다. 고객은 동일한 Snowflake 데이터베이스 서비스에 연결합니다. 쿼리는 클라우드 서비스 계층에서 컴파일 및 최적화되고 가상 웨어하우스의 동일한 쿼리 엔진에서 실행됩니다. 이는 다음과 같은 몇 가지 주요 이점을 제공합니다.
데이터 거버넌스와 같은 Snowflake 플랫폼 기능은 기본적으로 하이브리드 테이블에서 작동합니다.
운영 쿼리와 분석 쿼리를 혼합하여 하이브리드 워크로드를 실행할 수 있습니다.
하이브리드 테이블을 다른 Snowflake 테이블과 조인할 수 있으며 쿼리는 동일한 쿼리 엔진에서 기본적이고 효율적으로 실행됩니다. 페더레이션이 필요하지 않습니다.
하이브리드 테이블과 기타 Snowflake 테이블에서 원자성 트랜잭션을 실행할 수 있습니다. 자체적으로 2단계 커밋을 오케스트레이션할 필요가 없습니다.
하이브리드 테이블은 행 저장소를 기본 데이터 저장소로 활용하여 탁월한 운영 쿼리 성능을 제공합니다. 하이브리드 테이블에 쓰면 데이터가 행 저장소에 직접 기록됩니다. 진행 중인 운영 워크로드에 영향을 주지 않고 대규모 스캔에 대해 더 나은 성능과 워크로드 격리를 제공하기 위해 데이터가 오브젝트 저장소에 비동기식으로 복사됩니다. 일부 데이터는 분석 쿼리에 대한 더 나은 성능을 제공하기 위해 웨어하우스에 열 형식으로 캐시될 수도 있습니다. 논리적 하이브리드 테이블에 대해 SQL 문을 실행하기만 하면 Snowflake의 쿼리 최적화 프로그램이 최고의 성능을 제공하기 위해 데이터를 읽을 위치를 결정합니다. 기본 인프라에 대해 걱정할 필요 없이 데이터에 대해 일관된 뷰가 1개 생성됩니다.
기능¶
하이브리드 테이블은 다른 Snowflake 테이블 유형에서 지원되지 않는 몇 가지 추가 기능을 제공합니다.
Feature |
하이브리드 테이블 |
표준 테이블 |
---|---|---|
기본 데이터 레이아웃 |
행 지향적(보조 열 배치 포함) |
열 형식의 마이크로 파티션 |
잠금 |
행 잠금 |
파티션 또는 테이블 잠금 |
기본 키 |
필수 사항, 적용된 고유성 |
선택 사항, 적용되지 않음 |
외래 키 |
선택 사항, 적용된 참조 무결성 |
선택 사항, 적용되지 않음 |
제약 조건 |
고유 제약 조건, 참조 무결성 제약 조건 적용 지원 |
지원되지 않음 |
인덱스 |
성능을 위해 지원됨. 인덱스는 작성 시 동기적으로 업데이트됨 |
검색 최적화는 더 나은 포인트 조회 성능을 위해 열을 인덱싱함. 배치가 비동기적으로 업데이트/유지 관리됨 |
하이브리드 테이블을 사용할 시기 결정하기¶
Snowflake 표준 테이블은 대규모 분석 쿼리에서 더 나은 성능을 제공할 것으로 예상되지만 하이브리드 테이블을 사용하면 단기 실행 중인 운영 쿼리에서 결과를 더 빠르게 얻을 수 있습니다. 다음 유형의 쿼리는 하이브리드 테이블의 이점을 누릴 가능성이 가장 큽니다.
높은 동시성 무작위 지점 읽기와 넓은 범위의 읽기 비교.
높은 동시성 무작위 쓰기와 대규모 순차 쓰기(예: 대량 로드) 비교.
소수의 전체 레코드(예: 고객 오브젝트) 검색과 분석 함수(예: 집계 또는 그룹화 기준)를 사용한 좁은 예측 검색 비교.
쿼리가 이러한 모델 중 하나에 적합한 경우 하이브리드 테이블이 데이터 저장에 선호되는 선택 사항일 수 있습니다.