NoSQL은 제품명이 아니라 접근 패턴으로 고른다
같은 NoSQL이라도 단건 키 조회, 문서 단위 변경, 대량 쓰기, 관계 탐색에 강한 정도가 다르다. 먼저 쿼리 모양을 고정해야 후보가 좁혀진다.
| 후보 | 잘 맞는 패턴 | 약한 지점 | 선택 전 질문 |
|---|---|---|---|
| Key-Value | 단건 키 조회 / 세션 / 캐시 | 복잡한 조건 검색과 관계 탐색 | 대부분의 요청이 키 하나로 끝나는가? |
| Document | 문서 단위 읽기/변경 | 문서 사이 조인과 전역 제약 | 화면이 한 문서 안의 중첩 데이터로 충분한가? |
| Wide-Column | 대량 쓰기, 시간순 조회 | 임의 조건 검색과 설계 후 쿼리 변경 | 파티션 키와 정렬 키를 먼저 정할 수 있는가? |
| Graph | 관계 깊이 탐색 | 단순 집계와 대량 순차 쓰기 | 핵심 질문이 “누구와 연결됐나”인가? |
| RDB | 제약, 조인, 트랜잭션 | 스키마 변화가 매우 잦은 비정형 데이터 | 트랜잭션 제약이 핵심이면 RDB가 기준점 |
핵심: NoSQL 선택은 “무엇을 저장하나”보다 “어떤 모양으로 계속 읽고 쓰나”에서 시작한다.