본문 바로가기
AI/AI 이론

[EP. 31-1] 빅 데이터 처리의 기본

by 티옌.liy 2021. 11. 22.

[세줄 요약]

 

빅데이터는 일반컴퓨터로는 처리는커녕 저장장치에 저장할 수조차 없을 만큼 큰 사이즈의 데이터이다.

빅데이터 처리는 컴퓨터 한 대로는 처리할 수 없는 분량의 데이터를 여러 대가 나눠서 처리하는 작업이다.

맵리듀스(MapReduce)는 하둡, 스파크 등 빅데이터를 다루는 솔루션의 근간이 되는 프로그래밍 모델이다.


오늘날 우리들은 수없이 쏟아지는 정보 속에 살아가고 있습니다.

아침에 일어나 스마트폰을 키면, 다운받은 앱들로부터 수많은 알림이 와있고

SNS와 검색포털에서는 각종 맞춤형 광고가 저희들의 지갑을 호시탐탐 노리고 있습니다.

여가시간에는 유튜브를 보거나 온라인 게임 등을 하며 시간을 보냅니다.

이렇게 우리들은 항상 언제 어디서든 인터넷에 연결되어 수많은 정보를 생산하고 소비합니다.

 

2016~2021년도별 세계 모바일 데이터 트래픽 추이

1T 용량은 HD급 90분 영화(1.5GB)를 682편이나 저장할 수 있는 매우 큰 저장소이지만, 이조차도 부족합니다. 그래서인지, 최근에는 2~4T 용량의 외장하드 디스크가 인기입니다. 위 그림처럼 코로나 이후 언택트 시대에 들어서면서 데이터 소비량은 매우 크게 늘었습니다.

 

1024GB = 1 Terabyte
1024TB = 1 Petabyte
1024PB = 1 Exabyte

 

위 표처럼 1 EB는 정말 어마어마한 량의 데이터입니다. 이러한 데이터를 우리는 빅데이터라고 합니다.

구글이나 아마존과 같이 수많은 데이터를 가지고 있는 회사는 어떻게 데이터를 관리할까요?


저장장치가 감당할 수 없는 크기의 데이터인 빅데이터를 처리하기 위해서는 초고성능의 컴퓨터가 필요합니다.

그러나, 초고성능의 컴퓨터는 천문학적인 가격을 자랑합니다. 구글이나 마이크로소프트처럼 대기업이 아니고서야 일반 기업이나 개인이 구매할 수 없습니다. 이러한 문제를 해결하고자, 사람들은 여러 방법을 강구했습니다.

 

1.병렬 컴퓨팅(Parallel Computing) - 여러대의 컴퓨터를 병렬로 묶어 하나의 초고성능 컴퓨터처럼 사용하는방법

2.분산 컴퓨팅(Distributed Computing) - 무거운 연산 처리 업무를 여러 컴퓨터가 나눠서 처리하는 방법

3.클러스터 컴퓨팅(Cluster Computing) - 네트워크로 연결하여 병렬과 분산 컴퓨팅의 장점을 혼합한 방법

 

위 방법으로 일반 기업이나 개인도 빅 데이터를 다룰 수 있게 되었습니다.


위와 같이 빅데이터 처리의 기본 패턴은 수 많은 데이터를 나누고, 나눈 데이터를 각각 처리한 후, 이를 모아서 통합하는 것입니다. 평소 우리들이 업무나 프로젝트를 위해 업무를 나누고 협업하는 방식과 동일합니다.

 

데이터분석에서는 이를 Split-Apply-Combine Strategy(분할-적용-병합)라고 합니다.

빅데이터 분야에서는 위 방법을 '맵리듀스(MapReduce)'라는 프로그래밍 모델로 구현했습니다.

하둡, 스파크 등 빅데이터를 다루는 솔루션들의 가장 근간이 되는 프로그래밍 모델입니다.

 

이번 EP31장에서는 맵리듀스를 활용하여 빅 데이터를 처리하는 방법에 대해 기술하고자 합니다.

 

맵리듀스에 대한 상세설명은 아래 링크를 참고하시면 좋습니다.

댓글