반응형

트랜잭션 3

버클리 DB에 대한 간단한 소개

업무적인 요건때문에 요즘 버클리 DB를 이것 저것 살피고 있다. 버클리 DB에 관한 서적이 거의 없는 관계로 구글과 오라클 사이트에서 영문 자료들을 살펴보고 있는데, 정말 관심이 가고 흥미를 끄는 DB 이다. 우선 버클리 DB는 우리가 알고 있는 디스크 기반의 관계형 데이터베이스가 아니다. 메모리 기반의 데이터베이스 라이브러리 형태이다. 즉, 데이터베이스 서버가 아닌 프로세스내의 메모리 영역으로 매핑되는 라이브러리 형태이다. 따라서 임베디드 어플리케이션에서 많이 사용되고 있다. 유닉스와 윈도우 환경을 지원하고 C, C++, JAVA, TCL, C# 등의 다양한 API를 제공하고 있다. 또한 순수 JAVA로 작성된 Berkeley DB Java Edition도 별도로 있다. 설치도 어렵지 않다. 윈도우 2..

트랜잭션 특징 및 상태전이

○ 트랜잭션(Transaction) 특징 및 상태전이 원자성(Atomicity) ° All or Nothing ° 더 이상 분해할 수 없는 작업의 단위 ° Commit : Transaction의 성공적 종료 - DB는 일관된 상태에 놓임 - 영구적 반영 ° Rollback : Transaction의 비정상 종료 - DB는 비일관된 상태에 놓임 - 갱신작업이 취소되어야 함(Undo) 일관성(Consistency) ° Transaction 실행의 결과로 데이터베이스의 상태가 일관성 유지 고립성(Isolated) ° 어떤 Transaction도 다른 Transaction의 부분적 결과를 볼 수 없음 영구성(Durability) ° Transaction이 일단 완료되면 결과는 영구적으로 보장 실행(Active)..

직렬가능성

○ 직렬가능성, 회복가능 개요 ° 트랜잭션들의 연산들이 인터리빙되어 수행될 때 어떤 스케줄들이 정확한지 식별하는데 사용됨 ° 직렬가능 스케줄에서는 어떠한 정확성도 잃지 않으면서 동시 실행의 장점을 얻을 수 있음 직렬스케줄 직렬가능 ° 스케줄에 참가하는 모든 트랜잭션 T에 대해서 T에 속한 모든 연산들이 다른 트랜잭션의 연산들과 인터리빙 되지 않고 연속적으로 실행될 때 직렬스케줄이라고 함 결과동치(View Equivalence) 충돌동치(Conflict Equivalence) ° 두 개의 스케줄이 DB의 최종상태를 같게 만드는 경우 ° 스케줄 동치에 사용되어선 안됨 ° 두 개의 스케줄에서 어떠한 두 개의 충돌 연산들의 순서가 동일할 경우 ° n개의 트랜잭션들로 구성된 스케줄 S가 동일한 n개의 트랜잭션들로..

반응형