2021. 3. 9. 23:13ㆍTopcit 정리/기술 영역 - 데이터베이스 구축과 운영
트랜잭션이란
하나의 논리적인 작업 단위를 이루는 여러 연산들의 집합으로 데이터베이스의 일관된 상태
특징 (ACID)
Atomiciy (원자성) : 연산중 하나라도 실패할 경우 전체가 취소되어 무결성 보장
Consistency (일관성) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 모순없이 일관성있는 상태 보존
Isolation (고립성) : 트랜잭션 실행 중에 다른 트랜잭션 접근 불가능
Durability (영속성) : 성공한 트랜잭션 결과는 영구적으로 데이터베이스에 저장됨
종료시 연산
Commit (완료) : 트랜잭션 안에서 수행한 모든 SQL을 반영하며 종료
Rollback (복귀) : 수행 도중 오류가 생겨 다시 작업을 철회하는 연산
동시성 제어
다중 사용자 환경을 지원하는 데이터베이스 시스템에서 여러 트랜잭션이 동시에 실행될 수 있도록 하는 기능
목적
공유도 최대, 응답시간 최소, 시스템 활동의 최대 보장
동시성 제어 하지 않을 경우 문제점
갱신 손실 : 종료하기 전에 이전 트랜잭션이 나중 트랜잭션을 덮어쓴다.
오손 데이터읽기 : 트랜잭션의 중간 수행결과를 다른 트랜잭션이 참조
모순성 : 두 트랜잭션이 동시에 실행될 때 db가 일관성 없는 상태가 됨
연쇄복귀 : 여러 트랜잭션이 데이터 공유 시 취소 명령할때 다른 트랜잭션이 처리한 부분 취소 불가능
반복할 수 없는 읽기 : 같은 질의를 두번 했는데 결과가 다름
동시성 제어 기법들
잠금 기반 기법
타임 스탬프 기반 기법
다중버전 기법
검증 기반 기법
2PL 기법
직렬성 보장을 통해 동시 제어하는 2단계 잠금 기법
트랜잭션 격리 수준
완료되지 않은 읽기 : 트랜잭션이 처리중인 아직 완료되지 않은 데이터를 읽는 거 허용
완료된 읽기 : 완료되어 확정된 데이터만 읽는 거 허용
반복 읽기 : 같은 명령 반복할때 값이 같도록 해준다.
직렬화 : 같은 명령 반복할때 같도록 할 뿐만 아니라 새로운 레코드 생성 방지
교착상태
다중처리 환경에서 다수의 프로세스가 특정 자원의 할당을 무한정 기다리고 있는 상태
발생 원인
상호배제 : 자원을 배타적으로 점유하여 다른 프로세스가 접근을 못함
점유와 대기 : 어떤 자원을 할당 받아 점유하고 있으면서 다른 자원을 요구
비선점 : 할당된 자원을 강제로 빼앗을 수 없으며, 자신만이 해제 가능
환형 대기 : 프로세스간 자원 요구가 하나의 원형을 구성
'Topcit 정리 > 기술 영역 - 데이터베이스 구축과 운영' 카테고리의 다른 글
12. 데이터베이스 종류 (0) | 2021.03.12 |
---|---|
11. 데이터베이스 복구 (0) | 2021.03.10 |
9. 데이터베이스 질의 응용 (0) | 2021.03.08 |
8. 관계 데이터베이스 언어 (SQL) (0) | 2021.03.07 |
7. 데이터베이스 관계 연산 (0) | 2021.03.07 |