본문 바로가기
백엔드/DB

NoSQL

by 작은소행성 2021. 3. 12.

 

NoSQL 을 이용한 구현은 데이터 모델링을 얼마나 잘했느냐가 개발 성공 여부 90%이상을 차지한다.

 

RDBMS에서 도메인 모델 -> [테이블 -> 쿼리] 순서로 진행했다면

NoSQL에서는 도메인 모델 -> [쿼리 결과 -> 테이블] 순서로 테이블을 디자인 해야 한다.

 

 

NoSQL은 쿼리의 효율성을 위해서 데이터를 정규화 하지 않고

의도적으로 중복된 데이터를 저장하는 등의 비정규화된 데이터 모델 설계 방식으로 접근해야 한다. 

 

NoSQL 에는 ORDER BY, GROUP BY 를 이용한 그룹화, 조인 기능이 없다.

 

 

 

NoSQL 모델링 패턴

 

1. 역정규화

 - 같은 데이터를 중복해서 저장하는 방식

 - 테이블 간의 조인 없앨 수 있다.

 - 하나의 테이블에 조인 될 데이터를 중복 저장하게 되면 1번의 IO로도 데이터를 가지고 올 수 있다.

 - NoSQL의 경우 조인이 어렵고 어플리케이션

 

 

장점

 - 성능향상

 - 쿼리 로직의 복잡도가 낮아짐

 

단점

 - 데이터 일관성 문제 발생 가능

 - 스토리지 용량 증가

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형