전공 과목 이수2👨‍💻/데이터베이스관리

저장장치

천숭이 2021. 9. 15. 22:53

## 저장장치 계층 (캐시, 메인메모리, 플래쉬메모리, 디스크 )

 

# 캐시 (레지스터와는 다름)

- 가장 빠르고, 가장 비싸다.

- 하드웨어가 관리

- Buffering 으로 속도증가

 

# 메인메모리 = 주기억장치

 - 연산에 이용하는 데이터 저장
 - 개인컴퓨터: 수 Giga
 - 대용량 서버: 수백 Giga
       -그래도 전체 DB를 저장하기에는 태부족, 고가
 - 정전, 시스템 오류 -> 내용 손실

 

# 플래시 메모리(Flash Memory)
- 비휘발성, 주기억장치보다 저렴
- 자기 디스크 드라이브 대체
      - SSD(Solid State Drive)
      - 적절한 용량일 경우
      - 최대용량: 2013년 기준 2테라 제품 출시 
      - HDD보다 빠름 -> 데이터 캐시 역할

 

# 자기 디스크 저장장치(Magnetic Disk Storage) ***중요***
- 온라인으로 장기간 데이터 저장을 위한 중심 매체
- 비휘발성
- 전체 DB를 저장
- 용량: 매년 50% 정도로 꾸준히 성장
- 저장장치 자체 고장에 따른 데이터 손상 발생 가능 -> 시스템 고장보다 훨씬
적음

 

# 광 저장장치(Optical Storage)
- CD(Compact Disk)
- DVD(Digital Video Disk)
- CD-ROM, DVD-ROM: 기록 불가
- CD-R, DVD-R: WORK(Write Once Read Many)
- CD-RW, DVD-RW: Write Many Read Many
- 광학 디스크 주크박스

 

# 테이프 저장장치(Tape Storage) *지금도 중요한 장치*

- 선행지표
- 데이터 백업, 보관용
- 저렴
- 순차접근장치
- 고용량
- 테이프 Library, 테이프 Jukebox
       ->매우 큰 규모 데이터 저장
             - 인공위성 수집 데이터

 


<암기x>

1차 (Primary) 저장장치 (온라인)
! 캐시, 메인 메모리 - 휘발성


 2차(Secondary) 저장장치 혹은 온라인 저장장치
! 디스크 +SSD - 비휘발성


 3차(Tertiary) 저장장치 혹은 오프라인 저장장치
! 자기테이프, 광디스크 주크박스


! 휘발성(Volatile)
! 비휘발성(Nonvolatile)
    - 데이터 보관을 위해서는 비휘발성 저장장치에 기록되어야 함

 


< 디스크 구성 >     **중요**

디스크 구성요소

- 암은 가만히 있고, 플래터(판)이 돌아가면서 원하는 데이터에 헤드가 위치하게 한다.

데이터를 읽고 주기억장치에 데이터를 전달한다.

 

# 디스크

- 크기는 작은편

- 구성 : 디스크 표면 -> 트랙 -> 섹터

- 섹터 : 디스크로부터 읽고 쓸 수 있는 가장 작은 단위 (read & write)

           보통 512바이트

- 블록 : 여러개의 섹터로 이루어짐

- 섹터 물리적 - 디스크, 파일:블록 - 논리적(추상적)

 

데이터베이스, 파일 , 섹터 , 디스크의 관계

1 : 데이터베이스에서 데이터를 불러온다 = 파일

2 : 파일은 여러개의 블록으로 구성되어있다. 데이터베이스만들때 사람이 크기를 지정한다.

3 : 데이터베이스를 다뤄주는 DBMS가 OS를 통해서 파일을 바라보고 있다.

4 : 블록은 디스크의 섹터로 구성되어있다. 섹터의 크기는 기계적으로 정해져있다.

 

# 판독-기록 헤드

- 섹터위에 데이터를 기록

- 각 면당 헤드를 가짐

