NoSQL choice

NoSQL은 제품명이 아니라 접근 패턴으로 고른다

같은 NoSQL이라도 단건 키 조회, 문서 단위 변경, 대량 쓰기, 관계 탐색에 강한 정도가 다르다. 먼저 쿼리 모양을 고정해야 후보가 좁혀진다.

읽기 단위키 하나, 문서 하나, 범위 스캔 중 무엇인가?
쓰기 모양작은 갱신인가, append 중심의 대량 쓰기인가?
관계 깊이조인처럼 여러 연결을 따라가야 하는가?
트랜잭션강한 일관성과 제약을 DB가 맡아야 하는가?
후보 잘 맞는 패턴 약한 지점 선택 전 질문
Key-Value 단건 키 조회 / 세션 / 캐시 복잡한 조건 검색과 관계 탐색 대부분의 요청이 키 하나로 끝나는가?
Document 문서 단위 읽기/변경 문서 사이 조인과 전역 제약 화면이 한 문서 안의 중첩 데이터로 충분한가?
Wide-Column 대량 쓰기, 시간순 조회 임의 조건 검색과 설계 후 쿼리 변경 파티션 키와 정렬 키를 먼저 정할 수 있는가?
Graph 관계 깊이 탐색 단순 집계와 대량 순차 쓰기 핵심 질문이 “누구와 연결됐나”인가?
RDB 제약, 조인, 트랜잭션 스키마 변화가 매우 잦은 비정형 데이터 트랜잭션 제약이 핵심이면 RDB가 기준점

핵심: NoSQL 선택은 “무엇을 저장하나”보다 “어떤 모양으로 계속 읽고 쓰나”에서 시작한다.