๊ด€๋ฆฌ ๋ฉ”๋‰ด

data_lab

ํ•˜๋‘ก์ด๋ž€? ๋ณธ๋ฌธ

BIGDATA/ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ

ํ•˜๋‘ก์ด๋ž€?

๐Ÿฐํžˆํžˆ 2021. 3. 5. 01:18

ํ•˜๋‘ก์— ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ๋น…๋ฐ์ดํ„ฐ๊ฐ€ ๋ญ”์ง€ ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค.

 

๋น…๋ฐ์ดํ„ฐ๋ž€ ? 

๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋„๊ตฌ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๊ทœ๋ชจ๋กœ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

 

๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋Š” OLTP์„ฑ์œผ๋กœ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๋‹ค.

 

๋น…๋ฐ์ดํ„ฐ๋Š” ์ •ํ™•์„ฑ์— ์ดˆ์ ์„ ๋‘๊ธฐ๋ณด๋‹ค๋Š” ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ์— ์ดˆ์ ์„ ๋‘๊ณ  ์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ pk, update๋“ฑ ์•ˆ๋˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กœ putํ•ด์•ผ ํ•œ๋‹ค.

 

๋น…๋ฐ์ดํ„ฐ 3V

  • Volume 
    • ๋Œ€๊ทœ๋ชจ์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. (๊ธฐ์—…๋งˆ๋‹ค ์ฐจ์ด๋Š” ์žˆ์ง€๋งŒ ์ˆ˜์‹ญํ…Œ๋ผ๋ฐ”์ดํŠธ๋ถ€ํ„ฐ ์ˆ˜์‹ญํŽ˜ํƒ€๋ฐ์ดํ„ฐ ์ด์ƒ)
  • Variety
    • ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฐฉ์‹์ด ๋‹ค์–‘ํ•˜๋‹ค.
    • ์ •ํ˜•   : ์˜๋ฏธ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ๊ทœ์น™์ ์ธ ๋ฐ์ดํ„ฐ
    • ๋ฐ˜์ •ํ˜•: HTML, XML,JSON ํ˜•ํƒœ๋กœ ํ•œ ํ…์ŠคํŠธ์— column, value ๊ฐ™์ด
    • ๋น„์ •ํ˜•:ํ…์ŠคํŠธ, ์Œ์„ฑ, ์˜์ƒ ๋“ฑ์œผ๋กœ ๊ทœ์น™์ ์ด์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์ด๋‹ค. ์˜ˆ์‹œ๋กœ ๋ฉ”์‹ ์ €๋กœ ์ฃผ๊ณ  ๋ฐ›์€ ๋‚ด์šฉ, ํ†ตํ™”๋‚ด์šฉ ๋“ฑ์ด ์žˆ๋‹ค.
  • Velocity
    • ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด์—ฌ์•ผ ํ•œ๋‹ค

ํ•˜๋‘ก ์ด๋ž€?

๋Œ€๋Ÿ‰์˜ ์ž๋ฃŒ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํฐ ์ปดํ“จํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋™์ž‘ํ•˜๋Š” ๋ถ„์‚ฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ง€์›ํ•œ๋‹ค.

์™œ ํ•˜๋‘ก?

๋ผ์ด์„ ์Šค ๋น„์šฉ ๋“ค์ง€ ์•Š์Œ > ์ €๋ ดํ•œ ๊ตฌ์ถ• ๋น„์šฉ

๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ๋น ๋ฅธ ์ฒ˜๋ฆฌ

๋ฐ์ดํ„ฐ์˜ ๋ณต์ œ ๋ณธ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

HDFS + MapReduce ๊ตฌ์กฐ

 

Hadoop Data File System

ํ•˜๋‘ก์€ ์„œ๋ฒ„๋ฅผ ๋‘๊ฐœ๋ฅผ ์“ด๋‹ค.(๋ถ„์‚ฐ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•˜์—ฌ - ์„œ๋ฒ„ ๊ณผ๋ถ€ํ™” ๋ฐฉ์ง€, ๋ฐ์ดํ„ฐ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณต์‚ฌํ•˜์—ฌ ์ €์žฅํ•˜๊ธฐ์œ„ํ•ด)

์„œ๋ฒ„๋ฅผ ์ด์ค‘ํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ ๊ฐ„๋‹จํ•˜๊ฒŒ Master-Slave๋ฐฉ์‹์œผ๋กœ๋งŒ ์ดํ•ดํ–ˆ๋‹ค.

Master ์„œ๋ฒ„์—๋Š” "๋„ค์ž„๋…ธ๋“œ"๊ฐ€ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ, ๋„ค์ž„๋…ธ๋“œ๋ž€ ๋ฐ์ดํ„ฐ์˜ Meta Data๋ฅผ ๊ฐ€์ง„๋‹ค.

Meta Data - ๋ฐ์ดํ„ฐ์˜ FSImage (namespace์ •๋ณด, data node๊ฐ„์˜ block ๋งคํ•‘ ์ •๋ณด),

         Editslog (๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์ •๋ณด)๋ฅผ ๊ฐ€์ง

๋ฐ์ดํ„ฐ๋…ธ๋“œ - ๋Š” 3-copy๋ฐฉ์‹์œผ๋กœ master์— ํ•œ ๊ฐœ, slave์„œ๋ฒ„์— 2๊ฐœ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๊ณ  ์‹ค์ œ ํŒŒ์ผ์ด๋‹ค.

โ€‹

HDFS์˜ ์“ฐ๊ธฐ

-APP์—์„œ HDFS CLient์— ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ ์ •๋ณด ์š”์ฒญํ•จ.

client๊ฐ€ name node์—๊ฒŒ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ ์ฃผ์†Œ 3๊ฐœ๋ฅผ ์คŒ.

๊ทธ์ค‘ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋…ธ๋“œ ์ฃผ์†Œ์— ๋ฐ์ดํ„ฐ๋ฅผ 3๊ตฐ๋ฐ ๋ถ„์‚ฐํ•˜์—ฌ ์ €์žฅํ•จ

HDFS์˜ ์ฝ๊ธฐ

-App์—์„œ HDFS Client์— ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ ์ •๋ณด ์š”์ฒญํ•จ.

client๊ฐ€ name node์—๊ฒŒ ๋ฉ”ํƒ€์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๊ณ 

 master, slave์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•˜์—ฌ

๊ทธ ์ค‘ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ฃผ์†Œ๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

MapReduce

๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜๋ฉด ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์œผ๋กœ

Map๊ณผ Reduce๊ฐ€ ์žˆ๋‹ค

Map์˜ ์—ญํ• 

์›์‹œ๋ฐ์ดํ„ฐ๋ฅผ 64MB๋กœ ์ž๋ฅด๊ณ 

splitํ•˜์—ฌ key/value ์Œ์œผ๋กœ ์ž„์‹œ์ ์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

์ž„์‹œ์ ์œผ๋กœ ๋‚˜๋ˆ” >> ๋””์Šคํฌ ์ƒ

๋‚˜๋ˆˆ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ์ƒ์—์„œ

 ํŒŒํ‹ฐ์…˜ ํ•จ์ˆ˜๋กœ ํŒŒํ‹ฐ์…˜์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

Reduce ์—ญํ• 

๊ตฌ๋ถ„ํ•œ ์ค‘๊ฐ„ํŒŒ์ผ์„ Reduce๋กœ ํ•ฉ์ณ key์— ์˜ํ•ด sort๋˜๊ณ  reduce ํ•จ์ˆ˜๋กœ ๊ฒฐ๊ณผ๋ฌผ์„ ๋””์Šคํฌ์— ์ €์žฅํ•œ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•