본문 바로가기

[2016 - 2019] 학부 정리/3학년

[3학년-활동] (skt아카데미) 빅데이터의 시초1

>빅데이터의 시초 

 

>>GFS

막대한 양의 웹 문서를 저장 조회해랴 하는데, 컴퓨터 1대로는 처리가 불가능 했습니다. 그래서 만들어진 GFS(Google File System)은 저렴한 하드웨어를 사용하면서, 대신 중복저장을 통해 파일이 유실되는 것을 방지했고 파일을 새로 추가하는데 집중하여 삭제나 파일 덮어쓰기는 어려움이 있습니다.  

 

 

· 여러대의 Chunk Server에 중복 저장

· Master를 통해 파일의 위치를 알아내고, Chunk Server에 직접 접속해서 데이터를 전송받음

 

 

>>MapReduce

여러대의 분산 저장소에 존재하는 데이터를 변환하거나 계산하기 위한 프레임워크이며 함수 프로그래밍의 Map() 함수와 Reduce()함수를 조합하여 효율적으로 분산 환경에서 다양한 계산을 합니다.

· Map() : A인 데이터를 B로 변환시키는 계산을 리스트에 대해 수행

· List(1,2,3).map(x => x*2// result : List(2,4,6)

· Reduce() : 리스트에 들어있는 A,B,C를 특정 룰에 의해 합치는 작업

· List(1,2,3).reduce((a,b) => a+b)  // result : 8

Map() 과 Reduce() 를 조합하면 다양한 작업을 수행할 수 있습니다.

 

 

 

 

MapReduce는 Input파일을 잘게 나눠서 여러 worker에서 나눠서 Map() 작업을 수행합니다. 중간 파일을 저장한 후에는 이를 수합해서 Reduce() 작업을 수행합니다. Reduce()를 수행한 워커에서 각각의 결과물을 저장합니다.

비유하자면,

과일바구니에서 과일을 칼로 자르는것 => Map( ),

과일별로 나누는 과정 => shuffle,

나눠진 과일로 쥬스를 만드는 과정 => Reduce( ) 이라고 할 수 있습니다.

 

 

 

[출처 : SK토크ON세미나 8차 강의자료]