서브메뉴

본문

빅데이터 실무 기술 가이드 (A Practical Guide to Big Data Technology)
빅데이터 실무 기술 가이드 (A Practical Guide to Big Data Technology)
저자 : 한국데이터베이스진흥원
출판사 : 한국데이터베이스진흥원
출판년 : 2015
ISBN : 9788988474822

책소개

빅데이터를 활용하기 위해서는 수집ㆍ처리ㆍ저장ㆍ분석ㆍ시각화까지 일련의 과정을 거치게 된다. [빅데이터 실무 기술 가이드]는 빅데이터 실무 기술에 대해 소개하고 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

과목 1. 데이터 수집
데이터 수집은 빅데이터 프로젝트에 있어서 가장 처음 단계이고 간과하기 쉽지만 매우 중요한 부분이다. 데이터 수집에서 불필요한 데이터를 수집하거나 데이터 정합성이 맞지 않으면 수집 이후의 작업이 의미가 없어지기 때문이다. 이 과목에서는 여러 상황에서의 데이터 수집을 다룬다.

1장. 데이터수집의 이해
빅데이터를 활용하기 위해서는 수집ㆍ처리ㆍ저장ㆍ분석ㆍ시각화까지 일련의 과정을 거치게 된다. 데이터 수집 영역은 모든 작업의 시작이면서 빅데이터를 활용하기 위해 사용되는 기술의 결정까지 영향을 미친다. 데이터 수집을 위해서는 데이터에 대한 정확한 이해가 필요하다. 데이터의 존재라는 존재론적 특성과 목적론적(당위론적) 특성에 대해 고려해야 한다.
존재론적 특성은 흔히 알 수 있는 데이터의 존재 형태에 관한 특성으로 데이터의 수집방법 및 기술의 결정에 관여하게 되고, 목적론적 특성은 데이터 수집 전에 수집할 주체가 관심을 갖고 있는 사항이라 정의할 수 있다. 즉 분석이나 서비스 활용의 시각으로 데이터를 바라보았을 때, 관심 있어 하는 모든 대상이 객체화된 것이라 할 수 있다. 본 장에서는 데이터 수집을 위한 방법과 수집방법별로 수집 기술에 대해 알아보겠다.

2장. 데이터수집 실무
데이터 수집 실무에서는 현업에서 사용하고 있거나 요즘 가장 주목받고 있는 수집기술을 적용해 실제로 데이터를 수집ㆍ처리하는 과정을 학습한다. 1장의 데이터 수집의 이해에 대한 내용이 ‘데이터 수집’이라는 목적를 이루기 위한 과정 중 총론이었다면, 앞으로 설명하는 데이터 수집 실무는 데이터를 어떻게 수집ㆍ응용(처리)할 수 있는가에 대한 각론이 될 것이다. 데이터 수집의 이해를 바탕으로 수집기술을 어떻게 사용하는지 알아보도록 하자.

과목 2. 데이터 저장
빅데이터의 여러 분야에서 다양한 오픈소스들이 존재하지만 일반적인 빅데이터 저장에서는 Hadoop(HDFS)이 독보적인 위치를 차지하고 있다. 이 과목에서는 이에 대해서 중점적으로 다루고 빠른 조회와 같은 특정 상황에서 기존 RDBMS로 처리하기 힘든 영역을 위해 만들어진 NoSQL을 추가로 다룬다.

1장. 분산파일시스템
폭발적으로 증가하는 데이터를 처리하고 저장할 수 있는 하둡 분산 파일시스템의 중요성은 시간이 지날수록 점점 높아지고 있으면, 이제는 대기업뿐만 아니라 중소, 벤처 기업에서조차 하둡은 필수적인 시스템이 되어가고 있다.
본 장에서는 하둡 분산파일 시스템의 개요와 더불어 내부 구성 아키텍처, 동작 방식, 그리고 API를 이용한 파일 입출력 처리 방법을 소개한다. 실무적으로 기업 업무 환경에서 하둡 분산 파일시스템을 어떻게 활용할 수 있을지를 이해할 수 있도록 내용을 구성하였다.

2장. 분산데이터베이스
(NoSQL) NoSQL 개요와 더불어 HBase, MongoDB의 아키텍처 및 활용 사례를 소개한다. 대량의 데이터를 신속하게 처리하고 저장하는데 있어 NoSQL이 필수적이며, 시간이 흐를수록 그 중요성은 높아지고 있다. 페이스북과 트위터를 비롯한 수많은 글로벌 기업에서 다양한 형태로 NoSQL 활용 사례를 늘려가고 있으며, 국내에서도 활용하는 기업들이 점점 늘어나고 있다.
MongoDB와 HBase 외의 다른 NoSQL도 학습해 가면서 서로 비교를 해 본다면 향후 NoSQL 도입 시 적합한 도구를 선택할 수 있을 것이다.

