728x90
트랜잭션
- 데이터베이스 트랜잭션은 데이터베이스 관리 시스템 또는 유사한 시스템에서 상호작용의 단위이다.
- 유사한 시스템이란 transaction이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미한다.
- 데이터 베이스 기능 중, 트랜잭션을 조작하는 기능은 사용자가 데이터베이스 완전성(integrity) 유지를 확신하게 한다.
- 단일 트랜잭션은 데이터베이스 내에 읽거나 쓰는 여러 개 쿼리를 요구한다.
- 이 때 중요한 것은 데이터베이스가 수행된 일부 쿼리가 남지 않는 것이다. 예를 들면, 송금을 할 때 한 계좌에서 인출되면 다른 계좌에 입금이 확인되는 것이 중요하다.(이해가 안감)
- 트랜잭션은 서로 간섭하지 않아야 한다.
- 만약 쿼리 하나가 실패하면, 데이터베이스 시스템은 전체 트랜잭션 또는 실패한 쿼리를 롤백한다.
- 이것은 DBMS내의 프로그램이 어떻게 개발하는지에 방식에 따라 다르다.
- 트랜잭션은 commit 전에 언제든지 수동으로 rollback될 수 있다.
Transaction 4대 특징
- 원자성 : 데이터 조작이 전부 성공 혹은 실패
- 일관성 : 데이터 조작 전후에 일관성 유지 필요
- 고립성 : 복수 사용자가 동시에 데이터 조작을 실행할 경우 각각의 처리가 모순 없이 실행되는 것을 보증(독립 시행?)
- 지속성 : 데이터 조작 완료 후 완료 통지를 받는 시점에서 결과를 잃지 않는 것.
트랜잭션 원자성의 중요성
트랜잭션 고립성의 중요성
트랜잭션 격리
데이터 베이스가 여러 사람이 동시에 작업을 요청했을 때, 각각 처리하는 것.
728x90
'정리' 카테고리의 다른 글
[데이터베이스 강의 정리] <참고> Entity (0) | 2021.08.05 |
---|---|
[데이터베이스 강의 정리] 6. 락과 데드락(Lock & Deadlock) (0) | 2021.08.05 |
[데이터베이스 강의 정리] 4. 오라클, SQL (0) | 2021.08.05 |
[데이터베이스 강의 정리] 3. 아키텍쳐 (0) | 2021.08.05 |
[데이터베이스 강의 정리] 2. 관계형 데이터 베이스 (0) | 2021.08.05 |