코드로 우주평화

RDB와 NoSQL를 차이 본문

나는 이렇게 학습한다/DB

RDB와 NoSQL를 차이

daco2020 2022. 3. 18. 21:50
반응형

RDB란?

관계형 데이터베이스는 엄격하게 정의된 스키마를 요구하는 테이블 기반 데이터 구조입니다.

엄격한 스키마로 데이터 중복이 없고, 데이터를 유지보수하는데 효율적입니다. 다만, 시스템이 커지면 join문이 복잡해지고 성능 향상을 하려면 스케일 업만 가능하여 비용이 크게 발생합니다.

 

*스키마(schema)는 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조입니다. -위키-

 

 

그렇다면 NoSQL은 무엇일까요?

NoSQL은 테이블 구조가 아닌 비정형 데이터를 저장할 수 있습니다.

유연하고 자유로운 데이터 구조이나 데이터 수정시 모든 컬렉션에서 수정이 필요하기 때문에 update가 적고 조회가 많은 경우에 유리합니다.

 

 

 

이 둘은 언제 사용하는게 좋을까요?

RDB

  • 데이터 구조가 변경될 여지가 적고 명확한 경우
  • update가 많은 경우
    (구조상 데이터 중복이 없기 때문에 유리)

NoSQL

  • 정확한 데이터 구조가 정해지지 않은 경우
  • update보다 조회가 더 많은 경우
    (업데이트를 하면 모든 데이터를 수정해야하는 번거로움이 있음)
  • 스케일 아웃이 가능하기 때문에 데이터 양이 매우 많은 경우

 

 

결론

데이터 베이스는 서비스의 특징과 맥락에 맞춰 선택 및 혼용하여 사용하는 것이 좋습니다.

반응형