공대생 정리노트

SQL VS NoSQL 본문

로드맵/DB

SQL VS NoSQL

woojinger 2020. 8. 30. 16:38

참고 자료

https://www.youtube.com/watch?v=ZS_kXvOeQ5Y

https://siyoon210.tistory.com/130


SQL

Structured Query Language

 

특징

  • Strict, clear schema
  • Relation

각 테이블에는 명확한 구조가 존재하고 구조는 필드와 데이터로 구성된다.

이 스키마를 만족시키지 못하는 레코드는 해당 테이블에 추가될 수 없다.

이런 특성 때문에 테이블에 필드를 추가하거나 바꾸기가 어렵다.(기존 데이터들을 바뀐 스키마를 만족시키기 위해 다 바꿔야 함)

 

또한 SQL은 Relation을 통하여 테이블끼리 연결시킨다.

이를 이용하면 각 테이블별로 데이터의 중복을 피할 수 있다.

 

NoSQL

특징

  • No Schema
  • No relation

스키마가 없기에 한 collection에 여러 정보를 포함한 데이터를 다 넣을 수 있고 따라서 테이블간 관계를 형성할 필요가 없다.

그러나 이러한 점 때문에 여러 테이블이 있을 때 데이터가 중복이 되고, 따라서 데이터를 수정할 때 여러 테이블에 대해서 다 업데이트를 해줘야 한다.

 

그러나 조인을 하지 않기 때문에 읽어오는 속도가 빠르다.

 

 

언제 SQL과 NoSQL을 사용할까?

SQL

  • 데이터가 자주 수정되는 경우(NoSQL은 데이터 수정 시 여러 테이블에 대해서 작업을 해야함)
  • 명확한 schema가 필요한 경우

NoSQL

  • 데이터의 필드가 변경될 가능성이 높은 경우
  • 읽기는 자주 하지만 수정은 많이 하지 않는 경우

'로드맵 > DB' 카테고리의 다른 글

Recovery System(1)  (0) 2022.03.19
mongdoDB 내부 캐시  (1) 2022.01.27
mongoDB - 배열 인덱싱  (0) 2022.01.25
Comments