닭발족발 나는 개발
article thumbnail
Published 2024. 1. 18. 10:21
[간단정리]RDB vs NoSQL 📍 간단정리

RDB vs NoSQL

RDB(Relational Database)와 NoSQL은 데이터베이스 시스템의 두 주요 유형을 나타냅니다. 각각은 데이터를 저장하고 관리하는데 다른 접근 방식을 채택하고 있습니다.

RDB (Relational Database):

  1. 데이터 모델:
    • 테이블 기반의 데이터 모델을 사용합니다. 데이터는 열과 행으로 구성된 테이블에 저장됩니다.
  2. 스키마:
    • 강력한 스키마를 갖추고 있습니다. 데이터의 구조를 사전에 정의하고, 데이터의 일관성을 유지하기 위해 강력한 제약 조건을 제공합니다.
  3. 트랜잭션 지원:
    • ACID 속성을 준수하여 데이터 일관성과 안전성을 보장합니다. 트랜잭션 처리가 가능하며, 롤백 및 복구 기능을 지원합니다.
  4. SQL 쿼리 언어:
    • SQL(Structured Query Language)를 사용하여 데이터를 조회, 삽입, 갱신, 삭제하는 등의 작업을 수행합니다.
  5. 수직 확장:
    • 주로 수직 확장을 통해 성능을 향상시킵니다. 단일 서버의 성능을 증가시키는 방식입니다.

NoSQL (Not Only SQL):

  1. 데이터 모델:
    • 다양한 데이터 모델을 지원합니다. 주로 문서, 키-값, 와이드 컬럼, 그래프 등 다양한 형태의 데이터 모델을 사용합니다.
  2. 스키마 유연성:
    • 스키마가 유연하며 동적으로 데이터를 추가할 수 있습니다. 즉, 각 데이터 항목이 다른 필드를 가질 수 있습니다.
  3. 트랜잭션 처리의 한계:
    • 몇몇 NoSQL 데이터베이스는 ACID 속성을 완전히 준수하지 않거나, 일부 속성을 제한적으로 지원합니다.
  4. 다양한 쿼리 언어:
    • NoSQL 데이터베이스마다 다양한 쿼리 언어를 사용합니다. SQL과 유사한 기능을 갖춘 데이터베이스도 있지만, 일부는 자체 쿼리 언어를 사용합니다.
  5. 수평 확장:
    • 주로 수평 확장을 통해 대용량 데이터 처리에 대응합니다. 여러 서버에 데이터를 분산하여 확장하는 방식입니다.

언제 어떤 것을 선택할까요?

  • RDB 사용 시:
    • 정형화된 데이터 구조가 필요한 경우.
    • 데이터 일관성과 안전성이 중요한 경우.
    • 복잡한 조인 연산이 필요한 경우.
  • NoSQL 사용 시:
    • 비정형 데이터 또는 데이터 구조가 자주 변경되는 경우.
    • 수평 확장이 필요한 대용량 분산 시스템인 경우.
    • 빠른 개발과 유연한 스키마가 필요한 경우.

'📍 간단정리' 카테고리의 다른 글

[간단정리] DB 부하관리  (0) 2024.01.17
[간단정리] 정규화 vs 비정규화  (0) 2024.01.17
profile

닭발족발 나는 개발

@잘먹는다a

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!