1. Overview of Physical Storage
storage Hierarchy
storage는 크게 volatile과 non-volatile로 구별할 수 있다.
- volatile storage : 전원이 꺼지면 내용을 모두 잃는다.
- non-volatile storage : 전원이 꺼져도 내용을 유지된다.
storage마다는 각기 다른 speed, cost, reliability 를 가지고 있다.

아래로 갈수록 speed는 느리고 비용은 저렴해진다.
가장 빠르고 휘발성을 띄는 cache, main memory와 같은 저장장치를 primary storage 즉 주기억장치라고 한다. 그리고 주 기억장치보다 느리고 비휘발성을 띄는 flesh memory, HDD를 senodary storage , on-line storage 즉 보조기억장치하고 한다. 매우 느리고 비 휘발성을 띄는 magnetic tape, optical storage를 tertiary storage, off-line storage 즉 3차저장장치라고 한다.
- Cache는 가장 빠르고 비싼 storage이다. 이는 컴퓨터 시스템 하드웨어에 의해 관리 된다.
- Main memory는 프로그램이 실행될 때 필요한 데이터와 명령어를 저장하는 기억장치이다. 대용량의 데이터를 저장하기에는 작고 비싸기 때문에, 대부분은 보조기억장치에 저장되며 필요할때 다시 주 기억장치로 불려와 실행된다. 이는 volatile 하기 때문에 데이터 손실을 막기 위해 보조기억장치와 조합하여 데이터를 처리한다.
- flash menory는 주 기억장치와 다르게 non-volatile이다. 주기억장치보다 저렴하며 휴대폰, USB 등에 사용된다. SSD는 flesh memory를 사용하여 자가디스크와 유사한 인터페이스를 제공한다.
- magnetic memory는 non-volatile 메모리이다. 보통 HDD로 많이 알려져 있으며 SSD에 비해 저렴하다.
- optical disk는 레이저 광원을 이용하여 데이터를 읽고 쓰는 광학 저장 장치이다. 예시로는 DVD가 있고 너무 느려 요즘에는 잘 사용하지 않는다.
- magnetic tapes는 장기가 안전하게 데이터를 저장해야하는 경우 많이 사용한다. 이는 테이프 모양처럼 생겼다.
2. Storage Interfaces
다음은 보통 사용되는 디스크 인터페이스이다.
- SATA (Serial ATA) : 서버에서 보통 사용
- SAS (Seriak Attached SCSI) : SATA보다 더 느림
- NVMe (Non-Volatile Memory Express) : 비휘발성 메모리를 위한 인터페이스이다. SSD를 더 잘 지원하기 위해 개발되었으며 PCle과 함께 보통 쓰인다
디스크는 보통 컴퓨터 시스템의 디스크 인터페이스에 직접 연결하지만, 고속 네트워크를 통해 원격에 위치하고 컴퓨터에 연결할 수도 있다. 이에 대한 두가지 아키텍처를 보자.
- Storage Area Networks (SAN) : 대량의 디스크가 고속 네트워크에 연결되어 여러 서버 컴퓨터에 연결되어있다.
- Network Attached Storage (NAS) : SAN의 대안으로 디스크 시스템 인터페이스 대신 네트워크 파일 시스템 프로토콜을 사용하여 파일 시스템을 제공한다. 클라우드 서비스라고 이해하면 될 것 같다.
3. Flash Memory
flash memory에는 NOR flash와 NAND flash가 있다. NAND flash가 보통 저장장치에 많이 사용되며 NOR보다 저렴하다. 이는 데이터를 page 단위로 읽으며 HDD의 섹터와 비슷한 개념이다. page는 한번 쓰이면 erase하기 전까지 덮어쓰거나 이어쓰는 것이 불가능하다. 하지만 erase는 약 page 128-256가 들어있는 block단위로 수행하기 때문에 이로인한 오버헤드도 발생한다. 그 뿐만 아니라 한 block은 erase할 수 있는 횟수가 정해져있어, 무모하게 하는 것은 내구성을 떨어트린다. 이렇게 지우고 쓰는 것을 반복하여 생기는 마모를 wear이라고 한다.
Flash translation table
쓰고지우는 것이 느리다는 것과, erase를 남발할 수 없기 때문에 이에 대한 방안이 나왔다. logical page adress와 physical page adress를 mapping하는 방법이다. 이를 사용하면 데이터를 읽고 쓰는 과정의 시간을 단축시킬 수 있도록하는 위치에 데이터를 저장하기 때문에, 데이터 저장과 관리를 효율적으로 할 수 있게 해준다. 특별한 기술이 들어간 것은 아니고, 데이터가 저장되는 위치를 잘 선정해준다고 볼 수 있다. 저장되는 곳을 분배해주어 wear를 줄이는 wear leveling도 해주고, 안쓰는 페이지가 많은 block을 골라 삭제해주는 garbage collection을 제공한다.
Solid state disks (SSD)
NAND flash로 만들어진 블럭기반 인터페이스 storage이다. 이에 HDD와 비슷한 형태이지만 내부에는 여러개의 flash memory를 사용하기 때문에 속도는 훨씬 빠르다.
I/O는 빠른 SDD의 방식으로, 저장은 저렴한 HDD의 방식으로 하는 hibrid disk도 있다.
'학부 내용 정리 > [ 3-1 ] 데이터베이스' 카테고리의 다른 글
| [ DB ] Chapter 14. Indexing (0) | 2025.09.02 |
|---|---|
| [ DB ] Chapter 13. Data Storage Structures (0) | 2025.09.02 |
| [ DB ] Chapter 7. Relational Database Design (0) | 2025.04.15 |
| [ DB ] Chapter 6. Database Design Using the E-R Model (0) | 2025.04.15 |
| [ DB ] Chapter 5. Advanced SQL (1) | 2025.04.15 |