본문 바로가기
CS 지식

SQL 과 NoSQL 의 차이

by chanfficial 2023. 1. 8.

SQL (Structured Query Language)

: SQL 은 RDBMS(관계형 데이터베이스 관리 시스템) 의 데이터를 관리하기 위해 설계된 프로그래밍 언어로, NoSQL 보다 오래전부터 사용되어 왔으며 MySQL, PostgreSQL 등이 있다.

  • SQL 에서는 엄격한 스키마(데이터 저장 구조)를 원칙으로 하기 때문에 스키마에 맞지 않는 형식의 데이터는 저장할 수 없다.
  • SQL 은 데이터 사이의 관계를 지정하기 쉬워 각 테이블 간의 관계 지정을 통해 테이블에 접근할 수 있고, 중복 없이 해당 데이터만을 다룰 수 있다.
  • SQL 은 일반적으로 수직정 확장(vertical scale)만을 지원해서, 하드웨어를 업그레이드 하거나 추가하여 서버의 성능을 향상시킬 수 있다.

 


 

NoSQL(Not Only Structured Query Language)

: NoSQL 은 SQL 보다 덜 제한적인 모델을 이용해 데이터의 저장 및 검색 매커니즘을 제공하고 mongoDB, redis 등이 있다.

  • NoSQL 은 스키마가 없기 때문에 다른 구조의 데이터를 추가할 수 있다.
  • NoSQL 은 하나의 컬렉션(SQL 에서의 테이블)에 관련 데이터를 모두 작성하기 때문에 중복된 데이터가 생겨서, 업데이트 시 주의해야 한다.
  • NoSQL 에서는 수평적 확장(horizontal scale)이 가능하여 서버를 추가하면서 데이터베이스를 분산할 수 있다.

'CS 지식' 카테고리의 다른 글

멀티 프로세스와 멀티 스레드의 차이  (0) 2023.01.15
프로세스(Process)와 스레드(Thread)의 차이  (0) 2023.01.15
교착상태(Dead Lock)  (0) 2023.01.08
트랜잭션(Transaction)  (0) 2023.01.02
정규화(Normalization)  (0) 2023.01.02