데이터베이스 ACID 성질과 NoSQL BASE 성질 비교

agnusdei·2025년 7월 18일
0

ICT

목록 보기
18/143

데이터베이스 ACID 성질과 NoSQL BASE 성질 비교


1. 문제

데이터베이스의 ACID 성질과 NoSQL의 BASE 성질에 대해 설명하고, 양자의 차이를 비교하라.


2. 답안


1. 개념

성질설명
ACID트랜잭션의 신뢰성과 일관성을 보장하는 관계형 데이터베이스(RDB: Relational Database) 특성
BASENoSQL 시스템에서 고가용성과 확장성을 위해 일관성을 완화한 특성

2. 역할 및 목적

성질목적
ACID트랜잭션 처리의 안정성과 무결성 보장
BASE분산 환경에서 성능과 확장성 확보, 가용성 극대화

3. 역사적 배경

  • ACID
    • 1980년대 IBM의 연구자 짐 그레이(Jim Gray)에 의해 제안됨
    • 관계형 데이터베이스의 트랜잭션 처리 이론 기반
  • BASE
    • 2000년대 이후 대규모 웹 시스템의 확산에 따라 NoSQL 등장
    • CAP 이론(Consistency, Availability, Partition tolerance)에 따라 일관성보다 가용성을 우선시

4. 구조 및 구성요소

ACID (관계형 DB)

요소설명
A: Atomicity (원자성)트랜잭션은 모두 수행되거나 전혀 수행되지 않아야 함
C: Consistency (일관성)트랜잭션 수행 후 데이터는 항상 일관된 상태 유지
I: Isolation (고립성)동시에 수행되는 트랜잭션은 서로 간섭하지 않음
D: Durability (지속성)트랜잭션 완료 시 결과는 영구적으로 저장됨

BASE (NoSQL)

요소설명
B: Basically Available (기본적인 가용성)항상 응답을 제공하지만, 정확하지 않을 수 있음
S: Soft state (유연한 상태)시스템 상태는 일시적으로 일관되지 않을 수 있음
E: Eventually consistent (최종적 일관성)시간이 지나면 데이터는 결국 일관된 상태에 도달함

5. 원리

  • ACID: 트랜잭션 단위의 철저한 제어 → 무결성 중심
  • BASE: 분산환경에서 부분 실패 수용 → 성능/가용성 중심

6. 종류

구분시스템 예시
ACID 기반Oracle, MySQL, PostgreSQL, SQL Server
BASE 기반Cassandra, MongoDB, Couchbase, DynamoDB

7. 핵심 용어 요약

약어용어한글 뜻
ACIDAtomicity, Consistency, Isolation, Durability원자성, 일관성, 고립성, 지속성
BASEBasically Available, Soft state, Eventually consistent기본적 가용성, 유연한 상태, 최종적 일관성
CAP 이론Consistency, Availability, Partition Tolerance일관성, 가용성, 파티션 허용성

8. 특징

항목ACIDBASE
데이터 무결성높음낮음 (일시적 불일치 허용)
성능비교적 낮음높음
확장성낮음높음 (수평 확장 용이)
트랜잭션 처리강력한 보장유연한 처리
사용 환경은행, ERP, 재고관리 등 정합성 우선SNS, 로그 처리, 실시간 분석 등 속도/확장성 우선

9. 비교

항목ACID (관계형 DB)BASE (NoSQL)
일관성 우선 여부강력한 일관성최종적 일관성
가용성 중심 여부낮음높음
트랜잭션 지원완전한 트랜잭션부분 또는 없음
사용 사례금융, 회계, ERPIoT, SNS, 실시간 서비스
확장성수직적수평적

10. 장단점

성질장점단점
ACID안정성, 정확성, 무결성 보장성능 저하, 확장성 제한
BASE빠른 응답, 높은 가용성, 분산환경 최적화정합성 문제, 복잡한 오류 처리

11. 최신 트렌드

  • NewSQL: ACID 보장하면서도 NoSQL처럼 수평 확장이 가능한 차세대 데이터베이스
    • 예시: Google Spanner, CockroachDB
  • Hybrid 모델: 일부 NoSQL 시스템도 트랜잭션 일부 지원 (예: MongoDB multi-document transaction)
  • CAP 이론 보완 모델: PACELC 이론 도입 → 지연시간(Latency) 고려한 균형 설계

12. 어린이 버전 요약

  • ACID는 “꼼꼼한 선생님”처럼 데이터를 절대 틀리지 않게 잘 저장해요.
  • BASE는 “빠른 배달 아저씨”처럼 일단 빠르게 보내고 나중에 맞춰요.
  • 은행처럼 실수가 안 되는 곳은 ACID, 유튜브 댓글처럼 빨라야 하는 곳은 BASE를 써요.

13. 한눈에 보는 요약 표

항목ACID (관계형 DB)BASE (NoSQL)
무결성철저하게 보장나중에 맞춤
속도느림빠름
확장성어려움쉬움
트랜잭션완벽히 지원보통 없음
주요 환경은행, ERPSNS, IoT
대표 시스템Oracle, PostgreSQLCassandra, MongoDB

profile
DevSecOps ⚙️ + CTF🚩

0개의 댓글