순차I/O는 데이터를 연속적인 블록으로 순차적으로 읽거나 쓰는 작업이다.
랜덤I/O는 데이터를 임의의 위치에서 읽거나 쓰는 작업이다.
순차I/O는 SSD에서 HDD보다 성능이 폭발적으로 상승하진않았지만. 랜덤 I/O는 SSD에서 성능이 크게 상승다.
DB에서 일어나는 작업의 대부분은 랜덤 I/O기 때문에 RealMysql8.0에서는 SSD와 HDD의 초당 트랙잭션 처리 성능차이가 약 7배 라고 설명한다. 최근에 대부분 DBMS는 SSD를 채택한다.
HDD에서 두 I/O의 공통점은 원판은 돌려서 읽어야 할 데이터가 저장된 위치까지 디스크 헤더를 이동시킨다는 것
두 I/O의 성능차이는 디스크 헤더의 이동 횟수에서 발생한다. 디스크 헤더가 이동되는 시간을 seek time이라고 하는데 그 시간에 의해 좌우되는 것이다.
랜덤 I/O는 매번 디스크 헤더를 움직여서 쓸 위치로 이동시키는 시스템 콜이 발생하지만
순차 I/O는 데이터가 연속적으로 있어 매번 헤더를 이동시킬 필요가 없다.
예를들어 데이터를 3번 읽어야하면 데이터가 불연속적이라면 디스크 헤더를 3번 이동시켜야하지만 연속적이면 디스크 헤더를 한번만 움직여도 된다.
SSD는 원판이 없고 메모리 칩이 들어있어 전기 신호로 접근한다. 원판이 없어 순차 I/O와 랜덤 I/O가 별 차이가 나지 않을 것 같고SSD에서 랜덤 I/O의 효율이 크게 늘었다고 해도 랜덤 I/O는 순차 I/O보다 처리율이 떨어진다.
'데이터베이스 > RDB' 카테고리의 다른 글
| 바인드 변수의 중요성 (0) | 2026.02.26 |
|---|---|
| 인덱스 스캔 (0) | 2026.01.10 |
| 데이터베이스 격리수준 (0) | 2025.12.23 |
| 데이터베이스 동시성제어 (2) (0) | 2025.12.23 |
| 데이터베이스 동시성 제어 (1) (0) | 2025.12.23 |