마이크로소프트가 PostgreSQL(포스트그레스큐엘) 데이터베이스를 위한 강력한 확장 기능인 'pg_durable'을 오픈소스로 공개했습니다. 이 확장은 개발자들이 복잡한 워크플로우를 SQL(에스큐엘)만으로 데이터베이스 내부에서 직접 오케스트레이션(orchestration)할 수 있도록 지원합니다. 재시도(retries), 스케줄링(scheduling), 병렬 팬아웃(fan-out), 조건부 분기(conditional branching)와 같은 기능을 별도의 컨테이너나 외부 서비스 없이 PostgreSQL과 백그라운드 워커(worker)만으로 구현할 수 있게 된 것이 핵심입니다.
pg_durable은 모든 워크플로우 단계의 상태를 PostgreSQL에 체크포인트(checkpoint)로 기록하여, 시스템 크래시(crash), 재시작, 연결 끊김 등 예기치 못한 상황에서도 중단된 지점부터 작업을 정확히 재개할 수 있는 내구성(durability)을 제공합니다. 기존에는 이러한 기능을 구현하려면 큐 관리, 상태 추적, 크래시 복구, 단계 조정, 재시도 로직 등을 직접 수백 줄의 코드로 작성해야 했지만, pg_durable을 사용하면 단일 SQL DSL(Domain Specific Language) 호출로 대체할 수 있습니다. 예를 들어, 세 가지 집계 작업을 병렬로 실행하고 대시보드를 갱신하는 복잡한 시나리오도 '&' 연산자로 병렬 분기 후 '~>'로 조인(join)하는 간결한 SQL 문법으로 표현 가능합니다.
이러한 접근 방식은 애플리케이션 개발의 복잡성을 크게 줄이고, 데이터베이스와 비즈니스 로직 간의 경계를 재정의할 수 있는 잠재력을 가집니다. 특히, 데이터베이스 중심의 애플리케이션을 구축하는 개발자들에게는 인프라 관리 부담을 덜고 핵심 비즈니스 로직에 집중할 수 있도록 돕습니다. 또한, 마이크로소프트는 자사의 새로운 PostgreSQL 클라우드 서비스인 Azure HorizonDB(애저 호라이즌디비)에 pg_durable을 내장하여, 엔터프라이즈급 확장성, 보안, 그리고 AI(인공지능) 기능을 통합한 매니지드(managed) 옵션으로도 제공할 예정입니다. 이는 데이터베이스 내에서 AI 파이프라인(Ingest → Chunk → Embed → Index → Serve)을 직접 구축하고 관리하는 새로운 가능성을 열어줄 것으로 기대됩니다.