3장. 인메모리 데이터 저장
빅데이터의 시대가 도래함에 따라 대량 데이터의 빠른 저장ㆍ처리가 정보시스템의 경쟁력이 되었다. 특히 실시간으로 데이터를 처리해야 되는 경우, 스토리지에서 데이터를 처리하는 전통적인 DBMS의 처리 방법은 근본적 한계를 갖게 된다. 처음 인메모리 DB가 그 한계를 극복하기 위해 대안으로 등장하였지만 성능과 안정성 문제에서 많은 시행착오를 겪어 왔다.
현재도 인메모리 DB에 대한 논란이 존재하지만 이는 DB자체의 문제 보다는 아키텍처 구성과 운영의 문제일 뿐이다. 본 장에서는 현재 다수의 글로벌 기업에서 사용 중인 레디스에 대해 알아보겠다.

4장. Oozie
우지는 하둡 (Hadoop) 환경에서 복잡한 작업의 흐름(workflow)을 관리해 주는 것이므로 최상층의 응용솔루션이라 할 수 있다. 따라서 하둡 및 관련 에코시스템에 대한 기본 개념의 이해가 필요하다. 나아가 리눅스 환경 특히 job 관리에 친숙하다면 job 스케쥴링을 이해하는데 도움이 된다.

과목 3. 데이터 처리
빅데이터 초기에는 MapReduce를 이용하여 큰 데이터를 처리하는 것이 유일한 목표였지만 개발의 편의성을 위해서 SQL형태를 사용하게 되었고, 더 빠른 처리를 위해서 SQL-On-Hadoop이 등장하였다. 또한 최근에는 배치처리 대신 실시간 처리를 위한 오픈소스가 등장하게 되었다. 이 과목에서는 앞서 언급한 다양한 데이터 처리에 관련된 오픈소스들을 설명한다.

1장. 분산병렬배치처리
스마트폰?SNS?사물통신망 확산 등으로 엄청난 양의 데이터가 생산?유통?공유되는 빅데이터 시대에 진입하면서 다양한 속성을 가진 가진 데이터를 처리 하기 위한 새로운 방법이 요구 되었다. 이에 맵리듀스(MapReduce)가 등장하게 되었다. 맵리듀스의 출발은 아주 단순하다. 함수형 언어인 Map과 Reduce라는 함수를 기반으로 구현된다. 구글은 이를 프레임워크로 개발해 ?MapReduce : Simplified Data Processing on Large Clusters?라는 논문과 함께 발표했다. 이 장에서는 빅데이터 처리의 기본인 맵리듀스의 개념 및 아키텍처 그리고 맵리듀스가 사용되는 환경에 대해서 살펴보고 하둡의 차세대 자원 관리자로 각광받고 있는 YARN의 설치방법 및 구성된 컴포넌트를 통한 사용방법에 대하여 설명하겠다.

2장. SQL On Hadoop
맵리듀스는 충분히 강력한 분산 처리 방법이지만, 기존의 복잡한 비즈니스 로직을 전부 맵리듀스로 구현하기에는 시간과 자원이 많이 소요된다. 그래서 기존 시스템에서 주로 사용한 SQL 형식으로 하둡의 데이터를 분산 처리할 수 있는 SQL-On-Hadoop이 주목받고 있다. SQL-On-Hadoop은 SQL 형식으로 되어 있기 때문에 기존 RDBMS와의 차이점과 UDF 구현 방법 등만 학습하면 된다. 단, 각 오픈소스마다 지원하는 기능과 쿼리별 성능이 다르기 때문에 처음 시스템 도입시 잘 고려해야 한다.
이번 장에서는 SQL-On-Hadoop에서 가장 대표적인 하이브에 대해 자세히 알아보고, 실시간 쿼리가 가능한 차세대 SQL-On-Hadoop 중에 대표적인 오픈소스 몇 가지와 사용법을 알아 보겠다.

