본문 바로가기
전산 관련 시험/전산학(컴퓨터일반) 개념정리

[DB] RDBMS (관계형 DB) VS NoSQL (비관계형 DB)

by 응_비 2024. 9. 10.

CAP 이론분산 시스템에서 세 가지 주요 특성인 일관성(Consistency), 가용성(Availability), 파티션 허용성(Partition Tolerance) 중에서 두 가지만 동시에 완벽하게 만족시킬 수 있다는 것을 설명하는 이론입니다. 이 이론을 기반으로 RDBMS(관계형 데이터베이스)와 NoSQL(비관계형 데이터베이스)을 비교하면, 각 데이터베이스가 어떤 특성을 중점적으로 고려하는지 명확히 알 수 있습니다.

CAP 이론 요약

  1. 일관성(Consistency): 모든 노드가 같은 시점에 동일한 데이터를 반환해야 합니다. 데이터 변경이 발생하면, 모든 노드에서 즉시 업데이트되어야 합니다.
  2. 가용성(Availability): 모든 요청에 대해 항상 응답할 수 있어야 합니다. 일부 노드가 실패해도 시스템은 동작해야 합니다.
  3. 파티션 허용성(Partition Tolerance): 네트워크 분할(파티션)이 발생하더라도 시스템은 동작해야 합니다. 즉, 노드 간 통신이 일시적으로 불가능하더라도 시스템이 지속적으로 데이터를 처리할 수 있어야 합니다.

CAP 이론에 따르면, 분산 시스템은 일관성, 가용성, 파티션 허용성 중 두 가지만 선택할 수 있으며, 세 가지를 모두 만족하는 시스템은 존재할 수 없습니다.


RDBMS와 CAP 이론

RDBMSACID(Atomicity, Consistency, Isolation, Durability) 원칙을 준수하는 관계형 데이터베이스로, 보통 중앙 집중식 시스템 또는 소규모의 분산 시스템에서 사용됩니다.

  • 일관성(Consistency): RDBMS는 강한 일관성을 보장합니다. 트랜잭션을 통해 데이터의 무결성을 유지하며, 데이터 변경이 발생하면 즉시 모든 사용자가 일관된 데이터를 볼 수 있습니다.
  • 가용성(Availability): RDBMS는 일반적으로 단일 서버나 소수의 노드에서 작동하므로, 시스템 가용성은 보장되지만, 서버나 네트워크에 장애가 발생하면 전체 시스템이 작동을 멈출 수 있습니다. 분산 환경에서 가용성을 확보하기 위해 고가용성 클러스터를 구성할 수 있지만, 그 자체로 복잡성이 증가합니다.
  • 파티션 허용성(Partition Tolerance): RDBMS는 네트워크 분할 상황에서 강한 일관성을 유지하려 하기 때문에 파티션 허용성은 상대적으로 약합니다. 네트워크 장애가 발생하면 시스템이 일관성을 보장하기 위해 가용성을 희생할 수 있습니다.

CAP 특성:

  • CP(일관성 + 파티션 허용성): RDBMS는 분산 환경에서 일관성을 유지하기 위해 가용성을 희생하는 경우가 많습니다. 예를 들어, 네트워크 장애 시에는 시스템의 일부 기능이 중단될 수 있지만, 데이터의 일관성은 유지됩니다.

NoSQL과 CAP 이론

NoSQL은 관계형 데이터베이스의 제약을 벗어나, 성능과 확장성을 중요시하는 비관계형 데이터베이스로, 다양한 유형이 존재합니다(예: 키-값 저장소, 문서형 데이터베이스, 그래프 데이터베이스 등).

  • 일관성(Consistency): 많은 NoSQL 시스템에서는 **최종 일관성(Eventual Consistency)**을 채택합니다. 즉, 모든 노드가 즉시 일관된 데이터를 제공하지는 않지만, 일정 시간이 지나면 결국 모든 노드가 일관된 상태에 도달하게 됩니다.
  • 가용성(Availability): NoSQL은 가용성을 우선시하는 경우가 많습니다. 일부 노드가 장애를 겪거나 네트워크가 분리되어도 다른 노드에서 요청을 처리할 수 있도록 설계되었습니다. 이를 통해 시스템이 항상 응답을 보장할 수 있습니다.
  • 파티션 허용성(Partition Tolerance): NoSQL은 일반적으로 대규모 분산 시스템에서 사용되므로, 네트워크 분할이 발생해도 데이터를 처리할 수 있도록 파티션 허용성을 보장합니다. 이는 시스템의 가용성을 높이는 중요한 요소입니다.

CAP 특성:

  • AP(가용성 + 파티션 허용성): NoSQL 시스템은 네트워크 분할 상황에서도 서비스 가용성을 유지하는 것을 목표로 하며, 이 과정에서 강한 일관성을 희생하는 경우가 많습니다. 예를 들어, 네트워크 장애 중에는 각 노드가 독립적으로 데이터를 처리할 수 있지만, 일관성이 즉시 보장되지 않을 수 있습니다.

비교 요약

특성RDBMS (관계형 DB)NoSQL (비관계형 DB)

일관성(C) 강한 일관성 보장 (CP) 최종 일관성 (AP)
가용성(A) 가용성보다 일관성 중시 가용성 중시 (AP)
파티션 허용성(P) 파티션 허용성 약함 파티션 허용성 중시

선택 기준

  • RDBMS는 데이터 무결성과 일관성이 중요한 금융 시스템, 은행 거래 시스템 등에서 선호됩니다. 이는 CP 시스템으로, 분산 환경에서의 네트워크 장애가 발생하면 일관성을 유지하기 위해 서비스 중단이 있을 수 있지만, 일관된 데이터를 보장합니다.
  • NoSQL은 확장성과 가용성이 중요한 소셜 네트워크, 빅데이터 처리, 분산 웹 애플리케이션에서 주로 사용됩니다. AP 시스템으로, 네트워크 분할 시에도 시스템 가용성을 유지하며 일관성은 시간이 지나면서 점진적으로 확보됩니다.

따라서 RDBMS와 NoSQL은 각각의 특성과 목적에 따라 선택되며, CAP 이론은 분산 시스템에서 각 데이터베이스가 어떤 부분에 초점을 맞추는지 이해하는 데 중요한 역할을 합니다.

댓글