데이터베이스 Storage

갱두·2022년 1월 19일
0

📚 데이터베이스

목록 보기
9/9

💾 Stoarge

1. 캐시

  • volatile
  • 가장 빠르고 가장 비쌈
  • 컴퓨터 시스템 하드웨어가 관리함

2. 메인 메모리

  • volatile
  • 빠름(10 - 100 nanoseconds)
  • 모든 데이터베이스를 저장하기에는 너무 작거나 너무 비싸

3. Flash 메모리

  • non-volatile
  • 읽는 거는 메인 메모리만큼 빠름, 근데 쓰고 지우는게 느림
  • 디지털 카메라, 핸드폰, USB와 같은 곳에 자주 쓰임

4. Magnetic 디스크

  • non-volatile
    • power failure 이나 system crash에 살아 남음. 가~끔 가다가 disk failure가 data destroy 할 수도 있음
  • 데이터를 spinning disk에 저장, 그리고 읽고 쓰는 걸 magnetic하게
    자기장의 방향에 따라서 , 자기장의 방향으로 표현
  • 메인 메모리보다 훨씬 느림
    • 데이터에 access하기 위해서는 디스크에 있는 걸 메인 메모리에 올리고 다시 스토리지에 올림
  • 전체 데이터베이스를 저장
  • Direct access : 디스크에 있는 데이터를 어떤 순서든 상관없이 읽어올 수 있음

5. Optical 디스크

  • non-volatile
  • 위의 마그네틱과 다르게 얘는 laser를 사용해서 읽음
  • CD, DVD, 블루레이 => Write once - Read Many (WORM)과 같은 archival data에 주로 사용
  • 읽고 쓰는게 마그네틱 디스크보다 느림

6. 테이프

  • non-volatile
  • 용량 개쩜
  • 백업에 자주 사용 + archival data
  • Sequential access : 디스크보다 훨씬 느림

✅ Hierarchy

  1. Primary storage
    = 젤 빠른 거 + volatile ( 캐시 ~ 메인 메모리 )
  2. Secondary storage
    = 그 다음으로 빠른 거 + non-volatile ( 플래시 메모리 ~ 마그네틱 디스크 )
  3. Tetiary storage
    = 느리고 + non-volatile ( Optical 디스크 ~ 테이프 )

💿 Magnetic Disk

Read-write head

  • 플래터 표면을 돌아다니면서 정보를 읽음
  • Encoded 정보를 magnetically 읽고 씁니다

Track

  • 플래터의 표면은 동그란 트랙들로 나뉘어져 있음

Sector

  • 각 트랙들은 섹터로 나눠져 있음
  • 읽거나 쓸 수 있는 데이터의 가장 작은 unit
  • 512 bytes

Disk Controller

  • 컴퓨터 시스템과 디스크 하드웨어 사이의 인터페이스
  • 데이터가 잘 read back 되는 것을 보장할 수 있도록 체크섬 계산해서 붙여둠
  • 좋지 않은 섹터들을 remapping

✅ 퍼포먼스

✔️ Seek Time
Arm을 제대로 된 트랙까지 옮기는 데 걸리는 시간

✔️ Rotational Latency Time
플래터가 돌아서 제대로 된 섹터가 헤드 밑에 오게 되는 시간

✔️ Access Time
= Seek Time + Rotational Latency Time
Read나 Write 리퀘스트가 시작된 순간부터 ~ 데이터 전송이 시작되는 시간

profile
👩🏻‍💻🔥

0개의 댓글