데이터 엔지니어 이것저것

ACID vs BASE 본문

DB

ACID vs BASE

pastime 2023. 2. 23. 21:42
728x90

ACID 와 BASE는 모두 DB 트랜잭션 처리를 위한 개념

 

ACID

트랜잭션 처리 과정에서 발생할 수 있는 오류를 방지하기 위한 목적으로 고안

  • Atomicity (원자성)
    전부 수행되거나 전혀 수행되지 않아야 한다는 것을 보장
  • Consistency (일관성)
    트랜잭션이 시작하기 전과 끝난 후의 DB 상태는 일관
  • Isolation (고립성)
    여러 개의 트랜잭션이 동시에 수행되더라도, 각각의 트랜잭션은 다른 트랜잭션에 영향을 받지 않아야 한다.
  • Durability (지속성)
    트랜잭션이 성공적으로 완료되면, 그 결과는 영구적으로 반영되어야 한다.

BASE

분산 시스템에서 발생할 수 있는 불일치 문제를 해결하기 위해 고안

  • Basically Available
    시스템은 항상 사용 가능해야한 다는 것을 의미
    데이터의 일관성을 유지하는 대신, 항상 서비스 가능한 시스템을 제공
  • Soft-state
    상태 정보가 언제나 최신 상태로 유지되지 않을 수 있다는 것을 의미
    시간이 지남에 따라 일관성을 유지하기 위해 여러 번 업데이트를 해야할 수  있다
  • Eventually consistent
    데이터가 일정 기간 이후에는 일관성을 유지한다는 것
    모든 노드가 동일한 상태가 되기 위해 일정 기간 동안 대기 해야할 수 있다

ACID는 안전하고 신뢰성 있는 데이터 트랜잭션을 보장하는데 중점을 두고,

BASE는 대규모 분산 시스템에서 일관성을 유지하는 데 중점을 둔다.

728x90

'DB' 카테고리의 다른 글

Query history 보기  (0) 2024.03.12
Index 안타는 경우  (0) 2021.12.30
Index  (0) 2021.12.30
몽고디비  (0) 2021.07.26
DataBase 비교  (0) 2021.07.24