본문 바로가기

학교/데이터베이스

(20)
21 디스크 접근 시간 A : 트랙 B : 섹터 C : 트랙 A의 섹터 D : 클러스터 (섹터의 집합) 탐구 시간(seek time) : 디스크 실린더에 헤드를 놓는 시간 지연 시간(Rotiaion time, latency) : 헤드가 트랙 내에서 원하는 섹터까지 가는 시간 블록 전송 시간(block ransfer time) : 원하는 섹터를 읽는데 걸린 시간 실린더의 개수 : 원판의 동심원(트랙) 개수 한 실린더에 들어가는 트랙 수 : 원판의 개수 * 2 ( 앞 뒷면 다 쓰니) -> 원판이 여러 개일 때, 같은 위치에 있는 트랙들 수를 말하는 거임 예시를 보자 예시 1 Block size B : 512 Bytes, Gap size G : 128 Bytes 이고, 한 트랙에 존재하는 블록이 20개, 한 표면에 존재하는 트랙이 ..
20. sql-condition 보호되어 있는 글입니다.
19. SQL-DML 보호되어 있는 글입니다.
18. SQL-DDL 보호되어 있는 글입니다.
17. 데이터베이스 보안 데이터베이스 보안은 다음 4가지 측면에서 볼 수 있다 1. 윤리 2. 정책 Ex) 어떤 정보를 보여줄지 3. 시스템 관련 issues Ex) HW 레벨에서 볼지, OS레벨에서 볼지 등등 4. 보안 레벨 Ex) top secret, secret, confidential, unclassfied 등 DB의 정보보안 3원칙 1. 무결성 - 의도적이거나, 예상치 못한 일로 데이터가 무단으로 변경되는 사항 방지 2. 가용성 - 정당한 권한이 있는 사용자가 데이터를 이용할 수 있게 함 3. 기밀성 - DB는 인증되지 않은 사용자로부터 기밀 데이터를 보호해야 함 이 3원칙을 지키기 위한 방법들은 다음 4가지가 있다. 1. access control 접근 제어라고 하며, 인증받지 않은 사용자의 접근을 차단한다. DBMS..
16. Database Recovery Database 에 문제가 발생하면, 마지막으로 성공한 작업으로 돌아감(consistent state) system log는 이런 상황을 대비해, 트렌젝션들에 의해 변경된 data 정보 기록 하지만, 메인 메모리에 대한 정보는 잃음 Recovery 방법엔 크게 2가지가 있다. 1. catastrophic failure - 백업된 다른 archival stoarge로 복구 - 백업된 로그에서, 커밋된 트렌젝션 작업을 실패 지점까지 돌리거나, 다시 실행해 최신 상태 재구성(redo) 2. noncatastrophic failure - 데이터베이스에서 inconsist를 유발할 수 있는 변경 사항 파악 - 디스크에서 완전히 커밋되지 않은 트렌젝션은 처음부터 다시 해야 함(undo) - 일관성 유지를 위해, 작..
15. Dead lock 교착상태. 2개의 트렌젝션 A, B가 각각 X, Y에 대한 lock 을 가지고 있을 때, 다음을 가정해보자. 1. A는 Y의 lock을 요구한다. 2. B는 X의 lock을 요구한다. A가 Y의 lock을 받기 위해선, B가 X를 받아야 하고, 그 반대의 경우도 마찬가지다. 이렇게 서로 상대방의 lock만 보는 상황을 Dead lock, 교착 상태라 한다. Transaction Timestamp (TS) 가장 많이 쓰는 prevention 기법 Transaction이 시작한 시간별로, wait를 할지, restart를 할지 결정 시간이 작으면, old 트렌젝션 시간이 크면 new 트렌젝션 으로 본다. Ex) 오후 2시 : 14:00, 오후 4시 : 16:00 wait-die Ti가 old 트렌젝션, Tj..
14. Concurrency Control Concurrency Control Protocols 이전 장에서 본 Serialize 검증 기법은 너무 비효율적이기에 설계된 프로토콜. 다음 방식들을 상용한다. 1. Locking 2. Timestmap 3. Multiversion CC Protocols 4. Optimistic protocols 5. Multiple granularity Concurrency Control Two-Phase Locking 기법 0(unlock)과 1(lock)을 사용해, 외부 트렌젝션의 접근 차단 2PLP라고도 한다. 규칙은 다음과 같다. 1. 데이터 X에 대해 read/write 연산을 하고 싶으면, X에 대한 lock을 얻어야 한다. 2. 종료되기 전엔 모든 개체에 대해 unlock (lock 반환) 3. lock..