동시성 제어(Concurrency Control)DBMS에서 동시성 제어는 동시에 데이터에 접근하는 여러 사용자, 즉 여러 트랜잭션의 상호작용에서 트랜잭션의 isolation을 보장하고 일관성과 무결성을 유지할 수 있도록 하는 목적으로 사용되는 기술이다. 이러한 동시성 제어를 하는 대표적인 방식 중 가장 대표적인 Lock을 간단하게 알아보자. 공유 잠금(읽기 잠금, shared lock)이나 배타적 잠금(쓰기 잠금, exclusive lock)을 통해 Lock을 획득한 후 트랜잭션 내부의 작업을 수행하는 방식이다. (read로도 쓰기 잠금을 획득할 수 있다) 다른 트랜잭션은 이전 트랜잭션에서 Lock을 반환해야 작업이 수행이 가능하다는 의미이다. 이는 곧 SERIALIZABLE하다는 의미이며,..
[ 데이터베이스(Database, DB) ] 데이터베이스란 데이터의 집합이다. 데이터베이스는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리된다. 따라서, 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있다. 지금 사용하고 있는 카톡, SNS등의 정보도 모두 데이터베이스에 기록되고 있을 것이다. DB의 특징 사용자의 질의에 대하여 즉각적인 처리와 응답이 이루어진다. 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지한다. 사용자들이 원하는 데이터를 동시에 공유할 수 있다. 사용자가 원하는 데이터를 주소가 아닌 내용에 따라 참조 할 수 있다. 응용프로그램과 데이터베이스는 독립되어 있으므로, 데이터의 논리적 구조와 응용프로그램은 별개로 동작된다. DBMS(Datab..