메뉴 건너뛰기

bysql.net

1. 트랜잭션 동시성 제어

2010.05.31 08:50

실천하자 조회 수:8631

DBMS의 일관성 주구현

  • 오라클 : Undo 데이터 이용
  • 타 DBMS : Lock 사용

          ☞ Lock 사용이 적어 오라클이 타DBMS에 비하여 동시성 기능↑


1. 동시성 제어  (다중 사용자 환경일수록 동시성 제어 중요↑)

  • 동시성 제어 : 동시에 실행되는 트랜잭션 수를 최대화하면서도 입력, 수정, 삭제, 검색 시 데이터의 무결성이 유지될 수 있도록 하는 것
  • 동시성(Concurrency) : 다중 사용자가 같은 데이터를 동시에 액세스
  • 일관성(Consistency) : 자신이 발생시킨 변경 사항과 다른 트랜잭션의 변경 사항을 포함해 일관성 있는 상태로 데이터 제공
  • 동시성과 일관성의 관계 - 트레이드(Trade-off) 오프 관계
    • 동시성을 높이기 위해 Lock을 최소화 하면 읽기 일관성 유지의 어려움 발생
    • 일관성을 높이기 위해 Lock을 많이 사용하면 동시성일 떨어짐


2. 트랜잭션이란?

    All or Nothing : 모두 처리 아니면 모두 무효화

  • 특징 (ACID)
    • 원자성(Atomicity) : 더 이상 분해가 불가능한 업무의 최소단위
    • 일관성(Consistency) 트랜잭션 실행 완료 시 일관성 있는 데이터베이스 상태로 변환 (모순 X)
    • 격리성(Isolation) : 트랜잭션 실행 중 생성하는 연산의 중간 결과에 다른 트랜잭션이 접근 불가
    • 영속성(Durability) : 트랜잭션 실행 완료 시 결과는 데이터베이스에 영속적으로 저장

트랜잭션 처리결과가 데이터의 일관성을 유지하기 위해 직렬화 장치 필요 ☞ Lock

번호 제목 글쓴이 날짜 조회 수
27 5. Direct Path I/O file balto 2010.07.10 12190
26 8. 블록 클린아웃 휘휘 2010.05.31 12283
25 7. PL/SQL 함수의 특징과 성능 부하 실천하자 2010.07.12 12602
24 6. RAC 캐시 퓨전 file 토시리 2010.07.19 12631
23 10. V$SQL 실천하자 2010.06.14 12677
22 8. Statspack / AWR balto 2010.06.13 12767
21 1. Library Cache Lock file balto 2010.07.17 12802
20 7. Result 캐시 휘휘 2010.07.19 12969
19 8. PL/SQL 함수 호출 부하 해소 방안 토시리 2010.07.11 14027
18 1. Explain Plan 실천하자 2010.06.06 14663
17 6. 바인드 변수의 부작용과 해법 file 실천하자 2010.06.28 14670
16 3. 버퍼 Lock [1] 휘휘 2010.05.24 15230
15 2. SQL 처리과정 file 휘휘 2010.06.28 15343
14 9. ASH(Active Session History) 실천하자 2010.06.14 15607
13 5. Fetch Call 최소화 file 휘휘 2010.07.05 16849
12 1 장. 오라클 아키텍처 운영자 2010.05.20 17844
11 4. Array Processing 활용 file 휘휘 2010.07.05 18246
10 9. Static vs. Dynamic SQL [1] balto 2010.07.04 18345
9 11. Shared Pool file 실천하자 2010.05.31 18511
8 5. Undo file 토시리 2010.05.31 18653