“빅데이터란 무엇인가?” 구성요소와 기반 기술의 이해

by 파시스트 posted Sep 16, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

InfoWorld staff | InfoWorld


인간은 매일 먹고 일하고 놀고 데이터를 생산한다. IBM에 따르면 인류가 하루에 생산하는 데이터의 양은 무려 250경 바이트에 이른다. DVD를 쌓는다면 달까지 왕복할 만큼의 데이터다. 이 데이터에는 우리가 전송하는 텍스트와 업로드하는 사진부터 산업용 센서 측정 데이터와 머신 간 통신 등 온갖 것이 포함된다.

이러한 이유로 “빅데이터”라는 말이 도처에서 사용되는 것이다. 사람들이 빅데이터라고 말할 때는 이 데이터의 많은 부분을 가져다가 이를 분석하고 유용한 무언가로 만드는 것을 의미한다.

Image Credit : GettyImagesBank


빅데이터란 정확히 무엇인가?
그러나 빅데이터의 의미는 그보다 훨씬 더 넓어서 다음과 같은 요소를 포괄한다.

- 많은 경우 여러 소스에서 방대한 양의 데이터를 수집
- 단순히 양만 많은 것이 아니라 그 종류도 다양하다. 많은 경우 동시에 여러 종류의 데이터, 시간이 경과하면서 바뀌는 데이터를 수집한다(처음부터 구체적인 형식으로 변형시키거나 일관적으로 만들 필요는 없는 데이터).
- 동일한 데이터 풀을 다양한 목적으로 지속적으로 분석할 수 있도록 이 데이터를 분석한다.
- 이 모든 작업을 신속하게, 때에 따라서는 실시간으로 수행한다.

초창기에는 이러한 네 가지 측면 중 세 가지를 나타내는 VVV라는 약어를 사용했다. 각 V는 볼륨(Volume, 방대한 양), 다양성(Variety, 다양한 종류의 데이터와 시간 경과에 따라 데이터가 바뀐다는 사실), 그리고 속도(Velocity)를 나타낸다.

빅데이터 vs. 데이터 웨어하우스
VVV라는 약어에서 빠진 부분은 분석을 위해 데이터가 영구적으로 변경될 필요는 없다는 중요한 개념이다. 이 비파괴적 분석은 곧 조직에서 동일한 데이터 풀을 다양한 용도로 분석하고, 서로 다른 목적으로 수집된 소스의 데이터를 분석할 수 있음을 의미한다.

반면 데이터 웨어하우스는 특정 목적을 위해 특정 데이터를 분석하도록 만들어졌으며 데이터는 구조를 갖고 오로지 그 목적에 맞는 특정 형식으로 변환됐다. 추출, 변형, 로드(ETL)로 불린 이 과정에서 원본 데이터는 기본적으로 파괴된다. 데이터 웨어하우징의 ETL 접근 방법에서의 분석은 특정 분석을 위한 특정 데이터로 제한됐다. 모든 데이터가 트랜잭션 시스템에 존재했던 당시에는 이러한 특성이 아무 문제도 없었지만, 지금과 같이 인터넷에 연결되고 도처에 데이터가 존재하는 세계에서는 그렇지 않다.

다만 빅데이터로 인해 데이터 웨어하우스가 쓸모 없어지는 것은 전혀 아니다. 빅데이터 시스템은 비구조적 데이터를 거의 처음 수집한 상태 그대로 다룰 수 있게 해주지만 이를 통해 얻는 쿼리 결과의 정밀함은 데이터 웨어하우스에 훨씬 미치지 못한다. 데이터 웨어하우스는 데이터를 깊게 파고들기 위한 용도로 고안됐다. 심층 분석을 위한 큐브 구축과 같은 작업이 가능하도록 모든 데이터를 일관적인 형식으로 변환하므로 그러한 작업을 정확히 수행할 수 있다. 데이터 웨어하우징 업체들은 오랜 시간 동안 비즈니스 환경에서 일반적인 쿼리에 답하기 위해 쿼리 엔진을 최적화했다.

