[ch12] Physical Storage Systems

    Classification of Physical Storage Media

    • 휘발성 저장소와 비휘발성 저장소
      • 휘발성: 전원이 꺼지면 다 날라감
        • e.g. RAM
      • 비휘발성: 전원이 꺼져도 안날라감. secondary/tertiary storage 포함
        • e.g. 하드 디스크
          • DB는 보통 disk에 저장되어 있음
    • 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

    댓글