데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

디스크 구조 와 동작방식

고 희수 2010.11.02 01:31 Views : 13191

 

예전에 정리한 문서지만 공유차원에서 올려봅니다.^^

 

데이터베이스와 밀접한 관련이 있는 데이터 저장매체 인 디스크구조 및 동작방식에 대해 알아보자.

 

디스크는 자기 디스크 플래터로 구성돼있으며 데이터를 트랙에 자기적으로 저장한다.

디스크 안팎으로 움직이는 전기자에 끝에 부착된 헤드가 회전하는 디스크를 읽고 쓰는데

플래터당 하나의 헤드가 존재해 플래터 집합인 디스크는 여러 헤드(전기자에 부착된)

가질 수 있다. 또한 헤드와 전기자는 모두 연결돼있어 모든 헤드는 데이터를 동시에 트랙에

읽고 쓴다.

디스크 헤드가 섹터의 데이터를 읽기 위해서는 섹터가 헤드 바로 아래에 있어야 하는데,

디스크는 항상 회전하므로 섹터가 그 위치에 올 때까지 기다려야 한다. 이때 디스크가

데이터를 읽을 수 있는 위치로 회전하는데 걸리는 시간이 회전 대기 시간(Rotation latency)이다.

보통 15000rpm 디스크의 평균 회전 대기 시간은 약 2ms 정도이다.

위 회전 대기 시간외에 헤드가 데이터가 존재하는 곳 즉 디스크 전기자가 요청된 데이터를

가지는 실린더로 이동하는 시간을 탐색시간(seek time)이라 한다.

(실린더는 디스크 플래터들의 동일한 트랙 집합이다.)
disk_1.jpg disk_2.jpg

 

디스크 동작을 완료하는데 걸리는 시간은 다음의 총합이며

-데이터를 가지는 트랙으로 이동하는데 걸리는 탐색시간(Seek Time)

-데이터를 헤드 아래로 회전시키기 위해 필요한 회전 대기시간(Rotational latency)

-디스크 드라이브에서 디스크 컨트롤러로 데이터를 전자적으로 전송하기 위해 필요한 시간

 

I/O 완료는 여기에 시스템 오버헤드(매우 포괄적인)를 더한 시간이다.

디스크I/O완료에 걸리는 시간은 요청된 I/O가 순차 방식인지 임의 방식인지에 따라 영향을

받으며 순차적 I/O성능은 트랙간 탐색 시간에, 임의I/O성능은 평균 탐색시간에 의해 좌우된다.

 

순차적 I/O(Sequential I/O)

디스크의 인접한 데이터의 액세스로 임의 I/O보다 트랙간 탐색 시간이 빨라 더 많은 양을

보다 빨리 처리할 수 있다.

 

임의 I/O(Random I/O)

디스크의 서로 다른 부분으로부터 액세스될 때 발생하며, 임의의 헤드이동이 발생해 성능을

감소시킨다.

 

 

No. Subject Author Date Views
1013 외워두면 좋은 기초 쿼리문! [9] jevida(강성욱) 2010.11.07 14341
1012 PIVOT를 이용한 디스크 용량 정렬 [3] 우주인(김재훈) 2010.11.07 7989
1011 SQL 2000 Agent 예약어 [1] 하만철 2010.11.07 7909
1010 BlackBox 기능 자동 시작 등록 [4] 최일주 2010.11.07 6501
1009 병렬 처리 [2] 고 희수 2010.11.07 15415
1008 [TIP]저장 프로시저 최적화 [2] 이호엽 2010.11.06 27551
1007 기본 백업 디렉토리 변경 [2] Joinus(김성식) 2010.11.06 16118
1006 RANK 함수에 대해 정리 해보았습니다. [2] 불타는불쥐[김경진] 2010.11.05 17558
1005 Page & Extent 2 [2] 이상현(애아범) 2010.11.05 13204
1004 SQL Server의 페이징 쿼리 [2] Alucard(강산아) 2010.11.05 21980
1003 SQL Server 시스템 오류 메시지 [3] Alucard(강산아) 2010.11.03 15328
1002 UNIQUE CONSTRAINT, UNIQUE INDEX에 FK설정 하기. [4] 성이(sunge) 2010.11.03 16846
1001 오라클 복제 [1탄] - 오라클 게시자 트랜잭션 복제 환경 구축 [2] 불타는불쥐[김경진] 2010.11.02 10774
1000 sp_helptext 문제점.. [5] 이스트럭 2010.11.02 13265
» 디스크 구조 와 동작방식 [5] 고 희수 2010.11.02 13191
998 sp_configure 에 나오는 항목들. [2] jevida(강성욱) 2010.11.01 18019
997 SQL Server 2008의 New feature_2탄_TDE_2# [2] Joinus(김성식) 2010.11.01 24951
996 linq 에서 프로시져를 사용하려고 하는데 문제가 있는거 같습니다. [2] 북설 2010.11.01 10478
995 MSSQL과 Oracle 의 프로그래밍 기능 비교 (2) [2] 이성필 2010.11.01 25322
994 MS-SQL ANSI NULL 테스트 [1] 불타는불쥐[김경진] 2010.11.01 11165





XE Login