빅데이터는 더 많은 소스의 훨씬 더 많은 데이터를 분석할 수 있게 해주지만 분해능은 더 낮다. 따라서 전통적인 데이터 웨어하우스와 새로운 스타일의 빅데이터는 당분간 공존하게 될 것이다.

빅데이터를 이끈 기술 혁신
빅데이터에 필요한 네 가지 측면(볼륨, 다양성, 비파괴적 사용, 속도)을 달성하기 위해서는 여러 가지 기술 혁신이 필요했다. 분산 파일 시스템(하둡), 이질적 데이터의 의미를 실시간으로 파악하기 위한 방법(처음에는 구글의 맵리듀스, 최근에는 아파치 스파크), 그리고 필요에 따른 데이터 접근과 이동을 위한 클라우드/인터넷 인프라 개발 등이 여기에 포함된다.

대략 10여년 전까지만 해도 비교적 작은 규모의 데이터 외에는 한 번에 조작이 불가능했다. (당연히 당시에는 데이터 웨어하우스의 용량만 해도 엄청나다고 생각했다. 이후 인터넷이 모든 곳에서 데이터를 생산하고 연결하면서 상황은 급변했다.) 데이터 저장소의 위치, 컴퓨팅 파워, 여러 소스의 이질적 데이터 형식을 처리할 수 있는 역량의 제한 때문이었다.

그러다가 2003년을 전후해서 구글의 연구원들이 맵리듀스를 개발했다. 이 프로그래밍 기법은 먼저 데이터를 일련의 키/값 쌍에 매핑한 다음 비슷한 키를 대상으로 계산을 수행, 이를 하나의 값으로 줄이고 수백 또는 수천 개의 저비용 시스템에서 각 데이터 덩어리를 병렬로 처리하는 방법으로 대량 데이터 집합 처리 작업을 간소화한다. 이 대규모 병렬 처리 덕분에 구글은 갈수록 커지는 데이터 볼륨에서 더욱 신속하게 검색 결과를 생성할 수 있다.

2003년을 전후해서 구글은 빅데이터를 가능하게 해준 두 가지 혁신을 개발했다. 그 중 하나는 하둡이다. 하둡은 다음과 같은 두 가지 주요 서비스로 구성된다.

- 하둡 분산 파일 시스템(HDFS)을 사용하는 안정적인 데이터 스토리지
-맵리듀스 기법을 사용한 고성능 병렬 데이터 처리

하둡은 보편적인 비공유 서버 모음에서 실행된다. 하둡 클러스터에서 자유롭게 서버를 추가하거나 제거할 수 있다. 시스템이 서버의 하드웨어 또는 시스템 문제를 감지하고 적절히 보상한다. 달리 말하자면 하둡은 자체 치유 기능이 있다. 따라서 시스템 변경이나 장애 시에도 데이터를 제공하고 대규모 고성능 처리 작업을 실행할 수 있다.

하둡은 데이터 저장과 병렬 처리를 위한 플랫폼을 제공하지만 진정한 가치는 애드온, 교차 통합 및 맞춤형 기술 구현에 있다. 이를 위해 하둡은 플랫폼에 기능과 새로운 역량을 추가하는 서브프로젝트를 제공한다.

- 하둡 커먼(Hadoop Common): 다른 하둡 서브프로젝트를 지원하는 공통적인 유틸리티.
- 척와(Chukwa): 대규모 분산 시스템 관리를 위한 데이터 컬렉션 시스템.
- HBase: 대용량 테이블을 위한 구조적 데이터 저장을 지원하는 확장형 분산 데이터베이스.
- HDFS: 애플리케이션 데이터에 대한 고성능 접근을 제공하는 분산 le 시스템
- 하이브(Hive): 데이터 요약 및 애드혹 쿼리를 제공하는 데이터 웨어하우스 인프라
- 맵리듀스: 계산 클러스터에서 대량 데이터 집합의 분산 처리를 위한 소프트웨어 프레임워크
- 피그(Pig): 병렬 계산을 위한 고수준 데이터-ow 언어 및 실행 프레임워크
- 주키퍼(ZooKeeper): 분산 애플리케이션을 위한 고성능 코디네이션 서비스

