DB하드웨어(디스크저장,기본파일구조,해싱)
<Disk storage devices --> 하드디크스(디스크)>
- 높은 저장 용량과 낮은 비용의 선호되는 두번째 저장장치
- 데이터는 자기장 디스크 표면에 자기적 영역으로써 저장된다.
- Disk pack은 rotating spindle에 연결된 몇 개의 자기적 디스크를 포함한다.
- 디스크들은 동심의 원 트랙으로 각 디스크표면에서 나누어진다.
- Track은 작은 Blocks 또는 Sectors로 나누어진다.
많은 양의 정보를 포함할 수 있기 때문! - Track이 Sectors로 변환되는 것은 디크스 표면에 hard-coded하는 것이며 변경할 수 없다.
Sector는 각도로 정보를 자른다. - Block은 길이로 정보를 자른다. block size B는 각 시스템마다 고정되어 있다. 범위는 B=512 - B=4096 bytes.
전체 블럭들은 디스크와 메인 메모리사이에서 프로세싱을 위해 변형된다.
- read- write head는 전송될 블록들을 포함하고 있는 트랙으로 이동한다.
디스크 로테이션은 읽기 ,쓰기를 위해 read-write head아래의 블록을 움직인다. - Physical Dist block( HardWare ) 주소는 아래의 3가지 요소로 구성되어있다.
- Cylinder number ( 모든 기록된 표면으로 부터 같은 반지름의 트랙의 가상의 집합)
- Track number 또는 Surface number(실린더 내부)
- Block number(트랙 내부) - 하나의 디스크 블록을 읽거나 쓰는것은 시간낭비이다. Seek time(s) 와 Rotational delay(rd) 때문이다
- 더블 버퍼링은 인접한 디스크 블록들의 전송 속도를 빠르게 하기위해 사용된다.
**OS
1.처리기 관리기능
2.메모리(buffer) 관리
3.file 관리
4. IO device관리
<Record> : 같은 형태를 가지는 record들의 집합을 file이라 하고 하드에서는 file단위로 관리한다.
--> Record들은 tuple , field들은 attribute에 상응되는 의미를 갖는다.
- 고정 가변 길이 레코드
- Record들은 특정한 타입의 값들을 갖는 필드를 포함한다. (ex. amount , date, time, and age)
- 필드자체는 고정길이 또는 가변길이 일 수 있다.
- 가변길이 필드는 하나의 레코드로 혼합될 수 있다.
레코드는 "해석"되기 위해서 구분 문자 또는 길이 필드가 필요하다.
<Blocking : 디스크 한 블록에 여러 개의 레코드를 저장하는 것을 지칭한다>
- Blocking factor(bfr) 은 블록 당 레코도의 수를 의미한다.
- 하나의 블록에 정수의 레코드가 들어가지 않으면, 블록에 빈 공간이 생길 수도 있다.
- Spanned Records : 여유 공간을 다음 record를 위해 쓰는것.
<File of Records>
- 파일은 일련의 레코드들이고 레코드들은 데이터 값의 집합이다.
- file descriptor( or file header ) 는 필드 이름 , 데이터 타입, 디스크의 파일 블록의 주소와 같은 정보를 포함한다.
- Record들은 disk block에 저장된다.
- Blocking factor (bfr) 은 하나의 디스크 블록안에 저장된 파일 레코드의 숫자이다.
- 파일은 고정길이 레코드 혹은 가변길이 레코드를 갖을 수 있다.
- 파일 레코드는 un-spanned or spanned가 될 수 있다.
un-spanned : 어떤 레코드도 2블록을 span 할 수 없다
spanned : 하나의 레코드는 한개 이상의 블록들에 저장될 수 있다.
- 파일 레코드들을 잡기 위해 할당되어있는 Physical disk blocks은 인접하거나, 연결되거나, 인덱싱 될 수 있다.
- 고정 길이 레코드안에서, 모든 레코드들은 같은 형식을 일반적으로 갖는다. ( Un-spanned blocking 이 주로 쓰인다.)
- 가변 길이 레코드의 파일들은 각 레코드안에 저장될 추가적인 정보(구분 문자 , 필드타입 )들을 요구한다. (Spanned blocking이 주로 쓰인다.)
<파일에서의 작동>