-
[데이터 중심 애플리케이션 설계] BASE와 ACID📚 개발 도서/데이터 중심 애플리케이션 설계 2023. 4. 12. 00:04
BASE
Basically Available, Soft State, Eventually Consistent
데이터 가용성과 데이터 처리 성능이 향상되도록 한다!
- Basically Available(가용성) : Master 서버에 장애가 발생해도, 여러 Slave 서버로 인해 무중단 서비스가 가능하다. (가용성을 제공한다.)
- Soft State(소프트 상태) : 각각의 데이터가 도달한 시점에 데이터가 갱신된다. (유연한 상태를 가진다.)
- Eventually Consistent(결과적 일관성)→ 시스템 부하 및 네트워크 속도에 따라 서버에 복제하는 시간이 다를 수 있으나, 최종적으로는 모든 서버에 데이터가 복제된다.
- 복제 메커니즘에 의해 모든 서버에 데이터 복제가 동시에 실행될 수 없다.
ACID
Atomicity, Consistency, Isolation, Durability
데이터 일관성을 위해 트랜잭션이 안전하게 수행되도록 한다!
- Atomicity(원자성) : 트랜잭션은 최소의 업무 단위로 트랜잭션에 포함된 연산은 모두 처리되거나 미처리되어야 한다. (오류가 생겼을 때, 트랜잭션을 어보트하고 해당 트랜잭션에서 기록한 모든 내용을 취소하는 능력. 아마 어보트 능력이 원자성보다 더 나은 단어라고 할 수 있다.), 부분 실패 X 보장!
- Consisteny(일관성) : 트랜잭션 성공 시, 일관된 상태를 유지해야 한다.
- Isolation(격리성) : 실행 중인 트랜잭션의 중간에는 다른 트랜잭션이 접근할 수 없다. (데이터베이스는 실제로는 여러 트랜잭션이 동시에 실행됐더라도 트랜잭션이 커밋됐을 때의 결과가 트랜잭션이 순차적으로 실행됐을 때의 결과와 동일하도록 보장한다.)
- Durability(영속성) : 트랜잭션 성공 시, 그 결과는 장애 발생 여부와 관계없이 DB에 저장되어야 한다.
728x90반응형'📚 개발 도서 > 데이터 중심 애플리케이션 설계' 카테고리의 다른 글
[데이터 중심 애플리케이션 설계] 응답 시간 (p50, p95, p99) (0) 2023.04.13