데이터 파이프라인용 다중 위치 복원력
데이터 파이프라인용 다중 위치 복원력 (Multi-Location Resilience for Data Pipelines)
이 문서는 Snowflake의 데이터 파이프라인을 위한 다중 위치 복원력(Multi-Location Resilience) 기능을 설명해요.
본문
개요
데이터 파이프라인용 다중 위치 복원력은 Snowpipe 및 Snowpipe Streaming 파이프라인이 여러 위치(공급 영역)의 소스 파일을 수집할 수 있게 하는 기능이에요. 이는 단일 위치에 장애가 발생하거나 소스에 문제가 생겨도 파이프라인의 복원력을 높여줘요.
고가용성 파이프라인은 여러 수집 경로가 동시에 실패할 가능성을 낮춰 데이터 로딩의 연속성을 보장하는 것을 목표로 해요.
동작 방식
다중 위치 복원력은 다음 원리로 동작해요:
- 파이프라인은 여러 공급자(예: 서로 다른 클라우드 버킷, 지역)의 데이터를 수집할 수 있어요.
- 하나의 소스 위치가 실패하거나 일시적으로 사용할 수 없게 되어도 다른 위치에서 수집을 계속할 수 있어요.
- 파이프라인의 가용성과 복원력이 향상돼요.
핵심 개념:
- Multi-location pipeline: 여러 위치에서 데이터를 수집하도록 구성된 파이프라인.
- Quorum: 사용 가능한 위치의 정족수. 상당수의 원인이 도달하면 복원력이 제공돼요.
- 여기서 "트래픽 활성"(traffic active) 및 "트래픽 비활성"(traffic inactive) 같은 상태로 파이프라인 인스턴스의 활성화를 관리할 수 있어요.
파이프라인 활성화 상태
다중 위치 복원력에서 각 파이프라인 인스턴스(수집 시스템)는 다음 상태 중 하나일 수 있어요:
- 활성 활성 (Active-active): 여러 인스턴스가 동시에 활성 상태로 데이터를 수집.
- 활성-수동 (Active-passive): 기본 인스턴스가 활성이고, 보조 인스턴스는 대기.
파이프라인은 ALTER PIPE를 통해 트래픽 활성/비활성 상태를 전환할 수 있어요.
트래픽 활성화/비활성화 관리
ALTER PIPE 구문의 관련 옵션:
ALTER PIPE mypipe SET TRAFFIC_ACTIVE = TRUE;
ALTER PIPE mypipe SET TRAFFIC_INACTIVE = TRUE;
SUSPEND/RESUME ...
이렇게 하면 파이프라인 인스턴스의 트래픽 상태를 제어해, 유지보수 중이거나 장애가 있는 인스턴스로의 데이터 흐름을 관리할 수 있어요.
대기 열(Quorum) 개념
복원력을 위해 여러 인스턴스가 동시에 활성화(active-active)될 수 있어요. 이 경우 각 인스턴스가 서로 다른 소스 위치에서 병렬로 수집하며, 전체적인 파이프라인 가용성을 높여요.
시나리오
- 본 장애 조치 (Failover): 기본 위치가 실패하면 보조 위치가 계속 수집해 데이터 로딩이 중단되지 않아요.
- 유지보수: 한 인스턴스를 유지보수하기 위해 트래픽을 비활성화하고, 다른 인스턴스가 계속 수집하게 할 수 있어요.
고려 사항
- 다중 위치 복원력은 여러 수집 위치가 필요하므로, 소스 데이터가 여러 위치에 복제되어 있어야 유용해요.
- 파이프라인 구성과 인스턴스 활성화 상태를 신중히 관리해야 해요.
- 자세한 명령 구문은
ALTER PIPESQL 레퍼런스를 참고하세요.