SQL
structured query language
테이블이 있음
행과 열이 있음
예 ) MySQL, PostgreSQL SQLite
NoSQL
(Not only SQL) : 단순히 기존 관계형 DBMS가 갖고있는 특성뿐만 아니라, 다른 특성들을 부가적으로 지원하고 있다
document DB
- Document Database는 값을 문서로 저장한다는 점이다. 여기서 문서란 semi-structured entity이며 보통 JSON이나 XML 같은 표준 형식
을 말한다.
- 예 ) mongoDB
- 데이터를 json document 로 저장함
- 어떤 종류의 어떤 모양의 데이터 저장 가능 (sql은 데이터 저장에 있어 엄격함)
key value DB
- cassandra DB
- 읽고 쓰기가 매우 빠름
- 엄청 많은 양의 데이터를 빠르ㅔ 저장하고 빠르게 읽어야함
- Dynamo DB
- AWS에서 개발한 서버리스 분산된 key value DB
- 많이 써야하고 많이 읽어야할 때
- 어떤 종류의 DB를 얻을 수 있는지가 좀 제한적임
- 저장하기 전에 어떻게 얻을 것인지 고민이 필요함 (DB에서 무엇을 얻을것인지 미리 생각해놔야함)
graph DB
- 각 노드 사이의 관계를 알아야할 때
- 소셜 네트워크 (페이스북) 만들때 필요함
- 페이스북이 만든 DB : Tao

기억할 점
-
sql 사용시,
- 데이터는 정해진 데이터 스키마에 따라 테이블에 저장됨 ( = 스키마를 준수하지 않은 레코드는 테이블에 추가할 수 없음)
- 데이터는 관계를 통해 여러 테이블에 분산됨
-
NoSQL은,
- 스키마도 없고 관계도 없음
- 다른 구조의 데이터를 같은 컬렉션에 추가 가능함
- 수평적 확장이 용이함
참고자료 https://www.youtube.com/watch?v=Q_9cFgzZr8Q&t=237s