ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CS : DB : RDBMS vs NoSQL
    Computer Science/DB 2021. 4. 20. 16:57
    728x90

     

     

    RDBMS VS NoSQL

     

    • 관계형 DB는 테이블로 이루어져 있고, 데이터의 종속성을 관계(relationship)로 표현하는 것을 말한다.
    • 비 관계형 DB는 테이블 형식 스키마를 사용하지 않는다. 데이터의 형식을 특정 요구 사항에 맞게 최적화된 모델을 사용한다.

     

    • NoSQL이 기존의 RDBMS와 다른 점
      • 스키마가 없다. 즉, 데이터 관계와 정해진 규격이 없다.
      • 관계의 정의가 없기 때문에 join이 불가능하다. 단, (reference 기능 등으로 비슷하게 구현 가능)
      • 트랜잭션을 지원하지 않는다.
      • scale-out을 지원한다.

     

    • NoSQL의 장점
      • join 처리가 없기 때문에, scale-out을 통한 노드 확장이 용이하다.
      • 가변적 데이터 구조로 데이터를 저장할 수 있기 때문에 유연성이 높다.
    • NoSQL의 단점
      • 다양하고 복잡한 쿼리는 불가능하다.
      • 일관성을 항상 보장할 수 없다.

     

    • scale-up : 수직적 확장. 기존의 서버를 더 좋은 HW로 바꾸는 방법
    • scale-out : 수평적 확장. 기존에 사용하던 서버 외의 서버를 추가하여 성능을 높이는 방법

     

     

    • NoSQL의 CAP 이론
      • (C) consistency : DB가 3개로 분산되어 있고, 1개의 DB의 데이터가 수정되면, 나머지 2개의 DB에서도 수정 내용에 대한 처리를 해야 한다.
      • (A) availability : 특정 DB에 장애가 발생하더라도, 서비스가 가능해야 한다.
      • (P) partitions tolerance : 분리 내구성으로, DB간 통신이 실패하더라고, 시스템은 정상 동작해야 한다.
      • C, A, P 중 2가지만 만족 가능하다. (3가지 모두 만족은 불가능)

     

     

    728x90

    댓글

kxmjhwn@gmail.com