Classification of Physical Storage Media
- 휘발성 저장소와 비휘발성 저장소
- 휘발성: 전원이 꺼지면 다 날라감
- e.g. RAM
- 비휘발성: 전원이 꺼져도 안날라감. secondary/tertiary storage 포함
- e.g. 하드 디스크
- DB는 보통 disk에 저장되어 있음
- e.g. 하드 디스크
- 휘발성: 전원이 꺼지면 다 날라감
- storage media를 선택할 때 고려하는 것
- 데이터 접근 속도
- 빠를수록 비싸고, 용량이 작음
- 단위 데이터 당 비용
- 신뢰성
- 데이터 접근 속도
Storage Hierarchy
- primary storage: 버퍼, 휘발성
- cache
- main memory: RAM
- secondary storage (on-line storage): 비휘발성
- flash memory: SSD
- magnetic disk: 하드디스크
- db 이용
- tertiary storage (off-line storage): 비휘발성, backup, 아카이빙, 오프라인 응용
- optical disk
- magnetic tapes
Magnetic Disks
- platter: 디스크의 원판, 디스크의 앞뒤 표면에 데이터 기록
- Read-write head: 디스크를 읽고 쓰는 head
- arm: 기계적인 동작으로 head의 위치를 원하는 트랙 위로 움직임
- tracks: 일련의 데이터를 저장하는 위치로 platter 표면의 동심원
- sectors: 데이터를 읽고 저장할 때의 기본적인 사이즈 단위로 보통 512 bytes
- 각 track은 일정한 sector로 나뉨
- 트랙 당 sector 수
- 500~1000: 플래터의 회전축과 가까운 트랙
- 1000~:2000: 플래터의 회전축과 먼 트랙
- cylinder
- 모든 플래터들에서 같은 반경을 가지는 트랙들의 집합
- seek time을 공유함
- seek를 한 번 수행하면, 같은 반경을 가진 트랙들은 추가적인 seek를 필요로 하지 않음
- 관련된 데이터를 한 cylinder에 모은 후 연속적으로 접근하면 효율적
sector를 읽고 쓰기 위해
- 1) arm이 head를 원하는 track에 위치시킴
- 2) platter가 회전하면서 head 아래로 sector가 지나갈 때 data가 읽히고 쓰여짐
Performance Measures of Disks
- Access time: read/write 요청이 일어난 시점에서부터 데이터 전송이 일어나기 전까지의 기계적인 동작
- Seek time: arm이 head를 원하는 track에 위치시키는 time
- Rotational Latency: head 아래로 sector가 지나가게 플래터를 돌리는 시간
- Data-transfer rate: 초당 25~200 Mb
- seek time > rotational delay > data transfer time
- 속도: 디스크 > 램
- 기계적인 동작이 포함되어 있음
- Disk block
- 버퍼로의 입출력 data 단위
- 버퍼로 read되었을 때 page라고도 부름
- 보통 4~16 kb
- block의 크기가 작으면, IO 횟수 ↑
- block의 크기가 크면, 낭비되는 공간 발생
- Sequential access pattern
- 첫 block에 대해서만 seek를 수행 후, 나머지 block에 순차적으로 접근
- Random access pattern
- 디스크 상의 여러 곳에 떨어진 block들에 대한 접근
- seek 발생↑ → 데이터 전송률↓
- I/O operations per seocnd (IOPS)
- IO연산: 디스크 ↔ 버퍼 상의 데이터 이동
- IO 연산을 초당 몇 번 할 수 있는가
'학교 > db' 카테고리의 다른 글
[ch15] 중간고사 이후~ (0) | 2022.05.25 |
---|---|
[ch15] Query Processing (0) | 2022.04.26 |
[ch14] Indexing (0) | 2022.04.26 |
[ch13] Data Storage Structures (0) | 2022.04.26 |
댓글