공대생 정리노트
SQL VS NoSQL 본문
참고 자료
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