RDBMS와 NoSQL의 장단점

Chan·2023년 2월 19일
0

DB

목록 보기
1/1
post-thumbnail

SQL

  • 관계형 데이터베이스 관리

RDBMS

  • 관계형 데이터베이스 (SQL)
    • 관계를 나타내기 위해 외래 키 (foreign Key) 사용
    • fk를 이용하여 table 간 Join이 가능하다.
    • Scale-in (데이터를 분산하여 저장 X → 비용 문제에서 많이 든다. )

NoSQL

  • 관계형 데이터베이스 x

    • Scale-out ( 데이터를 분산하여 저장 )
  • 대표적인 예

    • MongoDB
  • Key-Value Database

    • 데이터가 Key와 Value의 쌍으로 저장
      • ex) NoSQL Key-Value 모델로는 Redis, Riak, Amazon Dynamo DB 등
  • Document Database

    • Key와 Document로 저장
  • Wide Column Database

  • Graph Database

    • Node와 Edge, Property와 함께 그래프 구조를 사용
    • ex)
      • Neo4j

RDBMS와 NoSQL의 장단점

RDBMS

장점

  • 또한 관계는 각 데이터를 중복없이 한 번만 저장 가능
  • 스키마에 따라 데이터를 저장해야 하므로 명확한 데이터 구조 보장

단점

  • 테이블간테이블 간 관계를 맺고 있어 시스템이 커질 경우 복잡한 쿼리 생성
  • 성능 향상을 위해서는 Scale-up만을 지원
  • 스키마로 인해 데이터가 유연하지 못함

NoSQL

장점

  • NoSQL에서는 스키마가 없기 때문에 유연하며 자유로운 데이터 구조 가짐
  • 데이터 분산이 유용하며 Scale-up 뿐만 아니라 Scale-out또한 가능

단점

  • 데이터 중복이 발생할 수 있으며 중복된 데이터가 변경될 경우 수정을 모든 컬렉션에서 수정
  • 스키마가 존재하지 않기 때문에 명확한 데이터 구조를 보장하지 않는다.

RDBMS, NoSQL 언제 사용?

  • RDBMS
    • 데이터 구조가 명확하며 변경될 여지가 없는 곳
    • 관계를 맺고 있는 데이터가 자주 변경될 여지가 있는 곳
    • EX) 넷플릭스
  • NoSQL
    • 정확한 데이터 구조 알 수 없고 데이터 변경, 확장이 용이한 데 사용
    • 막대한 데이터를 저장해야 하는 곳
    • EX) 인스타그램

0개의 댓글