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
'▶ 자연과학 > ▷ 데이터베이스∙빅데이터분석기사' 카테고리의 다른 글
【데이터베이스】 데이터베이스 목차 (0) | 2023.09.18 |
---|---|
【데이터베이스】 12강. SQL (0) | 2021.10.11 |
【데이터베이스】 11강. 빅데이터분석기사 (0) | 2017.10.02 |
【데이터베이스】 3-1강. 정규화 (0) | 2017.10.02 |
【데이터베이스】 3강. 관계형 데이터베이스 (0) | 2017.10.02 |
최근댓글