아마존 Redshift의 중첩 머터리얼라이즈드 뷰 계단식 새로 고침 기능 소개
AWS는 데이터 웨어하우징 서비스인 Amazon Redshift에 중첩된 머터리얼라이즈드 뷰(Materialized View, MV)의 계단식 새로 고침(Cascading Refresh)을 지원하는 새로운 기능을 출시했습니다. 이 기능은 복잡한 분석 워크로드 자동화와 고급 분석 아키텍처 구성에 유용하며, 중첩 구조의 MV를 단일 명령으로 효율적으로 갱신할 수 있도록 합니다.
중첩 머터리얼라이즈드 뷰란?
Amazon Redshift에서 머터리얼라이즈드 뷰는 쿼리 결과를 저장하여 향후 요청 시 빠르게 응답할 수 있도록 하는 캐싱 기법입니다. 중첩 MV는 하나의 MV가 다른 MV를 참조하는 구조로, 데이터 파이프라인이 계층적으로 구성되어 있을 경우 유용하게 활용될 수 있습니다.
이번 업데이트를 통해, 로컬 Redshift 테이블뿐만 아니라 Amazon Kinesis Data Streams(KDS), Amazon MSK, Confluent Cloud 같은 외부 스트리밍 소스 기반으로 구성된 중첩 MV도 계단식으로 갱신할 수 있게 되었습니다.
계단식 새로 고침 기능의 동작 방식 및 사용 예
이전까지는 중첩된 MV들을 새로 고침하기 위해 각 계층을 수동으로 갱신해야 했습니다. 하지만 이제 REFRESH MATERIALIZED VIEW
명령어에 CASCADE
옵션을 추가함으로써, 타겟 MV 기준 하위에 존재하는 모든 MV들을 한 번의 트랜잭션 내에서 순차적으로 새로 고침할 수 있습니다. 이는 분석 시스템 구축과 유지보수의 자동화 수준을 한 단계 높여주는 결과를 가져옵니다.
예를 들어 다음과 같은 구조의 테이블과 MV가 있다고 가정해봅시다.
CREATE TABLE t(a INT);
CREATE MATERIALIZED VIEW u AS SELECT * FROM t;
CREATE MATERIALIZED VIEW v AS SELECT * FROM u;
CREATE MATERIALIZED VIEW w AS SELECT * FROM v;
— 구조: w -> v -> u -> t
데이터를 삽입한 후, 단순히 REFRESH MATERIALIZED VIEW v;
명령어를 수행하면 “v는 최신 상태지만 의존 중인 MV가 최신이 아님”이라는 메시지가 출력됩니다.
하지만 아래와 같이 CASCADE
옵션을 사용하면 u → v 순서로 자동 새로 고침이 수행됩니다.
REFRESH MATERIALIZED VIEW v CASCADE;
중요한 점은 최상위 MV인 w는 갱신되지 않는다는 점이며, 필요하다면 w도 동일한 방식으로 명시적으로 갱신해야 합니다.
MV 계단식 새로 고침 기능의 활용 예시
- 실시간 분석 시스템: Kinesis 또는 Kafka와 같은 스트리밍 데이터를 기반으로 하는 MV들을 정기적으로 새로 고침할 때 사람의 개입 없이 자동으로 하위 계층까지 함께 업데이트 가능
- 데이터 파이프라인 구성: 여러 분석 단계로 분기된 ETL 파이프라인에서 갱신 순서를 고려하지 않아도 돼 구축 시간이 단축됨
- 운영 자동화: 정기 스케줄러 또는 Lambda 트리거를 설정하여 대규모 MV 트리 구조를 효율적으로 관리 가능
MV 갱신 구조 간 비교
기존 방식은 사람이 구조적으로 어떤 MV를 먼저 갱신해야 하는지 파악하고, 순서를 구성해 주어야 했습니다. 반면 새로 도입된 계단식 새로 고침(CASCADE)은 이를 자동화하여 운영 오류를 줄이고, 데이터 파이프라인 배포 가이드를 훨씬 간단하게 만듭니다.
시작하는 방법
이 기능은 Amazon Redshift 최신 버전에서 즉시 사용할 수 있으며, 상세 가이드는 공식 문서 또는 콘솔의 물리적 뷰 갱신 섹션에서 확인하실 수 있습니다. 본 기능은 변화를 감지하여 연속적으로 갱신해야 하는 복잡한 분석 시스템을 보다 간단하게 구현할 수 있게 해주므로, 복잡한 데이터 구조를 사용하는 기업에게 즉각적인 실효성을 가져다줄 수 있습니다.
MV 활용 자동화와 배포 효율성을 고민하고 있다면 이번 계단식 갱신 기능을 적극적으로 활용해 보시길 바랍니다.
AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!
(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기