본문 바로가기
카테고리 없음

RDBMS(Relation Database Management System)과 NoSQL(Non-SQL)의 차이점이 무엇인가요?

by Node.js 주니어 개발자 귤 2023. 6. 4.

RDBMS와 NoSQL은 데이터를 저장하고 관리하기 위한 다른 종류의 데이터베이스 시스템이다.

이들은 데이터 모델, 스키마, 일관성, 확장성 등 다양한 측면에서 차이가 있다.

 

 

1. 데이터 모델

 

RDBMS 

RDBMS는 관계형 데이터 모델을 기반으로 한다.
데이터는 테이블(Table) 형태로 구성되며 각 테이블은 레코드(Recode)로 구성된다.
테이블 간에는 관계(RelationShip)를 정의하여 데이터를 관리한다.

NoSQL

NoSQL은 다양한 데이터 모델을 사용할 수 있다.
주로 키-값(Key-Value), 문서(Document), 열(Column), 그래프(Graph) 등의 모델을 사용합니다.
데이터는 스키마 없이 자유롭게 저장될 수 있다.

 

 

 

2. 스키마

 

RDBMS

RDBMS는 정적인 스키마를 가지고 있다.
데이터는 특정 테이블과 열에 맞게 구조화되어야 한다.
스키마 변경이 필요한 경우 데이터베이스 스키마를 수정해야 한다.

NoSQL :

NoSQL은 동적인 스키마를 가지고 있다.
데이터의 구조가 유연하게 변경될 수 있다.
새로운 필드를 추가하거나 시존 필드를 제거하는 등의 작업이 용이하다.

 

 

 

3. 일관성

 

RDBMS

RDBMS는 ACID(Atomicity, Consistensy, Isolation,  Durability) 원칙을 따르며 데이터 일관성이 보장된다.
트랜젝션을 사용하여 데이터의 원자성과 일관성을 유지한다

NoSQL

NoSQL은 일관성 모델을 유연하게 선택할 수 있다. 일관성 모델로는 강일관성(Strong Consistency),약일관성(Weak Consistency), 이벤트 ual 일관성(Eventual Consistency) 등이 있다.
NoSQL은 일부 상황에서 일관성을 포기하고 사용성과 성능을 높이는 경우가 있다.

 

 

 

4. 확장성

 

RDBMS

RDBMS는 주로 수직적 확장(Vertical Scaling) 방식을 사용한다.
즉, 단일 서버의 성능을 향상시켜 처리량을 증가시킨다.

NoSQL

NoSQL은 주로 수평정 확장(Horizontal Scaling) 방식을 사용한다.
데이터 여러 노드에 분산하여 처리량을 확장시킨다.
데이터베이스는 클러스터로 구성되며, 각 노드는 동등한 역할을 수행합니다.

 

 

 

5. 용도

 

RDBMS

RDBMS는 정형화된 데이터와 복잡한 관계를 다루는 데 적합하다.
트랜잭션 처리, 일관성 유지, 데이터 무결성 등을 중요시하는 비지니스 애플리케이션에 주로 사용된다.

NoSQL 

NoSQL은 대용량, 다양한 형태의 비정형 데이터를 다루는데 적합하다.
대규모 웹 애플리케이션, 소셜 미디어, 로그 데이터 등의 처리와 분석에 주로 사용된다.