데이터베이스/DB
SQL vs NoSQL
꿈꾸는개발자@
2021. 9. 28. 10:29
SQL (Structured Query Language)
- RDBMS에서 데이터를 관리하기 위해 설계된 언어
- 데이터는 정해진 스키마에 따라 테이블에 저장된다.
- 스키마에 맞지 않는 형식의 데이터는 저장할 수 없다.
- 데이터는 관계에 따라 여러 테이블에 분산된다. (중복 회피)
- 수직적 확장만을 지원한다.
NoSQL
- 전통적인 RDBMS와 다른 방식으로 데이터베이스를 관리한다.
- 정해진 스키마가 없어서 보다 유연하게 데이터를 추가할 수 있다.
- 다른 구조의 데이터 타입이 컬렉션에 들어갈 수 있다.
- 데이터 중복 위험이 존재한다. (데이터 수정/삭제시 관계된 모든 컬렉션을 수정해야 한다.)
- 조인 연산이 존재하지 않는다. (RDBMS 방식에 비해 데이터 읽는 속도가 빠르다고 볼 수 있다.)
- 수직, 수평적 확장 전부 가능하다.