DB 내 실행, 가능할까? pg_durable 논쟁
Microsoft가 PostgreSQL 내구 실행(Durable Execution)을 위한 'pg_durable'을 오픈소스로 공개했음
코드 기반 워크플로우와의 비교 및 데이터베이스 내 로직 실행의 장단점에 대한 논의가 활발함
Temporal, DBOS 등 유사 솔루션과의 비교 및 테스트, 버전 관리의 어려움이 지적됨
클라우드 환경에서의 PostgreSQL 현대화에 대한 요구가 제기됨
데이터베이스 내구 실행(Durable Execution)의 장단점
커뮤니티에서는 'pg_durable'과 같은 데이터베이스 내 로직 실행(In-Database Logic Execution) 방식이 로컬 데이터베이스 전용 작업이나 특정 니치 유스케이스(Niche Use Cases)에 적합할 수 있다고 언급합니다. 하지만 테스트 용이성(Testability), 버전 관리(Versioning), 관찰 가능성(Observability) 부족, API 호출 등 IO 작업의 제약으로 인해 기존 코드 기반 워크플로우 대비 단점이 명확하다는 지적이 다수입니다. 특히 데이터 격리 아키텍처(Data Isolation Architecture) 측면에서 확장성 압력(Scaling Pressure)이 PostgreSQL에 집중될 수 있다는 우려도 제기됩니다.
유사 솔루션과의 비교 및 생태계 논쟁
논의에서는 DBOS(Database-Oriented Systems), pgQue, Absurd, Temporal 등 기존의 워크플로우 오케스트레이션(Workflow Orchestration) 및 큐잉 시스템(Queuing System)과의 비교가 활발합니다. 개발자들은 Git 기반의 코드 관리를 선호하며, 'pg_durable'이 이러한 기존 방식과 어떻게 통합될 수 있을지에 대한 의문을 제기합니다. 일부는 데이터베이스 중심 접근 방식(Database-Centric Approach)이 순수 DB 접근을 최소화하려는 추세와 상반된다고 보기도 합니다.
클라우드 PostgreSQL의 현대화 지연 문제
일부 사용자는 Azure와 같은 클라우드 환경에서 PostgreSQL의 최신 기능 지원이 지연되고 있다고 지적합니다. 예를 들어, 하이브리드 검색(Hybrid Search)이나 고차원 벡터(High-Dimensional Vectors) 지원과 같은 기능이 AWS 등 경쟁사 대비 부족하다는 불만이 제기되었습니다. 'pg_durable'의 오픈소스 공개는 긍정적으로 평가되지만, 동시에 표준 기능(Table Stakes Features)의 빠른 도입을 촉구하는 목소리도 높습니다.
데이터베이스 내 로직 실행의 근본적 한계
댓글에서는 비즈니스 로직을 데이터베이스 내에 두는 것이 '숨겨진 뇌 문제(Hidden Brain Problem)'를 야기하며, 노이즈 워크로드(Noisy Workloads)를 격리하기 어렵게 만든다고 지적합니다. 또한 IO 병목 현상(IO Bottlenecks), 특히 외부 API 호출 시 성능 저하 가능성이 언급됩니다. 이러한 이유로 데이터베이스 내 실행은 로컬 전용 작업이나 매우 제한적인 사용 사례에 국한될 가능성이 높다는 의견이 지배적입니다.