본문 바로가기
728x90

DataBase/DB이론2

DB - DB Lock, DB락에 대해 알아보자 DBMS 사용시에 다중으로 트랜잭션이 발생할 경우 일관성과 무결성을 유지하려면 순차적인 진행을 보장할 수 있도록 직렬화 장치가 필요한데 이런 직렬화가 가능하도록 모든 DBMS가 사용하는 체계가 Lock이다. DBMS마다 Lock을 구현하는 방식과 세부적인 기능이 많이 다르므로 각 DBMS마다 Lock을 구현하는 방식에 대해서도 알 필요가 있다. Lock을 이해하기 쉽게 얘기하자면 화장실에서 볼일을 볼때 문을 잠근 다음, 볼일을 마치면 문을 열고 나오는 것 처럼 DB에서도 작업사항이 있을 경우 문을 잠그는 행위라고 보면된다. Shared(공유) Lock Shared Lock은 데이터를 읽고자(Select) 할 경우 사용된다. 다른 Lock과는 호환되지만 Exclusive(배타적) Lock과는 호환되지 않는.. 2021. 7. 11.
DB - 트랜잭션과 트랜잭션 격리성 수준 트랜잭션(이하 Tx)은 데이터 처리를 위한 하나의 논리적 단위이며 하나의 Tx 안에서 두개 이상의 여러 연산일 수 있다. 실제 사용시에는 일반쿼리를 사용하여 만들 수 있지만 주로 Stored Procedure(이하 SP)를 실행할때 길고 연속적인 트랜잭션이 사용되므로 실행시에 다음과 같은 형태로 나타난다. 아래의 Tx는 2줄에 불과하지만 2줄이든 100줄이든 3000줄이든 트랜잭션으로 묶여있다면 그것이 하나의 작업단위이다. begin select * from dbo.player end Transaction의 특징 원자성(Atomicity) Tx은 더 이상 분해가 불가능한 업무의 최소 단위이므로 전부 처리되거나 아예 하나도 처리되지 않아야 한다 일관성(Consistency) 일관된 상태의 데이터베이스에서 .. 2021. 7. 9.
728x90