DevGang
[DB-20] 데이터베이스 제어 본문
1. 보안 (Sequrity)
- 무결성은 권한이 있는 사용자로부터 데이터베이스를 보호하는 것, 보안은 권한이 없는 사용자로부터 데이터베이스를 보호하는 것
2. 보안의 특성
- 보안을 위한 데이터 단위는 테이블 전체로부터 특정 테이블의 특정한 행과 열 위치에 있는 특정한 데이터 값에 이르기까지 다양함
- 각 사용자들은 일반적으로 서로 다른 객체에 대하여 다른 접근권리 또는 권한을 갖게 됨
- SQL의 경우에는 보안규정에 포함된 독립적인 기능으로 뷰 기법(view mechanism)과 권한인가 서브시스템(authorization subsystem)이 있음
3. 병행 제어의 목적
- 데이터베이스의 공유 최대화
- 시스템의 활용도 극대화
- 사용자에 대한 응답 시간 최소화
- 데이터베이스의 일관성 유지
4. 병행 제어기법에 의한 트랜잭션 제어로 막을 수 있는 문제점
- 갱신 분실(lost update) : 갱신작업 시 반영이 안 되는 현상
- 모순성(inconsistency) : 일광성이 깨짐
- 연쇄 복귀(cascading rollback)(회복 불능)
- 비 완료 의존성 문제(uncommitted dependency problem)
- 불일치 분석 문제(inconsistent analysis problem)
5. 로킹(Locking)
- 데이터의 접근을 상호 배타적으로 만들어 병행 제어를 하는 방법(하나의 트랜잭션이 데이터를 액세스 하는 동안 다른 트랜잭션이 그 데이터 항목을 액세스 할 수 없도록 하는 방법)
- 로킹 단위가 크면 병행성 수준이 낮아짐
- 2단계 로킹(two phase locking)
- 직렬성을 보장
- 확장단계와 축소 단계의 두 단계가 있음
- 각 트랜잭션의 로크 요청과 해제 요청을 2단계로 실시
- 스케줄의 직렬성을 보장하지만 교착상태가 발생할 수 있다.
* 로킹의 병행성 수준
- 차원(Page-level) 잠금 > 테이블 차원의 잠금 > 행 차원의 잠금
6. 회복의 정의
- 데이터베이스에 손상이 가해졌을 때 손상되기 이전의 상태로 되돌리는 작업
7. 장애의 종류
- 트랜잭션 장애(Transaction Failure)
- 시스템 장애(System Failure)
- 미디어 장애(Media Failure)
- 네트워크 장애(Network Failure)
8. 회복 기법
- 트랜잭션으로 쓰기가 수행될 때마다, 데이터베이스가 변경되기 전에 로그 레코드를 생성
- 갱신 기법 : 연기 갱신(종료 시점까지 연기)과 즉각 갱신(부분완료 시점에도 반영)으로 나눔
- 그림자 페이징 기법: 일정 크기 단위로 복사본을 보관해두고 변경하는 기법
- 검사점 기법 : 검사시점을 로그에 보관해두고 그 시점을 찾아 수행하는 기법
- 미디어 회복 기법 : DB내용을 주기적으로 어딘가에 덤프(저장)해 놓는 기법
- Undo : Log에 저장된 정보를 이용하여 가장 최근의 변경(트랜잭션)부터 취소하여 데이터베이스 복구
- Redo : 트랜잭션 오류 시 가장 최근의 정상상태로 DB를 되돌린 후 트랜잭션 다시 수행
'정보처리 > DB' 카테고리의 다른 글
[DB-22] 자료구조 (0) | 2021.01.30 |
---|---|
[DB-21] 분산 데이터베이스 (0) | 2021.01.30 |
[DB-19] 트랜잭션 (0) | 2021.01.30 |
[DB-18] 뷰 (VIEW) (0) | 2021.01.30 |
[DB-17] 시스템 카탈로그 (0) | 2021.01.30 |
Comments