3장. 스트리밍 데이터 처리
하둡이 보편화됨에 따라 대용량 데이터를 처리하는 것만으로는 부족함을 느끼게 되었다. 그래서 실시간 쿼리와 같이 대용량 데이터를 처리하되 가능한 빠르게 처리하려는 노력을 하고 있고 거기에 더해 데이터를 실시간으로 받아 처리하는 스트리밍 데이터 처리에 대한 기술이 주목 받고 있다.
실제로 올해부터 스트리밍 처리에 대한 현업들의 요건이나 프로젝트가 생기고 있다. 그런데 스트리밍 처리는 구현보다도 무중단이 가장 큰 이슈이다. 그렇기 때문에 실습만 하는 것보다는 실제 현업에서 사용하면서 운영 노하우를 쌓아가야 진짜 필요한 것을 배울 수 있다. 또한, 플럼, 카프카와 같이 인풋 데이터 소스와 RDBMS, HDFS, NoSQL과 같이 데이터 저장소와도 연동을 해야 하기 때문에 추가로 학습해야 할 부분이 많다. 이번 장에서는 빅데이터 스트리밍 처리의 대표적인 두 가지 오픈소스에 대해 알아 보도록 하겠다.

과목 4. 데이터 분석
데이터의 사이즈가 크건 작건 결국에는 분석을 해야 그 동안 수행해온 작업에 대한 의미가 생긴다. 이에 빅데이터를 처리할 수 있는 오픈소스를 알아보고, 다양한 분석을 할 수 있는 오픈소스인 R을 다룬다.

1장. 기계학습
최근 들어 각광받고 있는 빅데이터 분석 기술들을 소개한다.
대표적인 빅데이터 기계학습 라이브러리인 머하웃(Mahout)은 하둡(Hadoop)의 맵리듀스 (MapReduce) 기반 하에 처리ㆍ계산되기 때문에 기존의 R 같은 분석 도구로는 분석이 불가능한 대용량 데이터에도 복잡한 분석 알고리즘을 적용할 수 있다. 하지만 맵리듀스는 반복적인 디스크 쓰기와 같은 속도 저하의 요인들이 있으므로 이러한 작업들은 메모리를 사용하는 스파크(Spark) MLlib를 활용하여 훨씬 빠르게 결과를 얻을 수 있다.
최근 빅데이터 분석이 워낙 이슈가 되고 있다보니 관련 오픈소스들도 서로 영향을 주고 받으며 빠르게 변화하는 추세이다. Mahout, Spark MLlib, H2O, Oryx2.0 등 많은 기술들이 경쟁하고 있으므로 추이를 관심있게 지켜볼 필요가 있다.

2장. 통계분석
빅데이터는 Hadoop을 이용한 데이터 처리와 R 등을 활용한 분석이라는 두 얼굴을 가진다. 그런데 이들은 별개로 존재하는 것이 아니라 관련 전문가들이 공동작업 (cowork 내지 collaboration)을 함으로서만 소기의 목적을 달성할 수 있다. 데이터가 가진 의미와 그 한계를 어떻게 해석하느냐에 프로젝트의 성패가 달릴 수 있기 때문이다.
한편 통계이론과 기법은 그 자체로도 엄밀성을 확보해 줄뿐더러 다양한 마이닝 알고리즘 적용에서도 핵심적 개념을 제공해준다.
이 글에서는 기초통계 이론 중에서는 기술통계를 제외한 추정과 가설검정 및 분산분석 등을 다루고 고급통계이론 중에서는 특히 다변량 분석에 대해 R 패키지를 중심으로 살펴본다.

과목 5. 데이터 운영관리
이전 과목에서 데이터 수집->저장->처리->분석 각 단계에 대한 내용을 모두 다루었다. 마지막으로 실제 환경에 적용 위해서 각 단계에서 고려해야 할 운영적인 측면을 다룬다.

1장. 분석시스템관리
기업의 비즈니스 영역에서 도출된 다양한 분석 과제들을 제한된 자원 내에서 효과적으로 수행하기 위해 우선순위를 평가하고, 평가 결과에 따른 단계적 구현 로드맵 수립을 이해한다. 분석 시스템에서 장애가 발생했을 때 유형을 분석하고, 등급을 분류해 우선순위를 정하는 방법을 알아본다. 데이터를 분석하기 위해 요구되는 분석 수준에 대한 진단 방법과 분석 조직 및 인력 구성, 기업 내 분석 문화를 정착ㆍ확산하기 위한 변화관리 등 전반적인 분석 거버넌스 체계를 이해한다. 기업 내에서 데이터 분석 프로세스를 수립하기 위한 과정을 알아본다.
분석 과제의 우선순위 선정을 위한 평가방법 및 절차, 우선순위 평가기준에 대해 설명한다. 평가결과를 토대로 분석 과제의 단계적 로드맵과 세부 일정계획을 수립하는 방법에 대해 설명한다. 평가결과를 토대로 분석 과제의 단계적 구현 로드맵 및 세부 일정계획을 수립하는 방법에 대해 알아본다. 분석 시스템에서 발생한 장애의 복구 우선순위를 정하는 방법에 대해 알아본다. 분석 거버넌스 체계 수립을 위한 분석 준비도 및 분석 성숙도 등 분석 수준진단 프레임워크를 알아보고, 분석 조직 유형과 분석 인력 구성방안, 교육 및 변화관리 방안 순으로 구성했다. 데이터 분석을 하기 위한 프로세스를 단계별로 나누어 순행 준거와 고려사항, 자료 및 관련 서류를 제시함으로 전체적인 접근 방법을 소개한다.

