본문 바로가기
-

RDB(Relational Database)와 NoSQL(Not Only SQL)의 특징과 차이점

by dong_su 2023. 12. 6.

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

1. 데이터 모델

  • 테이블: 데이터는 정해진 스키마에 따라 행과 열로 구성된 테이블에 저장됩니다.
  • 관계: 여러 테이블 간의 관계를 통해 데이터가 연결됩니다.

2. 스키마

  • 고정된 스키마: 데이터베이스 스키마는 미리 정의되고 고정되어 있어야 합니다. 즉, 데이터의 구조가 변경되면 전체 시스템을 업데이트해야 합니다.

3. 트랜잭션

  • ACID 속성: 트랜잭션은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)과 같은 ACID 속성을 보장합니다.

4. 용도

  • 복잡한 쿼리 및 조인: 대부분의 관계형 데이터베이스는 복잡한 쿼리와 다양한 연산을 지원하여 복잡한 데이터 구조를 다루기에 적합합니다.
  • 트랜잭션 처리: 금융, 주문, 회계 등과 같이 데이터 일관성이 중요한 업무에 적합합니다.

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

1. 데이터 모델

  • 다양한 모델: 문서, 키-값, 열 지향, 그래프 등 다양한 데이터 모델을 지원합니다.
  • 최소한의 스키마: 대부분의 NoSQL 데이터베이스는 스키마가 덜 제한적이거나 유연한 스키마를 사용합니다.

2. 스키마

  • 동적인 스키마: 필요에 따라 동적으로 스키마를 변경할 수 있습니다.

3. 트랜잭션

  • 유연한 트랜잭션: 일부 NoSQL 데이터베이스는 느슨한 일관성 모델을 따르며 ACID 속성보다는 유연성과 성능을 중시합니다.

4. 용도

  • 대용량 및 분산 데이터: 대량의 데이터를 처리하거나 확장성이 중요한 경우에 적합합니다.
  • 빠른 읽기 및 쓰기: 일부 NoSQL 데이터베이스는 빠른 읽기 및 쓰기를 지원하여 대규모 데이터에 대한 높은 처리량을 제공합니다.

결론)

  • RDB는 정해진 스키마가 존재, NoSQL은 정해진 스키마가 없거나 동적으로 변경 할 수 있습니다.
  • RDB는 정형화된 데이터에 적합하며, 복잡한 쿼리와 트랜잭션 처리에 강점을 가집니다.
  • NoSQL은 비정형 또는 반정형 데이터에 적합하며, 대용량 데이터 처리와 높은 확장성이 필요한 경우에 적합합니다.
  • 선택은 사용 사례와 요구 사항에 따라 달라지며, 프로젝트의 성격과 데이터 모델에 따라 적절한 데이터베이스를 선택해야 합니다.