대부분의 하둡 플랫폼 구현에는 이러한 서브프로젝트가 최소한 몇 가지는 포함된다. 빅데이터를 이용하기 위해 필요한 경우가 많기 때문이다. 예를 들어 대부분의 조직은 주 분산 파일 시스템으로 HDFS를, 데이터베이스로 수십억 행의 데이터를 저장할 수 있는 HBase를 선택한다. 맵리듀스 또는 더 최근의 스파크는 하둡 플랫폼에 속도와 민첩성을 제공하므로 거의 필수다.


맵리듀스를 사용하면 개발자는 분산 프로세서 클러스터 또는 독립형 컴퓨터에서 방대한 양의 비구조적 데이터를 병렬로 처리하는 프로그램을 만들 수 있다. 맵리듀스 프레임워크는 다음의 두 가지 기능 영역으로 나뉜다.

- 맵 : 작업을 분산 클러스터의 여러 노드로 분할하는 기능
- 리듀스 : 작업을 수집 및 분석하고 결과를 하나의 값으로 도출하는 기능

맵리듀스의 주요 장점 중 하나는 내결함성이다. 이를 위해 맵리듀스는 클러스터의 각 노드를 모니터링한다. 각 노드는 주기적으로 완료된 작업과 상태 업데이트를 보고하도록 되어 있다. 정해진 간격보다 길게 노드에서 소식이 없을 경우 마스터 노드는 이를 기록하고 다른 노드로 작업을 재할당한다.

맵리듀스를 사용하는 오픈소스 프레임워크인 아파치 하둡은 그로부터 2년 뒤 개발됐다. 지금은 사용되지 않는 너치(Nutch) 검색 엔진을 인덱싱하기 위해 개발된 하둡은 이제 거의 모든 주요 산업에서 다양한 빅데이터 작업에 사용된다. 하둡의 분산 파일 시스템과 YARN(Yet Another Resource Negotiator) 덕분에 사용자는 수천 개의 기기에 걸쳐 분산된 방대한 데이터 집합을 마치 하나의 초대형 시스템에 있는 것처럼 취급할 수 있다.

2009년 버클리 캘리포니아 대학 연구진은 맵리듀스의 대안으로 아파치 스파크를 개발했다. 스파크는 메모리 내 스토리지를 사용해 병렬로 계산을 수행하므로 맵리듀스보다 최대 100배 더 빠르다. 스파크는 독립적 프레임워크로 작동하거나 하둡 내에서 작동할 수 있다.

하둡을 사용하더라도 데이터를 저장하고 접근하기 위한 수단은 필요하다. 일반적으로 이 용도로는 여러 시스템에 분산된 비구조적 또는 반구조적 데이터를 처리하는 데 특화된 몽고DB, 카우치DB 또는 카산드라와 같은 NoSQL 데이터베이스가 사용된다. 방대한 데이터 용량과 유형이 하나의 통합 형식으로 융합되고 하나의 데이터 저장소에 저장되는 데이터 웨어하우징과 달리 이러한 툴은 데이터의 기반 속성이나 위치를 바꾸지 않는다. 이메일은 그대로 이메일, 센서 데이터는 그대로 센서 데이터인 채 거의 모든 곳에 저장할 수 있다.

시스템 클러스터의 NoSQL 데이터베이스에 방대한 양의 데이터가 저장되어 있더라도 그 데이터로 무언가를 하지 않는 이상 별 쓸모가 없다. 빅데이터 분석의 용도가 바로 그것이다. 태블로(Tableau), 스플렁크(Splunk), 재스퍼(Jasper) BI와 같은 툴을 사용하면 이 데이터를 분석해서 패턴을 파악하고 의미를 추출하고 새로운 통찰력을 얻을 수 있다. 여기서부터 할 일은 필요한 사항이 무엇이냐에 따라 달라진다.  editor@itworld.co.kr

원문보기: http://www.itworld.co.kr/news/106362?page=0,1#csidxc3b7d66c62050d0902e0b9d2297c106 onebyone.gif?action_id=c3b7d66c62050d090






Articles

1 2 3 4 5 6 7