๐Ÿฐํžˆํžˆ 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-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

 

The Difference Between Hot, Warm and Cold Data

Imply is a full-stack, multi-cloud modern data platform pioneering analytics in motion, built around Apache Druid, a widely-adopted open-source OLAP database.

imply.io

NEW Hadoop3์™€ Erasure Coding

 

NEW Hadoop3์™€ Erasure Coding

NEW Hadoop3์™€ Erasure Coding

www.samsungsds.com

 

728x90
๋ฐ˜์‘ํ˜•