PostgreSQL 하나로 Redis를 버린 이유
왜 Redis를 제거했나
DAEMON v5.8부터 기술 스택에서 Redis를 빼버렸다.
이유는 단순하다: 100만 트래픽 미만에서 Redis는 필요 없다.
PostgreSQL에 pgmq 익스텐션 하나 추가하면 Redis가 하던 일 대부분을 대체할 수 있다.
초당 수십만 건의 캐시 읽기가 필요한 수준이 되면 그때 다시 Redis를 고려하면 된다.
그 수준까지 트래픽이 오는 것 자체가 먼저 풀어야 할 문제다.
pgmq가 뭔데 ?
PostgreSQL Message Queue. PostgreSQL 안에서 돌아가는 큐 시스템이다.
-- 익스텐션 설치 한 줄
CREATE EXTENSION IF NOT EXISTS pgmq;
Taskiq의 broker를 Redis 대신 pgmq로 설정하면 끝이다.
from taskiq_pg import PgBroker
broker = PgBroker("postgresql://user:pass@localhost:5432/db")
단일 DB 전략의 실제 장점
장애 대응이 단순해진다. Redis가 죽었나, PostgreSQL이 죽었나, 아니면 둘 다인가 — 이런 고민이 사라진다. DB 하나면 로그 볼 곳도 하나다.
AI 에이전트 협업이 쉬워진다. Claude한테 “이 코드 고쳐줘” 할 때 “PostgreSQL만 있으면 돼”라고 말하면 즉시 테스트 환경 구성 가능하다. Redis, Celery, Redis Sentinel 설정까지 설명해야 하는 상황과 비교하면 차원이 다르다.
Coolify 배포가 단순해진다.
docker-compose.yml에 서비스 하나 줄어든다는 게 생각보다 크다.
언제 다시 분리할 것인가
초당 수십만 건 캐시 읽기 발생 → Redis 도입
수십억 벡터 밀리초 검색 필요 → Pinecone 도입
그 전까지 → PostgreSQL 하나로 충분
아직 그 수준의 트래픽이 없다면, Redis를 추가하는 건 과잉 설계다.