1. 화일 저장 장치의 특성
- 저장 매체, 접근 장치, 저장 장치
1) 1차 저장 장치
- 메인 메모리 : 내용을 접근하는 시간은 일정하고 빠름, 프로그램/데이터 처리 위한 작업 공간
- 캐시 메모리 : 메인 메모리의 성능 향상 목적
2) 2차 저장 장치
- 자기 디스크 : 데이터 접근이 느림 BUT 싸서 주로 화일 저장에 쓰임
- 광 디스크, 자기 테이프
2. 저장 장치의 계층
1) 캐시 메모리
- 가장 빠르고 가장 비싼 저장장치, 용량 아주 작음
- 저장 매체 : SRAM(Static Random Access Memory)
- CPU 성능을 증진 시키기 위해 사용
- 소멸성 : 데이터 저장에는 부적합
2) 메인 메모리
- 프로그램 실행과 이에 필요한 데이터 유지 공간
- 저장매체 : DRAM(Dynamic Random Aaccess Memory)
- SRAM에 비해 느리지만 값이 쌈 BUT 전부 저장하기엔 용량 적음
- 소멸성 : 데이터 저장에는 부적합
3) 플래시 메모리
- 비휘발성 컴퓨터 기억 장치, 메인 메모리와 비슷한 접근 속도
- 용량 : 무어의 법칙을 뒤집고 황의 법칙(1년에 용량 2배증가) 등장
- 종류 : NAND형(저장용량 큼), NOR형(NAND에 비해 읽기속도 빠르지만 쓰기 속도 느리고 비쌈)
고가 비 용 저가 |
캐시 메모리 | 빠름 속 도 느림 |
메인 메모리 | ||
플래시 메모리 | ||
자기 디스크 | ||
광 디스크 | ||
자기 테이프 |
4) 자기 디스크
- 직접 접근 저장 장치 중 가장 많이 쓰이는 장치
① 종류 : 하드 디스크, 플로피 디스크
② 분류 기준 : 기록 표면의 수, 데이터 전송률, 기록/판독 헤드 이동 시간, 접근 방법, 회전 지연, 밀도
③ 자기 디스크의 물리적 특성 : 디스크 팩, 디스크 구동기, 디스크 제어기로 구성
④ 데이터 저장
- 디스크의 구성
> 트랙 : 갭과 섹터들로 구성
> 섹터 : 기록과 판독 작업의 최소단위
> 갭 : 트랙 전체 길이의 10% 차지, 섹터의 시작점 식별
> 실린더 : 지름이 같은 트랙 전체
- 블록 : 디스크와 메인 메모리 사이의 전송되는 데이터의 논리적 단위
⑤ 유동 헤드 디스크 접근
- 유동 헤드 디스크 : 헤드가 원하는 트랙에 위치하도록 액세스 암을 이동
- 데이터 전송 연산 시간 = 탐구시간+회전 지연시간+ 전송시간
⑥ 고정 헤드 디스크 접근
- 고정 헤드 디스크 : 각 트랙마다 하나의 헤드, 탐구 시간이 0
- 데이터 전송 연산 시간 = 회전 지연시간+전송시간
- 유동보다 10배 빠르지만 비쌈
⑦ 윈체스터 디스크 : 기록 밀도가 높고 중소형 컴퓨터에서 사용(보편적인 하드디스크)
⑧ SSD : 전기 신호로 움직이기 때문에 HDD보다 빠름 BUT 비쌈
5) 플로피 디스크
- 유연한 디스크 저장 장치
- 8인치, 5.25인치, 3.5인치 있음
6) 디스크 저장 장치의 특성
- 회전 속도 : 통상 5400rpm
- 디스크 드라이브의 원반 수 : 통상 5개의 원반
- 기록 면당 크랙 수 : 통상 2만개, 디스켓은 40개
- 트랙당 바이트 수 : 통상 백만 바이트, 디스켓은 18,750바이트
3. 디스크 데이터 접근
✅ 디스크에 저장된 데이터 처리
⒜ 블록이 위치하는 트랙이 포함도니 실린더에 헤더가 위치
⒝ 디스크가 회전하면서 블록이 포함된 섹터들을 헤더가 인식, 판독/기록
1) 데이터 접근 시간의 구분
ⓐ 탐구 시간(s) : 원하는 데이터가 있는 실린더에 r/w 헤드를 위치 시키는데 걸리는 시간
* 평균 탐구 시간 : 한 화일이 몇개 인접 실린더에 기록되면 헤드 평균 이동은 줄어듬
ⓑ 회전 지연 시간(r) : 목표 트랙에서 원하는 블록이 저장된 첫 번째 섹터가 판독/기록 헤드 밑에 도달하여 데이터 전송을 할 수 있을 때까지 걸리는 시간 (r=1/2*1회전시간)
* 회전 속도가 3,600rpm인 디스크에서 r은 몇 ms? 60sec : 3600 = x : 1 , x=8.33ms
ⓒ 전송 시간 : 블록의 섹터들과 이들 사이의 갭들이 헤드 및을 회전하며 통과하는데 걸리는 시간
ⓓ 전송률 : 초당 데이터가 전송되는 속도
2) 블록의 판독
- 평균 탐구 시간 > 평균 지연 시간 > 평균 전송 시간
- 여러개의 블록을 효율적으로 전송하려면 여러개의 연속적인 블록을 같은 실린더에 저장
3) 블록의 기록과 갱신
4) 블로킹
- 블록 : 데이터 전송의 단위(물리적 레코드)
- 블록의 크기 : 크기가 작으면 disk i/0가 증가, 너무 크면 메모리 효율성 저하
ⓐ 블로킹 인수(bf)
- 블로킹 : 기억공간과 i/o 효율을 위해 몇개의 논리적 레코드를 하나의 블록에 저장시키는 것
- 블로킹 인수 = b(블록크기)/r(레코드 크기)
ⓑ 장점 : 갭으로 인한 기억 공간 낭비 감소, i/o 시간 감소
ⓒ 단점 : 버퍼 크기 만큼 주기억장치 내 사용공간 차지
✔️ 블로킹 방법
- 고정 길이 블로킹
- 신장된 가변 길이 블로킹 : 구현, 판독, 갱신이 어려움
- 비 신장된 가변 길이 블로킹 : 저장공간 낭비가 심함
5) 레코드와 블록
- 블록 헤더 : 블록 내의 레코드 수, 수정날짜 등 정보
- 레코드 설계 시 고려 사항 : 메인메모리 바이트 주소 특성 고려, 레코드 헤더를 고려
6) 블로킹의 고려 사항
① 적재 밀도
- 갱신을 위한 자유 공간 할당
- 실제 데이터 저장 공간과 자유 공간을 포함한 총 공간과의 비율
- 적재 밀도가 낮으면 디스크에 추가 접근 없이 데이터 삽입 가능성이 높아지지만, 많은 블록을 읽어야 한다.
② 균형 밀도
- 안정된 예상되는 저장 밀도
③ 집약성 : 레코드들의 근접성
4. 자기 테이프
- 싸고 용량 큼
1) 저장 장치 구조
ⓐ 테이프 구동기 : 판독/기록 헤드
2) 데이터 표현과 기록 밀도
ⓐ 데이터 표현
- 자화된 방향에 따라 0/1의 값
- 테이프 기록/판독 이동 속도 : 200ips
- 기록 : 충전된 코일에 의해 자화
- 판독 : 자화가 코일에 전류를 유도하여 감지
ⓑ 기록 밀도
- 1인치당 비트 수(bpi)
3) 블록
- 메모리와 테이프 사이의 입출력 단위
- 블록 간 갭(ibg) : 테이프 이동 속도 조절
- 블로킹 인수 : 공간 활용도와 접근 시간과 관련
✅ 테이프의 소요 길이 ⭐⭐⭐⭐
Q . 기록밀도가 6250bpi인 100byte 레코드가 24000개가 있고 ibg가 0.3inch인 테이프가 있다.
이 때 논블로킹/블로킹팩터가 5일때 데이터와 IBG의 길이는?
A . 논 블로킹일때 레코드 하나 하나마다 블록간갭(IBG)가 있음 따라서 IBG 값이 큼
i ) non-blocking
ii ) blocking factor = 5
✅ 입출력 속도 ⭐⭐⭐⭐
- 기록/판독 속도가 200ips, 갭 통해 출발 및 정지에 걸리는 시간 = 0.15초
4) 테이프 카트리지 : 송신 릴과 수신 릴을 하나의 카트리지 내에 장착해 둔 휴대형 소형 매체
5. 광 디스크
1) 저장 원리 : CD-ROM에 데이터 기록 방법
2) 물리적 특성 : ...
3) 장점 : 가격 저렴, 대용량, 대량생산 가능, 보존성 좋음
4) 단점 : 자기 디스크보다 탐구 시간이 길다, 무작위 접근이 신속하지 않음
5) DVD : 양면 사용, 밀도와 저장 방식 개선, CD의 7배 이상
'Major > Database' 카테고리의 다른 글
[파일 처리] 04 순차 화일 (0) | 2022.04.13 |
---|---|
[파일 처리] 03 파일 입출력 제어 (0) | 2022.04.09 |
[파일 처리] 01 화일의 기본 개념 (0) | 2022.04.06 |
[데이터베이스설계] Mysql stored function 피보나치(fibonacci) (0) | 2021.11.18 |
[데이터 마이닝] WEAK 정리... (0) | 2021.10.14 |