피드로 돌아가기
I built a journaling app where the database deletes your letter the day after we send it. Day 13 of 30.
Dev.toDev.to
Backend

데이터 영속성 제거를 통한 고신뢰성 휘발성 메시징 시스템 설계

I built a journaling app where the database deletes your letter the day after we send it. Day 13 of 30.

Vineet Negi2026년 5월 3일4intermediate

Context

기존 저널링 서비스들의 데이터 영속성 중심 비즈니스 모델로 인한 데이터 누적 및 리텐션 강제 유도 문제 발생. 데이터 보존이 아닌 '완전한 삭제'를 기본값으로 설정하여 사용자 프라이버시와 심리적 가치를 극대화하는 아키텍처 필요성 대두.

Technical Solution

  • Postgres 기반의 단일 테이블 구조를 채택하여 데이터 모델 단순화
  • 배송일 기준 1시간 단위 Cron Job을 통한 메시지 발송 자동화
  • 발송 후 24시간 경과 데이터 및 7일 미확인 초안을 강제 삭제하는 Daily Cron Job 구축으로 데이터 휘발성 보장
  • 인증 토큰 기반의 Identity 설계를 통해 별도의 Account 및 Login 프로세스 제거
  • 수정 및 조회 기능을 완전히 배제한 Write-only 흐름 설계를 통해 데이터 무결성과 서비스 철학 일치
  • Edge Functions를 활용한 경량 로직 처리로 인프라 복잡도 최소화

- 데이터 삭제가 핵심 기능일 경우, Soft Delete가 아닌 Hard Delete를 위한 전용 스케줄러 설계 검토 - 서비스 목적에 따라 영속성(Persistence)을 포기함으로써 얻는 사용자 경험과 보안 이득 분석 - 복잡한 사용자 인증 대신 특정 리소스에 바인딩된 일회성 토큰 기반의 접근 제어 고려

원문 읽기