SQL
특징
- 정해진 스키마에 따라 테이블에 저장
- 관계를 통해 여러 테이블에 분산
- 스키마를 준수하지 않는 레코드는 테이블 추가 불가
장점
- 명확한 스키마로 인한 데이터 무결성 보장
- 관계를 사용해 각 데이터를 중복없이 저장
단점
- 유연하지 않다
- 조인이 많은 복잡한 쿼리
- 일반적으로 scale up만 가능
사용
- 관계를 맺은 데이터가 자주 변경되는 경우
- 변경 가능성이 없고, 명확한 스키마가 중요한 경우
NoSQL
장점
- 스키마가 없어 유연
- 데이터 조회 속도 증가
- scale up, scale out이 가능하다.
단점
- 데이터 중복을 고려해야 한다.
- 이로 인해 데이터 수정 시 모든 컬렉션에서 수행
사용
- 변경 및 확장이 필요한 경우
- 조회만 자주 하는 경우
- 수평적 확장이 필요한 경우