핵심 정리

데이터 모델은 하나를 고정 선택하는 것이 아니라, 역할별 요구에 맞춰 나눠 쓰는 구조로 읽어야 합니다.

먼저 어떤 데이터인지와 어떻게 조회되는지를 보고 모델을 고른 뒤, 한 시스템 안에서도 저장소를 분리해 각 역할에 맞는 장점을 가져갑니다.

무엇을 보고 선택하나?

기준 1

데이터 특성

정형 데이터인지, 문서처럼 구조가 자주 바뀌는지에 따라 적합한 모델이 달라집니다.

기준 2

질의 패턴

조인 중심 조회, 키 기반 즉시 접근, 전문 검색처럼 자주 수행하는 연산이 선택을 좌우합니다.

기준 3

확장성 요구

트래픽 증가에 맞춰 수평 확장이 쉬워야 하는지, 한 서버에서 강한 제어가 중요한지 따집니다.

기준 4

일관성 수준

즉시 정확해야 하는 데이터인지, 약간 늦게 맞아도 되는지에 따라 저장 전략이 달라집니다.

하나의 서비스에서 어떻게 함께 쓰나?

공통 출발점: 하나의 애플리케이션

같은 시스템이라도 데이터의 역할이 다르면 저장소를 분리해 운영합니다.

관계형 DB 사용자 정보 정합성과 제약 조건이 중요하므로 트랜잭션과 스키마 관리가 잘 맞습니다.
Redis 세션 캐시 짧은 응답 시간과 빠른 읽기·쓰기가 중요하므로 메모리 기반 저장이 유리합니다.
Elasticsearch 검색 로그 대량 적재와 검색 분석이 중요하므로 색인 중심 구조가 더 적합합니다.

결론적으로 다중 모델(Polyglot Persistence)은 여러 DB를 섞어 쓰는 유행어가 아니라, 데이터마다 필요한 일관성·속도·검색 방식을 분리해 운영하는 설계 방식입니다.