핵심 요약
여기어때가 MongoDB 원칙에 따라 문서를 도메인 단위로 통합하고, 부분 갱신으로 동기화를 재설계해 읽기 성능은 유지하고 쓰기 비용은 관리하는 아키텍처를 구현했습니다.
구현 방법
- 도메인 단위로 문서를 구성하고 16MB 한계와 조회 패턴에 맞춤
- 공용 변환 함수로 동기화별 갱신 로직을 공유
- 필드 단위 갱신: 필요한 필드만 업데이트하고, 비어 있는 부모는 unset으로 제거
- bulkWrite(ordered: false)로 다건 갱신을 묶어 처리
주요 결과
- 전체 동기화 시간은 v1 대비 약 1시간에서 10분 수준으로 단축
- 문서 단위 갱신으로 쓰기 비용 및 조인 부담 감소
- 도메인 단위 구성으로 조회 응답성과 시스템 안정성 향상