2장. 용량/비용 관리
분석 시스템을 통해 빅데이터를 운영ㆍ관리하기 위해서는 용량과 비용 계획은 필수적으로 존재해야 한다. 만일 용량과 비용 계획이 바르게 산출되지 않으면, 원활한 서비스 제공이 힘들게 돼 비즈니스에 커다란 손실을 불러올 수 있다. 따라서 이 장에서는 분석 시스템에 대해 알아보고, 분석 시스템에 적정한 용량을 산출하는데 있어서 고려해야 하는 용량 계획에 대해 학습한다. 또한 분석 시스템을 운영해 빅데이터를 관리하기 위한 도구에 대해 알아보고, 방식에 대해 학습한다. 이런 방식을 운영할 때 고려해야 하는 비용 산출 항목에 대해 확인해 보고 적정한 운영비용을 산출하는 운영비용 계획에 대해 알아 본다. 이 장을 학습함으로써 적정한 수준에서의 최적의 비용으로 빅데이터 분석 시스템을 운영하는 방법에 대해 알 수 있다

3장. 보안관리
우리 사회는 지식 정보 사회로 빠르게 변화하고 있어서 기업과 개인의 정보 수요는 폭발적으로 증가하고 있다. 개인은 물론이고 기업이나 정부기관에 이르기까지 더 이상 IT와 정보시스템의 도움 없이는 본연의 목적을 달성할 수 없는 상황에 이르렀다. 그러나 급증하고 있는 정보 수요만큼이나 이에 대한 위협이나 침해 사고 또한 동반 상승하는 추세이다. 데이터베이스에 저장된 정보를 불법적으로 접근 또는 유출해 사회적 혼란과 파장을 야기하거나, 허위 정보나 명령의 입력, 또는 파손 등과 같은 행위로 데이터베이스 시스템의 정당한 사용 목적을 저해하고 기업과 개인 모두에게 심대한 피해를 입히는 행위 또한 해마다 급증하고 있다. 더구나 스마트 미디어가 대중적으로 확산되고 모바일 오피스가 빠르게 도입됨에 따라 이제는 PC 환경에서 나타났던 보안 위협이 스마트 미디어 환경으로 이동해 그들을 통한 정보유출 위협까지 함께 증가하고 있는 현실이다. 최근 국내에서 매우 많은 사람들의 개인정보가 유출되는 심각한 보안 사고가 연이어 발생해 개인정보가 유출된 당사자들에게 직접적인 피해가 발생하기도 하고 스팸 메일 급증과 같은 2차, 3차 피해로 이어지고 있다.

● 출판사 서평
데이터의 폭발적인 증가로 빅데이터의 분산처리 및 저장 기술은 최근 들어 가장 중요한 이슈로 떠올랐다. 빅데이터를 활용하기 위해서는 데이터의 수집 처리 저장 분석 시각화까지의 기술이 필요하다. 한국데이터베이스진흥원의 빅데이터 실무 기술 가이드는 이러한 빅데이터에 대한 일련의 과정을 일목요연하게 잘 정리한 실무용 기술 가이드북이다. 이 책을 통해 국내 빅데이터 전문가 양성과 빅데이터 산업의 발전을 기대해 본다.
- 백두권 (고려대학교 교수 / 도산아카데미 원장) -

빅데이터에서 노이즈를 제거하고 숨겨진 패턴을 발견하는 일은 분명 엑셀로 그래프를 그리는 것보다는 대단히 어렵고 복잡하며, 다양한 경험과 기술을 필요로 하는 일종의 기술적 종합 예술이다. 그간 빅데이터와 관련한 다양한 개념서 또는 교양서 같은 것들이 있었지만 현업에 도움이 될만한 기술적 실무서가 집대성된 적은 없었던 것 같다. 이 책은 그런 의미에서 단순한 기술 가이드 이상의 역할을 하리라 기대가 된다. 데이터의 수집, 저장에서 분석과 운영관리에 이르기까지 빅데이터 엔지니어를 위한 교과서 역할을 하리라 기대가 되며 편중되지 않은 기술적 큰 그림을 그릴 수 있도록 돕는 지침서가 될 것이다.
- 이경일(솔트룩스/대표이사) -

