ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NoSQL과 RDBMS의 특징과 차이점
    오늘/기술면접주제 2024. 1. 5. 10:46

     

    NoSQL 이란?

    특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 DB

    현대적 어플리케이션 구축을 위한 유연한 스키마를 갖춤

    비관계형 DB

    RDBMS의 한계를 극복하기 위한 새로운 형태

     

     

     

    작동방식

    큰 데이터볼륨, 짧은 지연시간, 유연한 데이터 모델이 필요한 곳에 최적

    다른 DB와 다르게 데이터 일관성 제약 일부를 완화하여 이루어짐

     

     

     

    특징

    1. RDBMS와 달리 데이터간 관계를 정의하지 않음

    2. 분산형 구조

         여러 서버에 데이터를 분산 저장

    3. 유연한 스키마

        데이터를 저장하는 컬럼이 각각 다른 이름과 다른 데이터타입을 갖는 것이 허용됨

     

     

    장점

    1. 유연성 

       유연한 스키마를 제공하여 빠르고 반복적인 개발 가능
       NoSQL DB를 반정형 및 비정형 데이터에 이상적으로 만들어줌

    2. 저렴한 비용

        RDBMS 에 비해 저렴한 비용으로 분산처리, 병렬처리 가능

    3. 빅데이터 처리에 효과적

     

     

    단점

    1. 데이터 업데이트 과정에서 손실 발생 가능

    2. 인덱스가 메모리에 저장되기 때문에 충분한 크기의 메모리가 필요

    3. 데이터 일관성이 항상 보장되지 않음 

     

     

    NoSQL의 종류

    1. K - V DB

       기본적인 패턴,  속도가 빠르며 분산저장에 용이

    2. Wide - Column DB

    3. Document DB

        레코드마다 각각 다른 스키마를 가질 수 있음.

        트맇여 구조로 레코드를 저장하거나 검색하는데 효과

    4. Graph DB

     

     

    차이점

     

    RDBMS 에서 관계는 PK, FK 제약조건으로 정의된다.

    RDBMS 는 중복성을 줄이도록 정규화 되고, 저장에 최적화된 DB가 참조무결성을 실현할 수 있도록 고안됨

     

    NoSQL은 보통 JSON으로 저장됨

    그래서 데이터가 직관적 개발과 수평확장성에 최적화 된다.

     

     

    RDBMS 는 데이터관계를 정의하고 JOIN 연산을 수행할 수 있지만  NoSQL은 JOIN 연산이 불가능

    RDBMS 에 비해 대용량의 데이터 저장가능

     

     

     

     

    출처

    https://aws.amazon.com/ko/nosql/

    https://code-lab1.tistory.com/53

     

    '오늘 > 기술면접주제' 카테고리의 다른 글

    mvc패턴 / PK, FK / HTTP 메서드  (0) 2024.01.09
Designed by Tistory.