Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 1.85 KB

sqlvsnosql.md

File metadata and controls

30 lines (23 loc) · 1.85 KB

관계형 데이터베이스와 비 관계형 데이터베이스의 차이점

관계형 데이터베이스

고정된 로우와 컬럼으로 구성된 테이블에 데이터를 저장한다.
그리고 SQL을 사용하여 여러 테이블에 존재하는 데이터와 관계에 따라서 조인하여 합칠 수도 있다.
관계형 데이터베이스는 데이터를 중복 없이 한 번만 저장하고, 데이터 무결성을 보장한다.
관계형 데이터베이스의 경우 일반적으로 스케일 업을 사용하여 확장한다.
관계형 데이터베이스는 스키마를 유연하게 바꾸기 어렵다는 한계가 존재이다.
또한, 관계가 존재하기 때문에 비즈니스 요구사항이 더욱 발전하면 복잡한 쿼리가 생기게 된다.

비 관계형 데이터베이스

NoSQL이라고 불리기도 한다. 정해진 스키마가 존재하지 않으며 자유롭게 데이터를 저장하고 조회할 수 있다.
문서, 키-값, 와이드 컬럼, 그래프 유형이 존재한다. 대량의 데이터와 높은 사용자 부하에서도 손쉽게 확장할 수 있다.
반면 중복을 허용하는 NoSQL의 경우 데이터의 일관성이 저하되며 용량이 증가한다는 단점이 존재한다.

각 유형의 데이터베이스를 사용하는 상황

  • 데이터가 구조화 되어 있음
  • 자주 변경되지 않음
  • 트랜잭션과 복잡한 쿼리
  • 데이터 무결성과 일관성이 중요한 경우

⇒ 관계형 데이터베이스를 선택한다.

( 트랜잭션이 필요한 서버 애플리케이션을 개발하는 경우가 대표적인 예 )

  • 아주 낮은 응답 지연시간이 요구됨
  • 다루는 데이터의 스키마가 빈번히 변경됨
  • 아주 많은 양의 데이터를 저장해야 하는 상황

⇒ 비 관계형 데이터베이스를 고려할 수 있다.