오랫동안 데이터베이스 개발자들 사이에서 LISTEN/NOTIFY는 확장성이 부족하다는 오명을 쓴 기능이었습니다. 전역 잠금 메커니즘 때문에 동시 트랜잭션 처리에 병목이 생길 것이라는 통념이 널리 퍼져 있었죠.
하지만 최근 DBOS 팀이 공개한 실증 데이터는 이 고정관념을 뒤집고 있습니다. 단일 포스트그레 서버에서 초당 6만 건의 쓰기 작업을 초단위 지연 시간으로 처리하는 데 성공한 것입니다.
이는 기존에 알려졌던 성능 한계를 훨씬 뛰어넘는 수치로, 실시간 데이터 스트리밍이 필요한 현대 애플리케이션에 새로운 가능성을 제시합니다.
이러한 성과가 주목받는 이유는 바로 실시간 상호작용이 필수적인 서비스들의 증가와 맞물려 있기 때문입니다. 온라인 채팅이나 LLM 토큰 스트리밍처럼 데이터가 끊임없이 흘러들어오는 환경에서는 폴링 방식이 효율적이지 않습니다.
폴링 간격을 짧게 잡으면 데이터베이스 부하가 심해지고, 길게 잡으면 사용자 체감 지연이 길어지기 때문입니다. LISTEN/NOTIFY는 작성자가 새로운 데이터를 기록할 때 읽는 쪽에 즉시 알림을 보내는 방식이라 불필요한 조회를 줄여줍니다.
이 덕분에 리소스 낭비 없이 즉각적인 응답이 가능해집니다.
## 기존 통념을 깨는 성능 최적화의 비밀
많은 개발자가 LISTEN/NOTIFY의 성능 저하 원인을 전역 잠금 때문이라고만 생각했습니다. 실제로 NOTIFY 커밋 시 전역 배타 잠금이 발생하여 트랜잭션을 직렬화한다는 점은 사실입니다.
하지만 이것이 곧 확장성 부재를 의미하는 것은 아닙니다. DBOS의 사례처럼 스트림 테이블을 설계하고 트리거를 통해 알림을 보내는 방식을 최적화하면 예상치 못한 높은 처리량을 달성할 수 있습니다.
핵심은 불필요한 폴링 루프를 제거하고 이벤트 기반 아키텍처로 전환하는 데 있습니다.
하커뉴스 등 개발자 커뮤니티에서는 이 결과를 두고 다양한 해석이 오갔습니다. 일부는 6만 건이라는 수치가 모든 시스템에 적합한 절대적 기준은 아니라고 지적했습니다.
확장성은 이분법적인 것이 아니라 연속체이기 때문에, 시스템의 규모와 요구 사항에 따라 적절한 기술 선택이 달라져야 한다는 것입니다. 작은 규모의 프로젝트에 과도하게 확장 가능한 기술을 도입하면 오히려 관리 비용과 복잡성만 증가할 수 있습니다.
반대로 LISTEN/NOTIFY 같은 기능이 충분히 커버할 수 있는 범위를 넘어서는 대규모 트래픽을 처리하려 하면 한계가 명확해집니다.
하지만 대부분의 웹 서비스나 실시간 알림 시스템에 있어 이 성능은 충분한 여유를 제공합니다. 특히 외부 서비스나 별도의 메시지 큐를 도입하지 않고 기존 데이터베이스 인프라 안에서 모든 것을 해결할 수 있다는 점이 큰 매력입니다.
운영 부담이 줄고 아키텍처가 단순해지며, 데이터 일관성 유지도 수월해집니다. 이미 CRUD 스택을 구축한 프로젝트에 추가적인 인프라 없이 실시간 기능을 도입하고 싶은 팀들에게는 매우 매력적인 대안이 됩니다.
## 실무 적용 시 고려해야 할 점과 향후 전망
실제 도입을 고려한다면 성능 수치만큼이나 아키텍처의 맥락을 고려해야 합니다. LISTEN/NOTIFY는 강력한 도구이지만 만능은 아닙니다.
초당 6만 건의 처리량은 많은 시스템에 충분하지만, 초당 수십만 건 이상의 트래픽을 다루는 초고성능 환경에서는 여전히 한계가 있을 수 있습니다. 개발자는 자신의 시스템이 예상하는 최대 부하와 이 기술의 성능 한계 사이에 충분한 마진을 두어야 합니다.
최소한 최악의 부하 예상치보다 한 단계 이상의 여유를 확보하는 것이 안전합니다.
또한 이 기술은 데이터베이스의 가용성과 직접적으로 연결된다는 점을 명심해야 합니다. 별도의 메시지 브로커를 운영할 필요가 없기 때문에 장애 지점이 줄어들고 시스템 안정성이 높아집니다.
이메일 처리나 워크플로우 관리처럼 내구성이 중요한 작업에도 적용 사례가 늘어나고 있습니다. 개별 이메일을 내구성 워크플로우로 취급하는 실험들도 등장하며 활용 범위가 넓어지고 있습니다.
앞으로 포스트그레 기반의 실시간 스트리밍 기술은 더 많은 주목을 받을 것입니다. 단순한 알림 기능을 넘어 데이터 흐름의 핵심 동력으로 자리 잡을 가능성이 큽니다.
개발자들은 이제 LISTEN/NOTIFY를 ‘확장성이 없는 기능’이 아니라 ‘적절한 규모에서 효율적인 도구’로 재평가하게 될 것입니다. 기존 인프라를 최대한 활용하면서도 실시간성을 확보하고 싶은 팀들에게 이 기술은 중요한 선택지가 될 것입니다.
기술의 한계를 정확히 이해하고 적절한 시나리오에 적용한다면, 포스트그레는 여전히 현대 애플리케이션의 강력한 기반이 될 수 있습니다.