본문 바로가기
반응형

정보관리기술사/데이터베이스7

병행 제어(동시성 제어) 기법 - "락투타낙다" 병행 제어(동시성 제어) 기법 락투타낙다 Locking, 2단계 로킹 규약 (2PL, Two-Phase Locking Protocol), Timestamp, 낙관적 병행 제어, 다중 버전 병행 제어 병행 제어 기법 설명 Locking (로킹, 락) 하나의 트랜잭션이 실행하는 동안 특정 데이터 항목에 대해서 다른 트랜잭션이 동시에 접근하지 못하도록 상호배제(Mutual Exclusive) 기능을 제공하는 기법 2 단계 로킹 규약 (Two-Phase Locking Protocol) 2PL Lock과 Unlock이 동시에 이루어지면 일관성이 보장되지 않으므로 Lock만 가능한 단계와 Unlock만 가능한 단계를 구분하는 병행 제어 기법 타임스탬프 (Timestamp) 데이터베이스 병행제어를 위해 데이터 항목에.. 2022. 8. 30.
병행 제어 기법 - 다중 버전 병행 제어(MVCC) 다중 버전 병행 제어(Multi Version Concurrency Control, MVCC) 트랜잭션의 데이터 접근 시, 그 트랜잭션의 타임스탬프와 접근 데이터의 여러 버전의 타임스탬프를 비교하여, 현재 실행 중인 스케줄의 직렬 가능성이 보장되는 버전을 선택하는 기법 ORACLE 버전 3, MS SQL Server 2005, IBM DB2 9.7 버전부터 MVCC 지원 기존 로킹(Locking) 기법의 문제점 동시성 제어 목표는 병행성을 최대화하면서 데이터 무결성을 유지하는 것인데, Locking은 제약이 존재합니다. 이에 대한 개선으로 MVCC 활용 가능하다네요. 동시성 제어의 목표는 병행성을 최대화하면서도 데이터 무결성 유지 읽기 작업에 공유 Lock을 사용하는 일반적인 로킹 기법은 읽기·쓰기 작업.. 2022. 8. 23.
병행 제어 기법 - 낙관적 병행 제어 Optimistic Concurrency Control 트랜잭션 수행 동안은 어떠한 검사도 하지 않고, 트랜잭션 종료 시에 일괄적으로 검사하는 데이터베이스 병행제어 기법 트랜잭션 수행 동안 그 트랜잭션을 위해 유지되는 데이터 항목들의 지역 사본에 대해서만 갱신 트랜잭션 종료 시에 동시성을 위한 트랜잭션 직렬화가 검증되면 일시에 DB로 반영 장기 트랜잭션 철회시 자원낭비 가능성이 있어, 동시 사용 빈도가 낮은 시스템에서 주로 사용 과정 동작 Read Phase 검증 없이 트랜잭션 수행 Validation Phase 종료 시 동시성 검증 수행 Execution Phase 문제 없을 시 기록, 동시성 문제 발견 시 철회 낙관적 병행제어(Optimistic Concurrency Control) 트랜잭션 수행 동.. 2022. 8. 23.
병행 제어 기법 - 타임스탬프(Timestamp) 타임스탬프(Timestamp) 데이터베이스 병행제어를 위해 데이터 항목에 타임스탬프를 부여하여 직렬가능성을 보장하는 기법 트랜잭션에서 읽기 또는 쓰기 작업이 정상적으로 완료되면 타임스탬프를 기록한다. 트랜잭션에서 읽기 또는 쓰기 작업을 수행하려고 하는 경우 타임스탬프를 확인한다. 트랜잭션 수행 도중에 타임스탬프가 갱신된 경우 트랜잭션 작업을 중단한다. 데이터에 접근하는 시간을 미리 정하여서 정해진 시간(Time Stamp)의 순서대로 데이터에 접근 하여 수행 직렬가능성을 보장한다. 교착상태가 발생하지 않는다. 연쇄복귀(Cascading Rollback)를 초래할 수 있음 예시 데이터 항목 x에 대하여 read_TS(x): x에 대한 읽기 작업이 최종적으로 성공한 시간 write_TS(x): x에 대한 쓰.. 2022. 8. 23.
병행 제어 기법 - 2PL(2Phase Locking) 2PL (2Phase Locking) 개념 Lock과 Unlock이 동시에 이루어지면 일관성이 보장되지 않으므로 Lock만 가능한 단계와 Unlock만 가능한 단계를 구분하는 병행 제어 기법 2단계 로킹 규약(Two-Phase Locking Protocol) - Lock과 Unlock이 동시에 이루어지면 일관성이 보장되지 않으므로 Lock만 가능한 단계와 Unlock만 가능한 단계를 구분 - 확장단계: 새로운 Lock은 가능하고 Unlock은 불가능하다. - 축소단계: Unlock 은 가능하고 새로운 Lock은 불가능하다. - 직렬가능성을 보장한다. - 교착상태가 발생할 수 있다. 2단계 로킹 규약 IT위키 IT에 관한 모든 지식. 함께 만들어가는 깨끗한 위키 itwiki.kr https://itpeno.. 2022. 8. 22.
병행 제어 기법 - Locking 잠금(Locking) 하나의 트랜잭션이 실행하는 동안 특정 데이터 항목에 대해서 다른 트랜잭션이 동시에 접근하지 못하도록 상호배제(Mutual Exclusive) 기능을 제공하는 기법이다. 하나의 트랜잭션이 데이터 항목에 대하여 잠금(lock)을 설정하면, 잠금을 설정한 트랜잭션이 해제(unlock)할 때까지 데이터를 독점적으로 사용할 수 있다. 트랜잭션이 어떤 데이터에 접근하고자 할 때 로킹 수행 로킹이 되어 있는 데이터에는 다른 트랜잭션이 접근할 수 없음 트랜잭션은 로킹이 된 데이터에 대해서만 연산 수행 로킹 단위: 필드, 레코드, 파일, 데이터베이스 모두 로킹 단위가 될 수 있음 로킹 단위가 크면 관리하기 용이(로킹 오버헤드 감소)하지만 병행성 수준(동시성 수준) 낮아짐 로킹 단위가 작으면 병행성(.. 2022. 8. 22.
데이터 무결성 유형 - "개참속사키" 간만에 블로그의 목적인 두음 공유를 합니다. 기출 문제 풀이하면서 데이터 무결성 유형에 대한 정리가 필요해서요.. 데이터 무결성 데이터의 일관성, 정확성, 신뢰성을 유지하고 데이터베이스에 저장된 데이터 값이 오류 없이 유효하게 유지되는 특성 데이터 무결성의 유형 개참속사키 종류 주요 내용 제약 조건 개체 무결성 (Entity Integrity) - 릴레이션의 기본키는 Null 값을 가질 수 없다는 성질 - 기본키는 반드시 값을 가짐 (Not Null) - 기본키는 유일성을 보장하는 최소한의 집합 Primary Key, Not Null 참조 무결성 (Referential Integrity) - 행이 입력되거나 삭제될 때 테이블 간에 정의된 관계를 유지 - 외래키 속성은 참조할 수 없는 값은 미허용 - 외래.. 2022. 8. 11.
728x90
반응형