BIGDATA/ํ๋ก์์ฝ์์คํ
[Hadoop 3] Eraser coding
๐ฐํํ
2021. 10. 25. 15:28
๋ฐ์ํ
๋ชฉ์
- ๋ณต์ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค. HDFS์ ๊ธฐ๋ณธ 3๋ฐฐ ๋ณต์ ์ฒด๊ณ๋ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ ๋ฐ ๊ธฐํ ๋ฆฌ์์ค(์: ๋คํธ์ํฌ ๋์ญํญ)์์ ์ค๋ฒํค๋๊ฐ 200%์ ๋๋ค.
- ์๋์ ์ผ๋ก I/O ์์
์ด ์ ์ Warm๋ฐ Cold ๋ฐ์ดํฐ์
์ ๊ฒฝ์ฐ ์ผ๋ฐ ์์
์ค์๋ ์ถ๊ฐ ๋ธ๋ก ๋ณต์ ๋ณธ์ ๊ฑฐ์ ์ก์ธ์คํ์ง ์์ง๋ง ์ฒซ ๋ฒ์งธ ๋ณต์ ๋ณธ๊ณผ ๋์ผํ ์์ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Hot : ๋น ๋ฅธ ์ฟผ๋ฆฌ, fresh ๋ฐ์ดํฐ, ๋์์ฑ๋์
- warm : hot, cold ๋ฐ์ดํฐ์ ์ฌ์ด
- cold data : ๋๋ฆฐ์ฟผ๋ฆฌ, not fresh ๋ฐ์ดํฐ, ๋ฆฌํฌํ , ํ๋, ๋์์ฑ ๋ฎ์
- ํจ์ฌ ์ ์ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ผ๋ก ํ๋ก ์ด์ ๋ฒ์ ์ ๋์ผํ ์์ค์ ๋ด๊ฒฐํจ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ผ๋ฐ์ ์ธ Eraser Coding(EC) ์ค์ ์์ ์คํ ๋ฆฌ์ง ์ค๋ฒํค๋๋ 50%๋ฅผ ๋์ง ์์ต๋๋ค. EC ํ์ผ์ ๋ณต์ ํฉํฐ๋ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ด ๊ฐ์ ํญ์ 1์ด๋ฉฐ -setrep ๋ช ๋ น์ ํตํด ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋ฐฐ๊ฒฝ
- RAID๋ ์คํธ๋ผ์ดํ์ ํตํด EC๋ฅผ ๊ตฌํ
- ์คํธ๋ผ์ดํ
- RAID-0
- ์คํธ๋ผ์ดํ ๊ธฐ์ ์ด์ฉํด ๋น ๋ฅธ ์ ์ถ๋ ฅ์๋
- ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์ด๋ ํจ๋ฆฌํฐ์์ด ๋์คํฌ์ ๋ถ์ฐ ๊ธฐ๋ก
- ์ฒ๋ฆฌ์๋ ๋น ๋ฅด๋ ์ค๋ฅ ๋ฐ์์ ๋ณต๊ตฌ ๋ถ๊ฐ
- RAID-2
- ์๋ฌ๋ฅผ ๊ฐ์งํ๊ณ ์์ ํ๊ธฐ ์ํด ECC (Error Check & Correction) ์ ๋ณด ์ฌ์ฉ
- RAID-3
- ํจ๋ฆฌํฐ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ๋ณ๋๋ก ํ๋์ ๋์คํฌ ์ฌ์ฉ
- ์ ์ถ๋ ฅ ๊ฒน์น๊ฒ ํ ์ ์์ผ๋ฉฐ ๋ณดํต ๋ํ ๋ ์ฝ๋๊ฐ ๋ง์ ์์คํ ์์ ์ฌ์ฉ
- RAID-4
- ๋ธ๋ก ํํ์ ์คํธ๋ผ์ดํ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋์คํฌ ๊ตฌ์ฑํจ
- ๋จ์ผ ๋์คํฌ๋ก๋ถํฐ ๋ ์ฝ๋ ์ฝ์ ์ ์๊ณ ๋ฐ์ดํฐ ์ฝ์ ๋ ์ค์ฒฉ ์ ์ถ๋ ฅ์ ์ฅ์ ์ด์์
- ์ฐ๊ธฐ - ํจ๋ฆฌํฐ ์ฐ์ฐ์ฌ์ฉ, ์ ์ถ๋ ฅ์ ์ค์ฒฉ์ด ๋ถ๊ฐ๋ฅํ๊ณ ์์คํ ์ ๋ณ๋ชฉํ์ ๋ฐ์ํ ์ ์์
- RAID-5
- ํจ๋ฆฌํฐ ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ํ๋์ ๋์คํฌ๊ฐ ๊ณ ์ฅ์ด ๋ฐ์ํ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํจ , ์ต์ 3๊ฐ ์ด์์ ๋์คํฌ
- ํจ๋ฆฌํฐ๋ ๋ณ๋์ ๋์คํฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋์คํฌ์ ๋ถ์ฐ ๊ธฐ๋กํด ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์ ์ฅํ์ง์์
- RAID-0
- ๋ฏธ๋ฌ๋ง
- RAID-1
- LVM - Logical Volume Manager
- ๋ฆฌ๋ ์ค ์ค์นํ ๋๋ ํ๋๋์คํฌ๋ฅผ ์ถ๊ฐํ๋ฉด ํํฐ์ ์ ๋ถํ ํ๊ณ ํ ๋จํ๋๋ฐ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋์ด ๋ณ๊ฒฝ์ด๋ ์ฆ์ค์ด ์ด๋ ค์. LVM์ ์ฌ๋ฌ๊ฐ์ ํ๋๋์คํฌ๋ฅผ ํ๋๋ก ๋๋ ํ๋๋ฅผ ์ฌ๋ฌ๊ฐ๋ก ์ฌ์ฉํ ์ ์๋ค.
- RAID ๊ธฐ์
- ์คํธ๋ผ์ดํ: ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ๋ผ์ด๋๋ก๋น ๋ฐฉ์์ผ๋ก ๊ธฐ๋กํ๋ค. ์๋ก ๊ฒน์ณ์ ์ฝ๊ฑฐ๋ ์ธ ์ ์๋ ๋ค๊ฐ์ ๋๋ผ์ด๋ธ๊ฐ ์์ ๊ฒฝ์ฐ, ๋ค๊ฐ์ ์นํฐ๋ฅผ ๋์์ ์ฝ์ ์ฐ ์๋ค.
- ๋ฏธ๋ฌ๋ง: ๋์คํฌ์ ์๋ฌ ๋ฐ์ ์ ๋ฐ์ดํฐ ์์ค์ ๋ง๊ธฐ์ํด ํ๋ ์ด์์ ์ฅ์น์ ์ค๋ณต ์ ์ฅํ๋ ๊ธฐ์ . ๊ฒฐํจ ํ์ฉ
- ์คํธ๋ผ์ดํ
- ์คํธ๋ผ์ดํ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ์์ฐจ์ ์ธ ๋ฐ์ดํฐ(์: ๋นํธ, ๋ฐ์ดํธ ๋๋ ๋ธ๋ก)๋ฅผ ๋ ์์ ๋จ์(์: ๋นํธ, ๋ฐ์ดํธ ๋๋ ๋ธ๋ก)๋ก ๋๋๊ณ ์ฐ์๋ ์ฅ์น๋ฅผ ์๋ก ๋ค๋ฅธ ๋์คํฌ์ ์ ์ฅ (RAID ์์ Reed-Solomon์ ๊ณ์ฐ๋ฐฉ์)
- ์คํธ๋ฆฌํ ๋ถํฌ ๋จ์๋ฅผ ์คํธ๋ฆฌํ ์ ์ด๋ผ๊ณ ํ๋ค.
- ์ธ์ฝ๋ฉ - ์๋ณธ ๋ฐ์ดํฐ ์ ์ ๊ฐ ์คํธ๋ผ์ดํ์ ๋ํด ํน์ ์์ ํจ๋ฆฌํฐ ์ ์ด ๊ณ์ฐ๋๊ณ ์ ์ฅ
- ๋์ฝ๋ฉ - ์คํธ๋ผ์ดํ ์ ์ ์ค๋ฅ๋ ๋จ์ ์๋ ๋ฐ์ดํฐ์ ํจ๋ฆฌํฐ ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐํ์ฌ ๋ณต๊ตฌ๊ฐ๋ฅ
- EC๋ฅผ HDFS์ ํตํฉํ๋ฉด ์คํ ๋ฆฌ์ง ํจ์จ์ฑ์ ํฅ์์ํค๋ ๋์์ ๊ธฐ์กด ๋ณต์ ๊ธฐ๋ฐ HDFS ๊ตฌ์ถ๊ณผ ์ ์ฌํ ๋ฐ์ดํฐ ๋ด๊ตฌ์ฑ์ ์ ๊ณต
- EC์ฌ์ฉX - 6๊ฐ์ธ 3๋ฐฐ ๋ณต์ ๋ ํ์ผ์ 6*3 = 18๋ธ๋ก์ ๋์คํฌ ๊ณต๊ฐ์ ์ฌ์ฉ
- EC(6๊ฐ์ ๋ฐ์ดํฐ, 3๊ฐ์ ํจ๋ฆฌํฐ)๋ฅผ ๊ตฌ์ถํ๋ฉด Disk ๊ณต๊ฐ์ 9๊ฐ๋ง ์ฌ์ฉ
์ํคํ ์ณ
- ์จ๋ผ์ธ EC(EC ํ์์ผ๋ก ์ฆ์ ๋ฐ์ดํฐ ์ฐ๊ธฐ)๋ฅผ ์ง์ํ์ฌ ๋ณํ ๋จ๊ณ๋ฅผ ํผํ๊ณ ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ์ฆ์ ์ ์ฝ
- ์จ๋ผ์ธ EC๋ ์ฌ๋ฌ Disk ์คํ๋ค์ ๋ณ๋ ฌ๋ก ํ์ฉํ์ฌ ์์ฐจ I/O ์ฑ๋ฅ์ ํฅ์
- ํ์ด์๋ ๋คํธ์ํน์ด ์๋ ํด๋ฌ์คํฐ์์ ํนํ ์ ์ฉ
- ์์ ํ์ผ์ ์ฌ๋ฌ DataNode์ ์์ฐ์ค๋ฝ๊ฒ ๋ฐฐํฌํ๋ฏ๋ก ์ฌ๋ฌ ํ์ผ์ ๋จ์ผ ์ฝ๋ฉ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ ํ์๊ฐ ์์
- ์ญ์ , ํ ๋น๋ ๋ณด๊ณ ๋ฐ ์ฐํฉ ๋ค์์คํ์ด์ค ๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ๊ณผ ๊ฐ์ ํ์ผ ์์ ์ด ํฌ๊ฒ ๊ฐ์ํ
NameNode Extensions
- ์คํธ๋ผ์ดํ HDFS ํ์ผ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ธ๋ก ๊ทธ๋ฃน์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๊ฐ ๊ทธ๋ฃน์๋ ํน์ ์์ ๋ด๋ถ ๋ธ๋ก์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ์ถ๊ฐ ๋ธ๋ก์ผ๋ก๋ถํฐ NameNode ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ์ค์ด๊ธฐ ์ํด, ์๋ก์ด ๊ณ์ธต์ ๋ธ๋ก ๋ช ๋ช ํ๋กํ ์ฝ์ด ๋์ ๋์์ต๋๋ค. ๋ธ๋ก ๊ทธ๋ฃน์ ID๋ ๋ด๋ถ ๋ธ๋ก์ ID์์ ์ ์ถํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ธ๋ก์ด ์๋ ๋ธ๋ก ๊ทธ๋ฃน ์์ค์์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
DataNode Extensions
- DataNode๋ ์คํจํ ์ญ์ ์ฝ๋ ๋ธ๋ก์ ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ณต๊ตฌ๋ฅผ ์ํด EraseCodingWorker(ECWorker) ์์ ์ ์ถ๊ฐ๋ก ์คํํฉ๋๋ค. ์ฅ์ ๊ฐ ๋ฐ์ํ EC ๋ธ๋ก์ NameNode์ ์ํด ๊ฐ์ง๋๊ณ , NameNode๋ ๋ณต๊ตฌ ์์ ์ ์ํํ DataNode๋ฅผ ์ ํํฉ๋๋ค. ๋ณต๊ตฌ ํ์คํฌ๋ ํํธ๋นํธ ์๋ต์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๋ณต์ ๋ ๋ธ๋ก์ด ์คํจ ์ ๋ณต์ ๋๋ ๋ฐฉ์๊ณผ ์ ์ฌํฉ๋๋ค. Reconstruction(์ฌ๊ตฌ์ฑ)์ ๋ค์ ์ธ ๊ฐ์ง ์ฃผ์ ์์ ์ ์ํํฉ๋๋ค.
- ์์ค ๋ ธ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ต๋๋ค. ์ ์ฉ ์ค๋ ๋ ํ์ ์ฌ์ฉํ์ฌ ์์ค ๋ ธ๋์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ณ๋ ฌ๋ก ์ฝ์ต๋๋ค. EC ์ ์ฑ ์ ๋ฐ๋ผ ๋ชจ๋ ์์ค ๋์์ ๋ํ ์ฝ๊ธฐ ์์ฒญ์ ์ค์ผ์ค๋งํ๊ณ ์ฌ๊ตฌ์ฑ์ ์ํ ์ต์ ์ ๋ ฅ ๋ธ๋ก ์๋ง ์ฝ์ต๋๋ค.
- ๋ฐ์ดํฐ๋ฅผ ๋์ฝ๋ฉํ๊ณ ์ถ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์์ฑํฉ๋๋ค. ์ ๋ ฅ ๋ฐ์ดํฐ์์ ์๋ก์ด ๋ฐ์ดํฐ ๋ฐ ํจ๋ฆฌํฐ ๋ธ๋ก์ด ๋์ฝ๋ฉ๋ฉ๋๋ค. ๋ชจ๋ ๊ฒฐ์ธก ๋ฐ์ดํฐ์ ํจ๋ฆฌํฐ ๋ธ๋ก์ด ํจ๊ป ๋์ฝ๋ฉ๋ฉ๋๋ค.
- ์์ฑ๋ ๋ฐ์ดํฐ ๋ธ๋ก์ ๋์ ๋ ธ๋๋ก ์ ์กํฉ๋๋ค. ๋์ฝ๋ฉ์ด ์๋ฃ๋๋ฉด ๋ณต๊ตฌ๋ ๋ธ๋ก์ด ๋์ DataNode๋ก ์ ์ก๋ฉ๋๋ค.
The Difference Between Hot, Warm and Cold Data
728x90
๋ฐ์ํ