핵심 트레이드오프
NoSQL의 단점은 기능 부족보다,
운영 책임이 애플리케이션 쪽으로 이동한다는 점입니다.
수평 확장과 유연한 모델을 얻는 대신, 관계형 DB가 기본으로 처리하던 일관성·연결·표준 질의 규칙 일부를 직접 설계해야 합니다.
NoSQL이 먼저 택한 것
수평 확장
여러 노드로 쉽게 나눠 저장
유연한 스키마
데이터 구조를 빠르게 변경
목적별 모델
키 조회, 문서 조회, 그래프 탐색에 최적화
이 선택 덕분에 특정 패턴은 매우 빨라지지만, 공통 규칙이 약해진 부분은 서비스가 메워야 합니다.
일관성
모든 노드가 같은 순간에 같은 값을 보장하지 않을 수 있습니다.
운영에서 챙길 일
최종 일관성, 재시도, 충돌 해결 규칙을 앱 로직과 업무 흐름 안에서 직접 다뤄야 합니다.
데이터 연결
조인 대신 비정규화와 중복 저장이 늘어나 갱신 지점이 퍼집니다.
운영에서 챙길 일
같은 정보가 여러 레코드에 복제될 수 있어, 쓰기 경로와 동기화 규칙을 따로 설계해야 합니다.
질의·도구
제품별 API와 질의 방식이 달라 SQL처럼 표준화된 경험이 약합니다.
운영에서 챙길 일
복잡한 집계·범위 검색·이식성 문제를 엔진마다 다르게 풀어야 해서 학습 비용과 유지보수 부담이 커집니다.
정리: NoSQL의 단점은 확장성을 위해 관계형 DB의 기본 편의 일부를 포기한 결과로 이해하면 빠릅니다.