ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • RDB(관계형 데이터베이스) NoSQL(비관계형 데이터베이스) 비교
    데이터베이스 2023. 2. 3. 15:25

    RDB(관계형 데이터베이스)

    특징

    • 관계형 데이터베이스는 여러 컬럼을 가지는 레코드를 하나의 테이블에 한다.
    • 정규화를 통해 여러 테이블에 데이터를 분산하여 저장한다.

    장점

    • 데이터의 무결성을 보장한다.
    • 중복이 적은 데이터에 대해 인덱스를 통해 빠른 정렬이 가능하다.

    단점

    • 초기에 생성한 스키마를 나중에 수정하기 어렵다. 
    • 데이터베이스 모델링이 완료되어야 이후 개발작업 수행이 가능하다.
    • JOIN을 통해 복잡한 쿼리를 만들어야 하는 경우가 생기고 인덱스가 있어도 인덱스가 잡힌 열에 카디널리티가 낮다면 조회 성능이 낮다.

     

    NoSQL(비관계형 데이터베이스)

    특징

    • 테이블을 나눌 필요없이 동일한 컬렉션에 데이터를 저장한다.
    • 정규화를 통해 여러 테이블에 데이터를 분산하여 저장한다.

    장점

    • 대용량 데이터 처리를 하는데 효율적이다.
    • 관계형 데이터베이스에 비해 쓰기와 읽기 성능이 빠르다.
    • 데이터 모델링이 유연하고 복잡한 데이터 구조를 표현할 수 있다.

    단점

    • 유연함으로 인해 데이터 구조 결정이 어렵다.
    • NoSQL 마다 다른 언어로 인해 이식성이 낮다.

     

    RDB vs NoSQL

    RDB를 사용하는 경우

    • 관계를 맺고 있는 데이터가 자주 변경된다.
    • 무결성이 보장되는 데이터 구조가 중요하다.

    NoSQL을 사용하는 경우

    • 정확한 데이터 구조를 알 수 없거나, 확장 가능성이 있는 경우
    • 읽기 작업이 빈번하지만, 데이터를 자주 변경할 필요가 없는 경우(ex, 세션 정보)
    • 대용량 데이터 작업 및 수평적 확장이 필요한 경우 (ex, 검색 로그 처리)

    '데이터베이스' 카테고리의 다른 글

    트랜잭션(Transaction)이란?  (0) 2023.02.03
    [MySQL] 인덱스(index) 에 대해서  (0) 2019.12.04
    [mybatis] @Alias 어노테이션에 대해  (1) 2019.10.31
Designed by Tistory.