ACID vs BASE
태그 :
- 개념
- 1. ACID 의 정의 - 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질 2. BASE의 정의 - ACID와 대조적으로 가용성과 성능을 중시하는 특성을 가진 분산 시스템의 특성
1. RDBMS의 ACID속성과 NoSQL의 BASE속성 개념
가. ACID 의 정의
- 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질
나. BASE의 정의
- ACID와 대조적으로 가용성과 성능을 중시하는 특성을 가진 분산 시스템의 특성
2. NoSQL의 BASE속성과 RDBMS의 ACID속성의 비교
가. NoSQL의 BASE속성
구분 |
내용 |
Basically Available |
- 가용성을 중시, Optimistic Locking 및 큐 사용 - 다수의 실패에도 가용성을 보장, 다수의 스토리지에 복사본 저장 |
Soft-State |
- 노드의 상태는 외부에서 전송된 정보를 통해 결정됨 - 분산 노드 간 업데이트는 데이터가 노드에 도달한 시점에 갱신 |
Eventually Consistent |
- 일시적으로 비일관적인 상태가 되어도 최적으로는 일관성이 있는 상태가 되는 성질 |
나. RDBMS의 ACID속성
구분 |
내용 |
Atomicity (원자성) |
트랜잭션과 관련된 작업들이 모두 수행되었는지 모두 실행되지 않았는지를 보장하는 것 |
Consistency (일관성) |
트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것 |
Isolation (고립성) |
트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 끼어 들지 못하도록 보장하는 것 |
Durability (지속성) |
성공적으로 수행된 트랜잭션은 영원히 반영되어야 하는 것 |
다. BASE속성과 ACID속성의 비교
속성 |
BASE |
ACID |
적용분야 |
NOSQL |
RDBMS |
범위 |
시스템 전체에 대한 특성 |
트랜잭션에 한정 |
일관성측면 |
약한 일관성 |
강한 일관성 |
중점사항 |
Availability |
‘Commit’에 집중 |
시스템측면 |
성능에 초점 |
엄격한 데이터관리 |
효율성 |
쿼리디자인이 중요 |
테이블 디자인이 중요 |
3. 관계형 DB와 NoSQL의 비교
방식 |
관계형 DB 데이터 모델링 |
NoSQL 데이터모델링 |
개념도 |
||
핵심 |
- ACID기반 데이터모델링 |
- BASE 기반 데이터 모델링 |
방식 |
- Minimal Redundancy 통한 데이터 일관성 확보 |
- 데이터 중복통한 빠른 조회(Perfomance) 확보 |
단계 |
- 업무특징에 따른 데이터모델링(설계) 수행 후 개발 |
- 화면과 개발로직을 고려한 데이터셋 설계 |
독립성 |
- 프로그램 독립적 설계 (데이터 독립성 중요) |
- 프로그램 종속적 설계(데이터 독립성 회피) |
의견 |
일반화된 표기법과 수행절차가 있는 데이터 구성방식으로 논리적인 연결점을 갖는 데이터 모델링 기법 |
프로그램에서 처리하기 용이한 구조의 데이터셋을 구성하는 일반적인 데이터모델링 이라기 보다는 파일구조 설계에 더 가까움 |
<출처 : 씨에스리컨설팅 연구소, 2014 IT서비스 학회 논문 >
4. DBMS 의 CROA분류체계 – OLTP, OLAP, Row-Based, Column-Based
5. DBMS 선택전략
1) 다양한 형태의 DBMS가 공존하는 빅데이터시대에는 데이터와 트랜잭션 성격에 적합한 DBMS 선택이 필요
2) DBMS를 선택할 때는 트랜잭션의 완전성, 스키마고정성, 비용, 데이터의 양, 처리속도. 성능을 고려해야 함
3) RDBMS는 트랜잭션의 완전성을 보장해야 하는 환경에 적합하며, NoSQL은 트랜잭션이 완전하지 않아도 되며, 비정형성, 데이터의 빠른 처리가 요구되는 환경에 적합함
4) NoSQL DBMS를 선택할 때는 데이터의 양, 요구되는 처리속도에 따라 Memory기반과 Disk 기반 NoSQL을 선택하며, 경우에 따라 같이 사용함
5) 다양한 선택이 가능한 DBMS 시장에서 무조건적으로 “OLTP→RDBMS, 빅데이터 →NoSQL”이 아닌, 데이터와 트랜잭션의 성격에 따라 전략적인 DBMS 선택이 필요함 |