데이터베이스/트랜젝션, 동시성 제어, 회복
-
동시성 제어데이터베이스/트랜젝션, 동시성 제어, 회복 2018. 1. 29. 22:30
동시성 제어 : 트랜잭션이 동시에 수행될 때, 일관성을 해치지 않도록 트랜잭션의 데이터 접근을 제어하는 DBMS의 기능 갱신손실 문제두 개의 트랜잭션이 한 개의 데이터를 동시에 갱신할 때 발생 (데이터베이스에서 절대 발생해서는 안됨) 락자신이 데이터를 수정 중이라는 사실을 알리는 방법 락의 개념락은 트랜잭션이 데이터를 읽거나 수정할 때 표시하는 잠금장치이다.자신이 데이터를 락으로 잠그면 다른 트랜잭션은 잠금이 풀릴 때까지 기다려야 한다.락을 사용하면 데이터에 대한 갱신을 순차적으로 진행할 수 있기 때문에 갱신손실 문제를 해결할 수 있다. 락의 유형락은 트랜잭션이 읽기를 할 때 사용하는 공유락, 읽고 쓰기를 할 때 사용하는 배타락으로 나뉜다.트랜잭션이 공유락과 배타락을 사용하는 규칙데이터에 락이 걸려있지 ..
-
트랜잭션데이터베이스/트랜젝션, 동시성 제어, 회복 2018. 1. 29. 22:28
트랜잭션 : DBMS가 데이터베이스를 다룰 때 사용하는 작업의 단위 트랜잭션은 전체가 수행되거나 전혀 수행되지 않아야 한다.트랜잭션은 데이터베이스에 저장된 테이블을 읽어와 주기억장치 버퍼에 저장, 수정한 후 데이터베이스에 다시 저장한다. 트랜잭션의 성질원자성 : 트랜잭션에 포함된 작업은 전부 수행되거나 전부 수행되지 않아야 한다.일관성 : 트랜잭션을 수행하기 전이나 수행한 후나 데이터베이스 무결성이 유지되어야 한다.고립성 : 수행 중인 트랜잭션에 다른 트랜잭션이 끼어들어 변경 중인 데이터 값을 훼손하는 일이 없어야 한다.지속성 : 수행을 성공적으로 완료한 트랜잭션은 변경한 데이터를 영구히 저장해야 한다.트랜잭션 제어 명령어 원자성트랜잭션이 원자처럼 더는 쪼개지지 않는 하나의 작업 단위로 동작해야 한다는 ..