AI 요약
마이크로소프트(Microsoft)는 PostgreSQL 데이터베이스 환경에서 외부 인프라 없이도 안정적이고 내결함성이 높은 백그라운드 작업을 실행할 수 있게 해주는 오픈소스 프로젝트 'pg_durable'을 발표했습니다. 그동안 개발자들은 백그라운드 작업의 안정성을 확보하기 위해 pg_cron, 별도 큐(Queue), 워커(Worker), 그리고 수많은 상태 테이블을 복잡하게 연동해야 하는 번거로움을 겪어왔습니다. 'pg_durable'은 SQL로 정의된 워크플로우 각 단계를 실행하면서 체크포인트를 저장하므로, 데이터베이스가 비정상적으로 종료되거나 재시작되더라도 개발자가 직접 수동으로 상태를 재구성할 필요 없이 마지막으로 성공한 체크포인트부터 작업을 안전하게 재개합니다. 이는 '연산(Compute)을 데이터와 더 가깝게 위치시킨다'는 마이크로소프트의 아키텍처 철학이 반영된 도구이며, 마이크로소프트가 새롭게 선보이는 PostgreSQL 기반의 클라우드 서비스인 'Azure HorizonDB' 내부에 내장되어 즉시 활용할 수 있습니다.
핵심 인사이트
- pg_durable 오픈소스 공개: 마이크로소프트가 공식 GitHub(https://github.com/microsoft/pg_durable)을 통해 PostgreSQL 내에서 지속성 실행을 제어하는 'pg_durable'의 소스코드를 오픈소스로 배포했습니다.
- Azure HorizonDB 탑재: 마이크로소프트가 성능 위주로 특별 설계한 새로운 PostgreSQL 클라우드 서비스인 'Azure HorizonDB'에 'pg_durable'이 기본 내장되어 제공됩니다.
- 외부 오케스트레이터 대체: 에어플로우(Airflow), 템포럴(Temporal), AWS 스텝 펑션(Step Functions), 아르고(Argo) 등 외부 워크플로우 도구나 별도의 애플리케이션 워커 계층 없이도 DB 내부에서 완결성 있는 백그라운드 작업을 구현할 수 있습니다.
- 자동 상태 추적: SQL 단계별로 체크포인트를 저장하므로, 장시간 실행되는 배치 작업이나 시스템 크래시 시에도 데이터 유실이나 중복 작업 없이 마지막 실행 단계부터 안전하게 이어 갈 수 있습니다.
주요 디테일
- 워크플로우 진입 및 모니터링: SQL 환경 내에서
df.start(...)함수를 호출하여 지속성 실행 워크플로우를 작동시키며,df.instances와 같은 PostgreSQL 시스템 테이블을 활용해 작업 현황을 투명하게 추적할 수 있습니다. - 최적의 사용 사례: pgvector를 활용해 원본 데이터를 청킹하고 외부 AI 임베딩 API를 호출해 적재하는 AI 파이프라인, 대규모 데이터의 중복 제거 및 변환 작업(Ingest), 일정 기반의 시스템 자동 점검 및 승인 워크플로우, 병렬 쿼리 후 취합하는 팬아웃(Fan-out) 연산 등에 적합합니다.
- 기존 인프라의 페인 포인트 극복: 기존 방식에서는 장시간 트랜잭션 유지 시 WAL(Write-Ahead Log)이 과도하게 쌓이고 DB 락(Lock) 점유 시간이 길어져 취약점이 컸으나, 단계별 분할 실행과 체크포인트를 통해 트랜잭션 과부하를 줄여줍니다.
- 단일 가시성 확보: 관리 및 보안 모델이 PostgreSQL 기존 인증 정책(Auth)과 완벽히 호환되므로, 데이터베이스 가시성 인프라를 일원화할 수 있습니다.
향후 전망
- DB 중심 아키텍처의 확산: 복잡하게 분산되어 있던 애플리케이션 단의 워크플로우 인프라가 데이터베이스 내부로 단순화 및 밀착되면서, 분산 버그 및 데이터 드리프트 현상이 크게 줄어들 것으로 예상됩니다.
- Azure HorizonDB의 시장 입지 강화: 획기적인 'pg_durable' 기능이 내장됨으로써, 엔터프라이즈 AI 파이프라인과 대형 데이터 분석 워크로드를 다루는 클라우드 고객들 사이에서 Azure HorizonDB의 도입이 빠르게 늘어날 것으로 전망됩니다.