- 외부에는 헤더를 달지 않음

- 디스크에 충격이 생기면 헤더들이 한번에 뒤로 빠짐.

 

# 디스크 컨트롤러

- 컴퓨터 시스템과 디스크 드라이버의 하드웨어를 연결

- 디스크 컨트롤러가 하드웨어에서의 일을 모두 담당한다.

- 디스크에 달린 암의 동작을 제어하는 역할을 한다.

- 섹터를 읽고, 쓰기 위한 고수준 명령어를 받기 -> 디스크 암을 정확하게 해당 트랙에 이동 -> 실제 데이터를 읽고 쓰도록 함.

- 소프트웨어이다.

컴퓨터 본체 - 디스크 컨트롤러 - 하드디스크

- 각 섹터의 checksm 점검 (오류 여부를 판단)

- 컴퓨터시스템과 연결을 위한 공용 인터페이스 (PATA사용x, SATA, SCSI 케이블이 있다)

 

## 디스크 성능 측정 (* 탐색시간, 회전지연시간, 데이터전송속도 *)

디스크의 우수성에 대한 주요 측정은 용량, 액세스 시간, 데이터 전송속도, 신뢰성

 

# 액세스 시간 : 읽기/쓰기 요구부터 데이터 전송시작까지 시간

- 탐색시간 + 지연시간

- 탐색시간(seek time) -> 가장 영향력이  큰 시간

- 탐색시간의 평균탐색시간은 최악시간의 1/3정도

 

- 회전지연시간 : 헤더가 원하는 트랙에 도달한 후 원하는 섹터가 헤드 아래에 오는데 걸리는 시간

# 데이터 전송속도

- 섹터가 접근된 후 데이터가 디스크로부터 R/W되는 속도

 

# MTTF 

- 평균적으로 디스크가 아무 실패 없이 계속 동작할 수 있는 시간


# 블록

- 연속적인 섹터들의 묶음

- 디스크 입출력 단위

 

# 블록에 대한 요청

- 순차적 접근 : 연속적인 블록들을 접근, 첫 요청에만 탐색시간이 발생함

- 임의적 접근 : 요청들에 따라 접근, 요청마다 탐색시간이 요구됨

 

## 디스크 블록 액세스의 최적화

# 버퍼링

# 미리읽기

- 회전지연 낭비시간 최소화
# 스케줄링 / 디스크 - 암 스케줄링

- 읽기요구의 순서 재구성

- 승강기 알고리즘. 가는 경로에 요구가 있는 트랙이 있으면 멈춘다.

# 파일 구성

- 같은 파일은 가능한 같은 트랙에 위치하게 -> 순차탐색이 가능하게끔

- 시간이 지나면 단편화(Fragmentation)발생 : 파일들이 흩어져있음 헤드가 많이 움직여야 함

# 조각모음(Defragmentation)

- 하나의 트랙에 있게끔 디스크에 블록을 배치 -> 블록 액세스 시간 줄임

- 백업을 위한 공간이 하나 더 필요하다.


## 플래시 저장장치 SSD

# NAND플래시 -> NOR보다 더 저렴하고 많은 용량 제공

- 자기디스크보다 더 빠른 임의접근 제공

- 데이터 페이지

- 쓰기작업은 다소 복잡 -> 덮어쓰기가 안되어 지우고 다시쓰기를 해야하므로

- READ <<< WRITE시간

- 동일한 페이지당 지우기 횟수에 제한이 있음 (10만~100만회로)

 

 

 

 

 

 

 

 

 

'전공 과목 이수2👨‍💻 > 데이터베이스관리' 카테고리의 다른 글

Transaction 트랜잭션  (0) 2021.12.06
인덱스 정리  (0) 2021.11.05
인덱스  (0) 2021.10.13
파일 내 레코드 구조, 데이터 사전 저장장치  (0) 2021.10.05
파일 구조  (0) 2021.10.04
RAID  (0) 2021.10.04