두가지로 분류할 수 있음
데이터를 행과 열이 있는 표 형태로 저장 ex) 엑셀과 유사
스키마 (Schema)라는 틀에 맞춰서 저장이 됨
- 명확하게 정의된 스키마, 데이터 무결성 보장
- 데이터는 중복없이 한번만 저장
- 덜 유연함, 스키마를 사전에 계획 ( 나중에 수정하기 힘듬 )
- 관계를 맺고 있기 때문에 조인문이 많은 복잡한 쿼리가 만들어질 수 있음
- 대체로 수직적 확장만 가능
관계형 데이터베이스도 한계점을 노출하게 되었으며 이로 인해 새로운 데이터베이스인 NoSQL이 탄생
스키마도 없고 관계도 없음!!
NoSQL : SQL DB가 아닌 모든 DB라는 의미
대표적인 NoSQL DB 종류
장점
- 스키마가 없어서 유연함. 새로운 필드 추가 가능
- 데이터 읽어오는 속도가 빠름
- 수직 및 수평 확장 가능
단점
- 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있음
- 데이터 중복을 계속 업데이트 해야 함
- 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉션에서 수행 해야함
- 관계를 맺고 있는 데이터가 자주 변경되는 애플리케이션의 경우
- 변경될 여지가 없고, 명확한 스키마가 사용자와 데이터에게 중요한 경우
- 정확한 데이터 구조를 알 수 없거나 변경/확장 될 수 있는 경우
- 읽기를 자주 하지만, 데이터 변경은 자주 없는 경우
- DB를 수평으로 확장해야 하는 경우 (막대한 양의 데이터)