피드로 돌아가기
Dev.toBackend
원문 읽기
MongoDB Time-Series 및 비동기 큐 도입으로 응답 속도 90% 개선
I Launched My Analytics Tool 3 Months Ago. It Got 1 Upvote. Here's What I Rebuilt.
AI 요약
Context
동기식 MongoDB 쓰기 구조와 일반 문서 스키마 사용으로 인한 API 응답 지연 및 쿼리 성능 저하 발생. 데이터 성격(시계열 vs 관계형)을 구분하지 않은 단일 DB 구조로 인해 데이터 무결성 및 관리 효율성 결여.
Technical Solution
- MongoDB Time-Series Collection 도입을 통한 시계열 데이터 최적화 및 인덱스 기반 범위 쿼리 성능 확보
- BullMQ와 Redis 기반의 메시지 큐 아키텍처 구축을 통한 쓰기 작업의 비동기 처리 및 API 응답 시간 단축
- PostgreSQL(Supabase)을 추가한 Polyglot Persistence 전략으로 계정 및 설정 등 관계형 데이터의 ACID 트랜잭션 보장
- Cloudflare CDN과 Nginx 리버스 프록시 구성을 통한 글로벌 엣지 딜리버리 및 인프라 안정성 강화
- 데이터 라이프사이클 관리를 위한 내장 TTL 설정으로 6개월 경과 데이터의 자동 삭제 구현
실천 포인트
1. 시계열 데이터 처리 시 일반 Document 대신 Time-Series 전용 컬렉션 검토
2. 요청 핸들러 내의 동기식 DB 쓰기 로직을 Queue 기반 비동기 구조로 분리
3. 관계형 데이터와 로그성 데이터를 분리하여 저장하는 Polyglot Persistence 적용 고려
4. 데이터 보존 정책(Retention Policy)을 위한 TTL 설정 적용 여부 확인