익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
다중 버전 병행제어
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
[[분류:데이터베이스]][[분류:기술사 기출]] ;MVCC, Multi Version Concurrency Control ;트랜잭션의 데이터 접근 시, 그 트랜잭션의 타임스탬프와 접근 데이터의 여러 버전의 타임스탬프를 비교하여, 현재 실행 중인 스케줄의 직렬 가능성이 보장되는 버전을 선택하는 기법 * ORACLE 버전 3, MS SQL Server 2005, IBM DB2 9.7 버전부터 MVCC 지원 == 기존 로킹 기법의 문제점 == * 동시성 제어의 목표는 병행성을 최대화하면서도 데이터 무결성 유지 * 읽기 작업에 공유 Lock을 사용하는 일반적인 [[트랜잭션 로킹|로킹 기법]]은 읽기·쓰기 작업이 서로 방해 유발 * 데이터 일관성을 위해 로킹 강화 → 동시성 저하 발생 == 동작 절차 == [[파일:MVCC.png|600px]] * 데이터를 변경할 대마다 그 변경사항을 UNDO 영역에 저장 * 데이터를 읽다가 트랜잭션 시작 시점 이후에 변경된 값을 발견하면, UNDO 영역에 저장된 정보를 이용해 트랜잭션 시작 시점의 일관성 있는 버전(CR Copy)를 사용 == 장단점 == * 장점 ** 문장수준 읽기 일관성 보장, 트랙잭션 수준 읽기 일관성 보장 가능 ** 쿼리 도중 배타적 Lock이 걸린, 즉 변경이 진행 중인 레코드를 만나더라도 대기하지 않기 때문에 동시성 측면에 유리 ** 쓰기보다 읽기 연산이 많은 경우 효율 향상 * 단점 ** UNDO 블록 I/O, CR Copy 생성, CR 블록 캐싱과 같은 부가적인 작업의 오버헤드 발생 ** 트랜잭션 충돌시 복귀처리하므로, 연쇄 복귀 초래 가능성 == 참고 문헌 == * [http://www.datanet.co.kr/news/articleView.html?idxno=116534 MVCC의 역사 및 개념 정리]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록