Contents

RDB 와 NoSQL에 대하여

   Jun 27, 2023     0 min read

RDB와 NoSQL의 차이에 대한 글입니다.

크게 4가지로 나눌 수 있습니다.

  1. 데이터 모델: RDB: RDB는 테이블 형태로 데이터를 구조화합니다. 테이블은 행과 열의 구조로 데이터를 저장하며, 정해진 스키마에 따라 데이터가 관리됩니다. 테이블 간에 관계를 설정하여 데이터를 연결할 수 있습니다. NoSQL: NoSQL은 다양한 데이터 모델을 지원합니다. 주로 키-값(Key-Value), 문서(Document), 열(Column), 그래프(Graph) 등의 데이터 모델을 사용합니다. NoSQL은 스키마가 유연하며, 데이터 간의 관계를 강제하지 않습니다.
  2. 확장성: RDB: RDB는 주로 수직적 확장을 사용합니다. 즉, 서버의 성능을 향상시키기 위해 하드웨어 업그레이드를 수행합니다. 수평적 확장은 더 복잡한 구성과 데이터 파티셔닝이 필요합니다. NoSQL: NoSQL은 수평적 확장에 더 적합합니다. 여러 대의 서버에 데이터를 분산하고 병렬 처리하여 성능과 확장성을 높일 수 있습니다.
  3. 스키마 유연성: RDB: RDB는 데이터 스키마를 미리 정의해야 합니다. 데이터의 구조와 유형을 엄격하게 지정하여 데이터 일관성을 유지합니다. NoSQL: NoSQL은 스키마가 유연합니다. 새로운 필드를 추가하거나 기존 필드를 변경하는 등의 유연한 데이터 모델 변경이 가능합니다.
  4. 트랜잭션과 일관성: RDB: RDB는 ACID 원칙을 준수하여 데이터 일관성과 트랜잭션의 원자성을 보장합니다. 여러 작업을 하나의 트랜잭션으로 묶을 수 있습니다. NoSQL: NoSQL은 트랜잭션과 일관성 보장을 위해 다소 유연한 접근 방식을 사용합니다. NoSQL 데이터베이스는 일관성 모델(Consistency Model)을 선택할 수 있으며, 범위를 조정하여 일관성과 성능 사이의 트레이드오프를 조정할 수 있습니다.