본문 바로가기

Contact English

【데이터베이스】 10강. 기타 데이터베이스

 

10강. 기타 데이터베이스

 

추천글 : 【데이터베이스】 데이터베이스 목차 


1. 회복 기법 [본문]

2. 병행 제어 [본문]

3. 잠금 [본문]

4. 기타 용어 [본문]


 

1. 회복 기법(recovery) [목차]

⑴ 데이터베이스 수행 시 발생되는 장애의 유형

① 트랜잭션 장애 : 하나의 트랜잭션이 수행되는 과정에서 발생하는 오류

 시스템 장애 : 트랜잭션 장애들로 인해 시스템 상의 문제가 발생하여 트랜잭션이 수행되지 못하는 오류

미디어 장애 : 하드웨어적으로 하드디스크들이 손상되는 경우

 회복 기법

즉시 갱신 기법(immediate update, 즉각 갱신 기법)

트랜잭션 실행 상태에서 변경되는 내용을 그때그때 바로 데이터베이스에 적용하는 기법 

○ 즉, 트랜잭션이 데이터를 변경하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 기법

○ 회복 작업을 수행할 경우에는 Undo와 Redo 작업이 모두 수행됨 

지연 갱신 기법(differed update, 연기 갱신 기법) 

트랜잭션이 부분 완료되면 로그의 내용을 토대로 데이터베이스에 적용하는 기법

○ 즉, 트랜잭션이 성공적으로 종료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 기법

○ 회복 작업을 수행할 경우에는 redo 작업만 수행

③ 검사 시점 기법(check point, 검사점 기법)

 트랜잭션이 수행되는 중간에 체크 포인트를 지정하는 기법

○ 즉, 트랜잭션 실행 중 주기적으로 변경 내용이나 시스템 상황 등에 관한 정보와 함께 로그에 보관

○ 장애 발생 시 로그 전체를 조사하지 않고 로그 내에서 가장 최근의 검사점으로부터 회복 작업을 수행하여 회복시간을 단축 가능

그림자 페이징(shadow paging) 기법

데이터베이스를 페이지로 나누어 각 페이지마다 그림자 페이지를 보관하는 기법 

○ 즉, 갱신 이전의 데이터베이스를 일정 크기의 페이지 단위로 구성하여 각 페이지마다 복사보인 그림자 페이지로 별도 보관해 두고, 실제 페이지를 대상으로 트랜잭션에 대한 변경 작업을 수행하는 기법

○ 회복을 위해 로그를 유지할 필요가 없으며, 회복 작업을 수행할 경우에도 redo, undo, 작업을 수행할 필요가 없음

⑤ 미디어 회복(media recovery) 기법

○ 데이터베이스 내용을 주기적으로 안전한 저장 장치에 덤프해 놓는 기법

○ 장애 발생 시 가장 최근 덤프 이후 완료된 트랜잭션들에 대해 redo 작업만 수행

 

 

2. 병행 제어(concurrent control) [목차]

⑴ 개요

 정의 : 병행 실행 시, 트랜잭션 수행에 문제가 발생하지 않도록 제어하는 것

② 병행 제어 없이 트랜잭션들이 병행 수행되면 갱신 분실, 모순성, 연쇄 복귀 등의 문제가 발생할 수 있음

로킹(locking)

 병행 실행 시, 하나의 트랜잭션이 사용하는 데이터를 다른 트랜잭션이 접근하지 못하게 하는 것

 하나의 트랜잭션이 실행될 때는 'LOCK'을 설정하고, 실행이 완료되면 'UNLOCK'을 통해 해제함

로킹 단위

 LOCK를 설정할 데이터의 크기

② 로킹 단위가 클수록 LOCK의 가짓수가 적어짐

로킹 단위가 클수록 병행성 수준이 낮아짐

 병행 제어를 하지 않았을 때의 문제점

 갱신 이상(lost update) : 2개 이상의 트랜잭션이 같은 데이터를 공유하여 갱신할 때 갱신 결과 일부가 없어지는 현상

 모순성(inconsistency) : 두 개 이상의 트랜잭션이 수행되어 얻어진 결과들이 상호 일치하지 않은 모순된 결과가 발생하는 현상

 연쇄 복귀(cascading rollback) : 하나의 트랜잭션이 취소됨으로 인해 연쇄적으로 다른 트랜잭션도 취소되는 현상

 

 

3. 잠금 [목차]

 공유 잠금(Shared-Lock) : 트랜잭션 Ti가 데이터 X에 대해 공유 잠금을 걸면 트랜잭션 Tj는 데이터 X에 대해 읽기만 가능하고 기록은 불가능

 배타 잠금(Exclusive-Lock) : 트랜잭션 Ti가 데이터 X에 대해 배타 잠금을 걸면 트랜잭션 Tj는 데이터 X에 대해 읽기나 기록 모두 불가능

 

 

4. 기타 용어 [목차]

⑴ 튜닝(tuning) : 데이터베이스 시스템을 최적화하기 위해 조율하는 것

데이터베이스 엔진 : DBMS에서 데이터 조작을 담당하는 소프트웨어 모듈

CRUD 매트릭스 : 프로세스(=주체)-개체(=객체) 행렬, create, read, update, delete

데이터 큐브(다차원 구조) : 데이터 자체를 추상화하고, 차원별로 상상 이상의 데이터들을 효율적으로 운영하도록 함 

트리거(trigger) : 하나의 릴레이션에 변경이 있는 경우 그것을 참조하는 릴레이션의 내용도 자동으로 변경하는 것

스토어드 프로시저(stored procedure) : 자주 수행하는 SQL 명령문을 한 프로그램으로 작성해 DB에 저장한 것

ODBC(open database connectivity) : 공통적인 인터페이스를 통해 서로 다른 DB 파일을 볼 수 있게 한 DB 표준 접속규격

 OLAP(online analytical processing) : 사용자가 DB를 직접 검색하고 분석해서 문제점이나 해결책을 찾는 어플리케이션

 

 
MOLAP
ROLAP
HOLAP
기본 구조
다차원 데이터베이스
관계형 데이터베이스
다차원 DB + 관계형 DB
데이터 용량
/대용량
초대용량
초대용량
원시 데이터 접근
불가
가능
가능
분석력
높음
보통
높음
핵심기술
다차원 데이터베이스
다차원 모델링
다차원 DB + 다차원 모델링
적용
데이터 마트, EIS
전사적 데이터 웨어하우스
데이터 마트, EIS

 

 ODBC(online database connectivity) : 응용 프로그램이 다양한 DBMS에 접근할 수 있도록 한 표준 인터페이스

 행 이주(row migration)로 인한 검색 효율 저하 : varchar 형을 char 형으로 설정하거나, 테이블 생성 시 블록의 크기와 관련된 파라미터를 적절하게 조절함으로써 문제를 해결

 

입력: 2017.10.17 18:31