1. 트랜잭션 동시성 제어
2010.05.31 08:50
DBMS의 일관성 주구현
- 오라클 : Undo 데이터 이용
- 타 DBMS : Lock 사용
☞ Lock 사용이 적어 오라클이 타DBMS에 비하여 동시성 기능↑
1. 동시성 제어 (다중 사용자 환경일수록 동시성 제어 중요↑)
- 동시성 제어 : 동시에 실행되는 트랜잭션 수를 최대화하면서도 입력, 수정, 삭제, 검색 시 데이터의 무결성이 유지될 수 있도록 하는 것
- 동시성(Concurrency) : 다중 사용자가 같은 데이터를 동시에 액세스
- 일관성(Consistency) : 자신이 발생시킨 변경 사항과 다른 트랜잭션의 변경 사항을 포함해 일관성 있는 상태로 데이터 제공
- 동시성과 일관성의 관계 - 트레이드(Trade-off) 오프 관계
- 동시성을 높이기 위해 Lock을 최소화 하면 읽기 일관성 유지의 어려움 발생
- 일관성을 높이기 위해 Lock을 많이 사용하면 동시성일 떨어짐
2. 트랜잭션이란?
All or Nothing : 모두 처리 아니면 모두 무효화
- 특징 (ACID)
- 원자성(Atomicity) : 더 이상 분해가 불가능한 업무의 최소단위
- 일관성(Consistency) 트랜잭션 실행 완료 시 일관성 있는 데이터베이스 상태로 변환 (모순 X)
- 격리성(Isolation) : 트랜잭션 실행 중 생성하는 연산의 중간 결과에 다른 트랜잭션이 접근 불가
- 영속성(Durability) : 트랜잭션 실행 완료 시 결과는 데이터베이스에 영속적으로 저장
트랜잭션 처리결과가 데이터의 일관성을 유지하기 위해 직렬화 장치 필요 ☞ Lock
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
47 | 2. 트랜잭션 수준 읽기 일관성 | 휘휘 | 2010.06.07 | 19568 |
46 | 3. 비관적 vs. 낙관적 동시성 제어 | 휘휘 | 2010.06.07 | 8210 |
45 | 4. 동시성 구현 사례 | 토시리 | 2010.06.07 | 10942 |
44 | 5. 오라클 Lock | 휘휘 | 2010.06.07 | 26368 |
43 | 7. Response Time Analysis 방법론과 OWI | balto | 2010.06.13 | 8066 |
42 | 8. Statspack / AWR | balto | 2010.06.13 | 12767 |
41 | 9. ASH(Active Session History) | 실천하자 | 2010.06.14 | 15607 |
40 | 11. End-To-End 성능관리 | 휘휘 | 2010.06.14 | 8095 |
39 | 12. 데이터베이스 성능 고도화 정석 해법 | 휘휘 | 2010.06.14 | 7153 |
38 | 5. V$SYSSTAT [1] | 토시리 | 2010.06.14 | 9848 |
37 | 10. V$SQL | 실천하자 | 2010.06.14 | 12677 |
36 | 6. V$SYSTEM_EVENT | 토시리 | 2010.06.14 | 6523 |
35 | 3. 라이브러리 캐시 구조 | balto | 2010.06.28 | 9850 |
34 | 4. 커서 공유 | balto | 2010.06.28 | 9200 |
33 | 1. SQL과 옵티마이저 | 휘휘 | 2010.06.28 | 7218 |
32 | 2. SQL 처리과정 | 휘휘 | 2010.06.28 | 15347 |
31 | 4장. 라이브러리 캐시 최적화 원리 | 휘휘 | 2010.06.28 | 6914 |
30 | 5. 바인드 변수의 중요성 | 실천하자 | 2010.06.28 | 11768 |
29 | 6. 바인드 변수의 부작용과 해법 | 실천하자 | 2010.06.28 | 14672 |
28 | 7. 세션 커서 캐싱 | 토시리 | 2010.06.29 | 10620 |