← 질문 목록
#230깊이 0
RDB와 NoSQL 중 무엇을 기준으로 선택하는가?
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
RDB냐 NoSQL이냐보다 먼저 데이터 관계, 한 번에 지켜야 할 규칙, 주로 읽는 모양을 적는다. NoSQL은 하나의 데이터베이스 방식이 아니라 문서·키-값·와이드 컬럼·그래프 모델을 묶어 부르는 이름이다.
| 물을 것 | 관계형이 잘 맞는 경우 | 다른 모델을 검토할 경우 |
|---|---|---|
| 관계와 제약 | 조인·외래키·제약으로 여러 엔티티를 함께 지킴 | 함께 바뀌는 한 데이터 묶음에 읽고 쓸 데이터가 모임 |
| 조회 모양 | 조건과 관계가 바뀌어도 질의로 조합 | 접근 경로가 안정적이고 그 모양으로 저장 |
| 트랜잭션 | 여러 행·테이블 사이 규칙이 중요 | 제품이 제공하는 원자성 범위와 비용이 업무에 맞음 |
| 확장 | 복제·파티셔닝 시 조인과 트랜잭션 경계를 다시 확인 | 샤드 키와 분산 질의, 재배치 비용을 확인 |
예를 들어 주문·결제·재고를 여러 관점으로 조회하고 규칙을 함께 지켜야 한다면 관계형 모델이 자연스럽다. 반복해 한 번에 읽는 상품 카탈로그처럼 문서 하나가 일의 경계와 같다면 문서 모델이 더 단순할 수 있다.
관계형은 수직 확장만 하고 NoSQL은 수평 확장만 한다는 구분은 맞지 않는다. 둘 다 복제와 데이터 분할을 쓸 수 있다. 차이는 그 경계를 넘는 조인·트랜잭션·질의에 드는 비용이다.
스키마와 트랜잭션도 제품 분류만으로 단정하지 않는다. MongoDB도 스키마 검증과 여러 문서·샤드를 거치는 트랜잭션을 제공한다. 반대로 그 보장의 범위와 운영 비용은 데이터 모델에 달려 있다. 팀이 안전하게 운영할 수 있는지까지 보고 고른다.