빅데이터에 대해 관심은 있지만 한번도 실전을 겪어보지 않은 사람이라면, 빅데이터를 연구해 보고싶어도 어떤 분야가 있는지, 어떻게 무엇부터 시작해야 할지 막막할 수 있다. 이 책은 빅데이터의 여러 구성 분야를 데이터 수집으로부터 분석에 이르기까지 총괄하여, 대표적 소프트웨어를 간단한 설명과 사용례 중심으로 소개하고 있어, 관련 기술을 익히는 데 있어 시작과 준비로서 도움이 될 것이다.
- 권대석(클루닉스/대표이사)-

빅데이터 영역은 너무 넓어서 다양한 영역에서의 전문가를 필요로 합니다. 개별 영역 실무자를 위한 서적들이 종종 있었지만, ‘빅데이터 실무 기술 가이드’는 빅데이터 전 영역에서의 실무자들에게 필요한 심도있는 내용을 전달하고 있습니다. 데이터 사이언티스트는 특정 영역에서의 전문성도 중요하지만 다양한 영역과의 연결성도 중요하게 고려해야 하는 만큼 향후 빅데이터 전문가로 성장하고자 하는 분들에게 중요한 디딤돌이 될 수 있을 것으로 기대합니다.
- 이종석(신한카드 BigData 센터 /본부장) -
[교보문고에서 제공한 정보입니다.]

목차정보

과목 Ⅰ 데이터 수집
제1장 데이터수집의 이해
제1절 데이터 수집 개요
제2절 수집 데이터의 분류
제3절 데이터 수집절차
제4절 데이터 수집방법 및 기술
연습문제

제2장 데이터수집 실무
제1절 로그 데이터 수집
제2절 관계형 데이터베이스 수집
제3절 웹 크롤링
제4절 오픈 API 수집방법(소셜 데이터 수집)
연습문제

과목 Ⅱ 데이터 저장
제1장 분산파일시스템
제1절 개요
제2절 하둡 아키텍처
제3절 하둡 설치
제4절 하둡 클라이언트
제5절 하둡 WebHDFS 서비스
연습문제

제2장 분산데이터베이스(NoSQL)
제1절 NoSQL 등장 배경
제2절 NoSQL 범주
제3절 Apache HBase
제4절 MongoDB

제3장 인메모리 데이터 저장
제1절 레디스 개발 환경의 이해
제2절 레디스 성능 개선
제3절 레디스 운영관리
연습문제

제4장 Oozie
제1절 Oozie 개요 및 설치
제2절 설정파일의 구성과 작업순서
제3절 Oozie 실습
연습문제

과목 Ⅲ 데이터 처리
제1장 분산병렬배치처리
제1절 개요
제2절 맵리듀스 개발환경의 이해
제3절 맵리듀스 실습
제4절 맵리듀스 튜닝
제5절 아파치 하둡 YARN
연습문제

제2장 SQL On Hadoop
제1절 SQL-On-Hadoop
제2절 하이브
제3절 타조
제4절 샤크 소개와 아키텍처
연습문제

제3장 스트리밍 데이터 처리
제1절 스톰
제2절 스파크 프로그래밍과 스파크 스트리밍
연습문제

과목 Ⅳ 데이터 분석
제1장 기계학습
제1절 기계학습과 데이터 마이닝
제2절 머하웃
제3절 Spark MLlib
연습문제

제2장 통계분석
제1절 기초통계
제2절 다변량 분석
제3절 R에서의 처리성능 개선
제4절 R에서 맵리듀스 구현
연습문제
주요 용어

과목 Ⅴ 데이터 운영관리
제1장 분석시스템관리
제1절 분석 시스템 성능, 장애분석 및 운영
제2절 거버넌스 체계 수립 및 운영
제3절 업무 처리 프로세스 수립 및 운영
연습문제

제2장 용량/비용관리
제1절 분석 시스템 용량 계획
제2절 관리 도구 및 운영비용 계획
연습문제

제3장 보안관리
제1절 계정 및 권한 관리
제2절 로그 분석 및 탐지
연습문제

[부록] 연습문제 정답 및 해설
[교보문고에서 제공한 정보입니다.]