🟠 RDB
- TABLE모델에 데이터를 저장한다.
- 데이터 중복을 감소.
- 데이터 구조가 엄격하다.
- Oracle, MySQL, PostgreSQL 등.
장점
- 명확학 데이터 구조를 보장.
- 무결성 보장(데이터 중복 없이 한 번만 저장).
- 중복이 없으므로 데이터 Update 용이.
단점
- 시스템이 커지면 Join문이 많은 복잡한 쿼리 발생.
- 수평적 확장이 까다로워 수직적 확장(Scale up)이 주로 사용되는데 비용이 크다.
👉 데이터 구조가 변경될 여지 없이 명확한 경우, 데이터 update가 잦은 시스템에서 사용
🟠NoSQL
- Key-Value, Jason document, 그래프 등의 데이터 저장 형태를 가진다.
- 확장 및 수정 가능성
- 데이터 구조가 유연하다.
- MongoDB, DynamoDB 등.
장점
- 유연하고 자유로운 데이터 구조.
- 새로운 필드 추가 자유로움.
- 수평적 확장(Scale out) 용이.
단점
- 데이터 중복 발생 가능.
- 중복된 데이터가 많으므로 데이터 Update시, 모든 컬렉션에서 수정필요.
- 명확학 데이터 구조를 보장하지 않음.
👉 정확한 데이터 구조가 정해지지 않은 경우, 데이터 update가 자주 이뤄지지 않는 경우, 데이터 양이 매우 많은 경우 사용