1) DBMS의 장점
2) DBMS의 유형
3) 데이터 일관성과 데이터 무결성
4) 데이터의 독립성
DBMS의 궁극적인 목적으로 응용프로그램이 데이터에 종속되지 않는 것을 의미하는데, 논리적 독립성과 물리적 독립성으로 분류할 수 있다.
논리적 독립성
물리적 독립성
외부스키마
개념 스키마
내부 스키마
5) DBMS의 동시성 제어 기법이란?
6) 트랜잭션의 정의와 ACID정의
ACID는 주식거래, 금융업에서 중점적으로 사용된다.
=> 주식거래, 금융업에서는 관계형 데이터베이스를 이용한다.
관계형 데이터베이스를 사용하면 데이터베이스와 상호 작용하는 방식을 정확하게 규정할 수 있기 때문에,
데이터베이스에서 데이터를 처리할 때 발생할 수 있는 예외적인 상황을 줄이고, 데이터베이스의 무결성을 보호할 수 있다.
- Atomicity (원자성) - 원자성이란 시스템에서 한 트랜잭션의 연산들이 모두 성공하거나, 반대로 전부 실패되는 성질을 말한다.
- Consistency (일관성) - 일관성은 하나의 트랜잭션 이전과 이후, 데이터베이스의 상태는 이전과 같이 유효해야 한다.
- Isolation (격리성, 고립성) - 격리성은 모든 트랜잭션은 다른 트랜잭션으로부터 독립되어야 한다는 뜻이다.
- Durability (지속성) - 지속성은 하나의 트랜잭션이 성공적으로 수행되었다면, 해당 트랜잭션에 대한 로그가 남아야하는 성질을 말한다.
7) ACID 와 BASE 의 차이를 비교
- Basically Avaliable (기본적인 가용성)
-가용성을 중시, Optimistic Locking 및 큐 사용
-다수의 실패에도 가용성을 보장, 다수의 스토리지에 복사본 저장(고립성과 반대)
-부분적인 고장은 있을 수 있으나, 나머지는 사용이 가능하다.- Soft State (소프트 상태)
-노드의 상태는 외부에서 전송 된 정보를 통해 결정됨
-분산 노드간 업데이트는 데이터가 노드에 도달한 시점에 갱신
-저장소는 쓰기 일관성이 있을 필요가 없으며 서로 다른 복제본이 항상 상호 일관성이 있을 필요도 없다.- Eventually Consistent (최종 일관성)
-저장소는 나중에 어떤 시점에서 일관성을 나타낸다. BASE 속성은 ACID가 보장하는 것보다 훨씬 느슨하지만 두 일관성 모델 간에 직접적인 일대일 매핑이 없다.
-일시적으로 비일관적인 상태가 되어도 최적으로는 일관성이 있는 상태가 되는 성질
속성 | BASE | ACID |
---|---|---|
적용분야 | NOSQL | RDBMS |
범위 | 시스템 전체에 대한 특성(트랜젝션 불가) | 트랜잭션에 한정(트랜젝션 가능) |
일관성측면 | 약한 일관성 | 강한 일관성 |
중점사항 | Availability | ‘Commit’에 집중 |
시스템측면 | 성능에 초점 | 엄격한 데이터관리 |
효율성 | 쿼리디자인이 중요 | 테이블 디자인이 중요 |
규격여부 | 정해진 규격없음 | 정해진 규격 |
조인여부 | 조인 불가능 | 조인 가능 |
분산처리 | 분산처리 쉬움 | 분산처리 어려움 |