담비의 개발블로그

[CS]RDBMS(관계형 데이터베이스)/ nosql의 차이 본문

CS(컴퓨터과학)

[CS]RDBMS(관계형 데이터베이스)/ nosql의 차이

담비12 2025. 1. 9. 21:03
 RDBMS (관계형 데이터 베이스)

 

- 구조: 데이터를 테이블(행과 열) 형태로 저장하며, 테이블 간 관계를 정의할 수 있음.

- 스키마: 정해진 스키마(데이터 구조)가 필요하며, 스키마를 미리 정의해야 함. 데이터는 이를 따라야 함.

- 쿼리 언어: 데이터를 관리하기 위해 SQL(Structured Query Language)을 사용.

- ACID: 트랜잭션에서 ACID(Atomicity, Consistency, Isolation, Durability) 특성을 보장.

- 확장성: 주로 수직적 확장(하드웨어 업그레이드) 지원.

- 사용 사례: 금융 거래 시스템, 재고 관리 시스템, ERP, CRM 같은 데이터 관계가 중요한 시스템

 

◆ 장점

- 데이터 무결성과 일관성을 보장.

- 관계와 복잡한 쿼리 처리에 적합.

- 표준화된 SQL 사용.

 

단점

- 대규모 데이터 처리가 어려울 수 있음.

- 스키마 변경이 어렵고 유연성이 낮음.

 

 

스키마란 ? 데이터베이스의 구조와 제약 조건을 정의한 설계 도면 또는 청사진이다.

 

 

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

 

 

- 구조: 테이블이 아닌 다양한 형태로 데이터를 저장 (문서, 키-값, 그래프, 컬럼 기반 등).

- 스키마: 고정된 스키마가 없으며, 자유로운 데이터 구조를 지원.

- 데이터 모델: 특정 사용 사례에 맞는 데이터 모델을 선택 가능.

- 확장성: 주로 수평적 확장(서버 추가) 지원.

- 사용 사례: 소셜 네트워크 서비스, 실시간 분석 및 대규모 로그 데이터 처리. IoT 데이터 관리, 캐싱 시스템

 

장점

- 유연한 데이터 구조.

- 대규모 데이터 처리와 분산 시스템에 적합.

- 읽기/쓰기 속도가 빠름.

 

단점

- 데이터 무결성 보장이 어려움 (ACID 보장이 약함).

- 복잡한 쿼리와 관계형 데이터 처리에는 부적합.

- 표준화된 쿼리 언어 부재.

'CS(컴퓨터과학)' 카테고리의 다른 글

rest api의 정의  (0) 2025.03.27
[CS]TCP(Transmission Control Protocol)/UDP(User Datagram Protocol)  (0) 2025.01.11
JDBC란?  (0) 2024.08.08
[JPA]1차캐시/2차캐시  (0) 2024.07.28
개발 방법론&테스트 종류  (0) 2024.07.10