Computer Science/Database

4.SQL과 NOSQL의 차이

성장에 몰입중인 개발자 2022. 1. 7. 16:19

  ∙SQL
   ∘RDBMS에서 데이터를 CRUD할 수 있다
            -데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다.
            -정해진 구조에 맞는 레코드만 추가 가능하다.
            -중복을 피하기 위해 데이터는 관계를 통해 여러 테이블에 분산된다.
            -장점: 데이터 무결성 보장, 데이터를 중복 없이 저장
            -단점: 유연하지 않다. 복잡한 쿼리문 발생 가능, 대체로 수직적 확장만 가능
            -변경 사항이 반영되는 동시에 반영되어야하는 문제 등으로 일관성 보장이 어려워 수평적 
              확장이 어렵다.
            -스키마가 명확하거나 데이터가 자주 변경될 때 유리하다.
  ∙NOSQL
   ∘SQL의 반대로 스키마와 관계가 없다
            -다른 구조의 데이터를 같은 컬렉션에 추가할 수 있다.
            -데이터를 여러 테이블에 나누어 담지 않고 동일한 컬렉션에 넣는다.
            -정보를 나누어 담지 않으므로 JOIN의 개념이 없다.
            -장점: 유연하다. 데이터를 읽어오는 속도가 빠르다. 수직 및 수평 확장 가능
            -단점: 데이터가 중복, 중복 된 데이터를 여러 번 수정
            -데이터 구조가 변경이나 확정 될 수 있거나, 데이터 읽기를 자주 하고 변경은 자주 안할 때 
              유리하다.
  ∙확장
   ∘처리할 작업량이 늘어남에 따라 기능이나 크기를 키우는 것
            ➀수직적 확장: 기능의 확장, 컴퓨터 성능 향상, 스케일업
            ➁수평적 확장: 크기의 확장, 서버를 늘려 병렬 연산, 스케일아웃

 

출처

링크