-
[db] SQL과 NoSQLJavascript/Node.js and Express 2021. 7. 30. 17:02
SQL
- 고정된 스키마가 존재해서 들어오는 데이터에 대한 검증이 가능하다
- 테이블간 데이터의 관계가 존재한다.
- 예) A라는 테이블의 username과 B라는 테이블의 username은 동일한 데이터이다.
- 때문에 일명 데이터의 무결성이라고, username을 수정하면 A와 B테이블의 데이터는 같이 바뀐다. (같은 데이터이기 때문에)
NoSQL
- 스키마가 존재하지 않는다
- 하지만 mongodb의 경우 mongoose를 통해 Schema(model)을 지정할수 있다.
- 관계 또한 존재하지 않는다
- 때문에 username을 수정할 경우 테이블 A, B의 username을 각각 따로 따로 수정해줘야한다.
이러한 성격차이로 인해 두 종류의 데이터베이스에는 성능 차이가 존재한다.
기본적으로 읽어오는 속도는 NoSQL이 더 빠르고 가볍다.
또한 NoSQL은 기본적으로 스키마가 존재하지 않기 때문에
확장이 용이하고 유연하다는 평가를 받는다.
SQL은 데이터의 무결성을 보장하며 데이터의 연결성을 확인하고
검증된 데이터를 보관할때 좋다고 판단된다.
또한 여러가지 테이블에 흩부려진 하나의 데이터는 동일한 데이터 이기에 수정이
잦은 데이터관리라면 훨씬 편리하고 안전할 것이다.
역사적으로 봤을때 SQL은 70년대, NoSQL은 90년대에 등장했다.
하지만 NoSQL이 진보된 형태라고 볼수 없고 수많은 데이터 종류 중 하나일뿐이다.
'Javascript > Node.js and Express' 카테고리의 다른 글
[Node] Error: listen EADDRINUSE: address already in use :::3000 (0) 2021.12.29 [api] Swagger (0) 2021.07.30 dotenv와 gitignore (0) 2021.07.29 Socket.io 와 실시간 커뮤니케이션 (realTime) (0) 2021.07.28 Web RTC와 Video, Audio communication (0) 2021.07.28