8.1 NoSQL vs SQL
[SQL]
SQL는 관계형 데이터베이스로 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색할 수 있다.
관계형 데이터베이스에는 핵심적인 두 가지 특징이 있다.
- 데이터는 정해진 데이터 스키마에 따라 저장된다.
- 데이터는 관계를 통해 여러 테이블에 분산된다.
장점
명확하게 정의된 스키마, 데이터 무결성 보장
관계는 각 데이터를 중복없이 한번만 저장
단점
관계를 맺고 있어서 조인문이 복잡
덜 유연하여 데이터 스키마를 사전에 계획하고 알려줘야함 (수정하기 힘듬)
[NoSQL]
NoSQL은 비관계형 데이터베이스로 SQL을 사용하지 않는 데이터베이스를 NoSQL이라고 한다.
스키마도 없고 관계도 없다.
비관계형 데이터베이스의 특징
- 레코드를 문서라고 부른다.
- 테이블을 컬렉션이라고 부른다.
- 다른 구조의 데이터를 같은 컬렉션에 추가할 수 있다.
장점
여러 컬렉션에 조인할 필요 없이 이미 필요한 모든 데이터를 갖춘 문서를 작성한다.
데이터를 빠르게 넣을 수 있고, 쉽게 여러 서버에 데이터를 분산할 수 있다.
단점
데이터가 중복될 수 있기 때문에 불안정하다.
SQL(MySQL) | NoSQL(몽고디비) |
규칙에 맞는 데이터 입력 테이블 간 JOIN 지원 안정성, 일관성 용어(테이블, 로우, 컬럼) |
자유로운 데이터 입력 컬렉션 간 JOIN 미지원 확장성, 가용성 용어(컬렉션, 다큐먼트, 필드) |
ex) MySQL 경우 테이블을 만들 때 컬럼과 자료형 옵션등을 정의하지만 몽고디비의 경우 컬렉션만 만들면 어떠한 데이터든 들어갈 수 있다.
728x90
반응형
'Programming > NodeJS' 카테고리의 다른 글
Node.js 교과서 [NoSQL] #8 [몽고디비] (0) | 2024.03.30 |
---|---|
Node.js 교과서 복습 (1) | 2024.02.25 |
Node.js 교과서 [MySQL] #7 (1) | 2024.02.17 |
Node.js 교과서 [Express, Middleware, Route, 템플릿 엔진] #6 (1) | 2024.02.11 |
Node.js 교과서 [npm] #5 (0) | 2024.02.10 |