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, 많이 사용되는 레벨이다.
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 |