본문 바로가기
Database

[데이터베이스] transaction manager, storage manager, query manager

by onejunu 2020. 6. 11.

transaction manager 

- 트랜젝션이란? 

데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미

 

트랜잭션 매니저는 동시다발적인 트랜잭션을 관리 할 수 있어야 한다.

 

transaction manager 의 필수 기능 ACID

 

Atomicity (원자성) - 트랜잭션의 실행이 완전하게 일어나던지 아니면 시작조차 하지 않던지 둘중에 하나만 하라.

Consistency (일관성) - 트랜잭션이 성공적으로 완료 되면 일관적인 DB의 상태를 유지하는 것을 말한다. 데이터형이 정수형에서 string으로 변한다거나 하면 안된다.

Isolation(격리성) - 트랜잭션 수행시 다른 트랜잭션은 끼어들 수 없다.

durability ( 지속성) - 성공적으로 수행한 트랜잭션은 영원히 반영된다.

Storage manager

meta data, index 등을 이용하여 자료의 저장을 관리하는 프로그램 모듈이다.

데이터 베이스에 저장된 low-level data 와 어플리케이션 프로그램사이에 인터페이스를 제공하는 프로그램 모듈이다.

파일 매니저와 인터랙션이 있다.

효율적인 데이터의 검색,저장,수정을 목표

 

query manager( engine)

쿼리 엔진은 SQL 쿼리를 관계 대수로 변환한다. 

또한 쿼리 엔진은 몇개의 쿼리 플랜들을 생성하고 최적의 플랜을 선택한다. 선택된 플랜으로 쿼리는 계산된다.

 

대략적인 구조
전체 구조

 

댓글