본문 바로가기
컴퓨터공학/데이터베이스(database)

[Storage Device]RAID

by 바코94 2020. 6. 5.

Redundant Arrays of Independent(Inexpensive) Disk

 

여러 개의 디스크에 놓고 parallel 하게 처리한다.

같은 데이터를 중복 저장하여 신뢰성을 확보한다.

 

Independent : for the sake of higher reliability and bandwidth

Redundant: 중복해서 저장하여 failure 발생했을때를 대비, write할 때 백업디스크에도 저장, failure동안 백업을 사용하여 availability를 높임.

 

read나 write에 대해 병렬적으로 처리할 수 있음. 이를 위해 striping 을 사용함.

bit-level striping: 1바이트에서 비트 하나 당 디스크 하나에 나누어서 저장한다. 병렬적으로 처리할 수는 있지만 1바이트를 얻기 위해서 8개의 디스크를 접근해야함. 특정한 작업에 대해서 성능이 좋을 수 있따.

block-level striping: 파일에서 블락 하나 당 디스크 하나에 저장한다. 10개의 디스크가 있다면 1~10 블락을 각각의 디스크에 저장하고 11~20블락을 1~10디스크에 또 저장한다. 한 번에 10개의 블락을 가져올 수 있다.

실제적으로 RAID를 구현할 때 block-level striping을 쓴다고 한다.

 

RAID level(0~6)

0, 1, 5가 널리 사용된다. cost, throughput, bandwidth, user response time, failure 대처 등을 고려하여 선택한다.

 

 

LEVEL0 : Block striping, non-redundant, data loss에 크게 문제 없는 환경에서 사용한다.

 

LEVEL1: LEVEL0에 각각에 대해 백업을 두는 방식. DB시스템 처럼 log파일을 저장해야 하는 경우에는 이 레벨을 사용한다.


RAID LEVEL2,3,4는 실제로 사용되지 않는다.

LEVEL2: bit striping, Errror-Correcting-Codes, parity를 사용한다.

LEVEL3: 하나의 parity 디스크만 두어서 비용이 저렴하다.

LEVEL4: bock-interleaved parity, parity 저장할 수 있는 디스크가 1개

 

LEVEL5: block-interleaved distributed parity, 많이 사용되는 레벨이다. 

RAID 5 DATA STORE TABLE

LEVEL6: 자주 사용되지 않는다.

 

'컴퓨터공학 > 데이터베이스(database)' 카테고리의 다른 글

[Indexing]Overview  (0) 2020.06.05
[Storage Device]File Organization  (0) 2020.06.05
[Storage Device] Magnetic hard disk  (0) 2020.06.05
[Storage Device]physical storage media  (0) 2020.06.05
[Recovery]ARIES algorithm  (0) 2020.06.05