HOME > Detail View

Detail View

Storm 실시간 빅데이터 분석 플랫폼 : 분산 환경과 머신 러닝을 이용한 데이터 처리 (Loan 4 times)

Material type
단행본
Personal Author
Anderson, Quinton 조효성, 역
Title Statement
Storm 실시간 빅데이터 분석 플랫폼 : 분산 환경과 머신 러닝을 이용한 데이터 처리 / 퀸튼 앤더슨 지음 ; 조효성 옮김
Publication, Distribution, etc
의왕 :   에이콘,   2014  
Physical Medium
321 p. : 삽화 ; 24 cm
Series Statement
acorn + PACKT technical book
Varied Title
Storm real-time processing cookbook
ISBN
9788960775794 9788960772106 (세트)
General Note
색인수록  
000 01022camcc2200313 c 4500
001 000045813502
005 20141022102806
007 ta
008 140709s2014 ggka 001c kor
020 ▼a 9788960775794 ▼g 94000
020 1 ▼a 9788960772106 (세트)
035 ▼a (KERIS)BIB000013506709
040 ▼a 211062 ▼c 211062 ▼d 211062 ▼d 222001 ▼d 244002
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.74 ▼2 23
085 ▼a 005.74 ▼2 DDCK
090 ▼a 005.74 ▼b 2014z7
100 1 ▼a Anderson, Quinton
245 1 0 ▼a Storm 실시간 빅데이터 분석 플랫폼 : ▼b 분산 환경과 머신 러닝을 이용한 데이터 처리 / ▼d 퀸튼 앤더슨 지음 ; ▼e 조효성 옮김
246 3 ▼a 스톰 실시간 빅데이터 분석 플랫폼
246 1 9 ▼a Storm real-time processing cookbook
260 ▼a 의왕 : ▼b 에이콘, ▼c 2014
300 ▼a 321 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a acorn + PACKT technical book
500 ▼a 색인수록
700 1 ▼a 조효성, ▼e
900 1 0 ▼a 앤더슨, 퀸튼, ▼e
949 ▼a Acorn plus PACKT technical book

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Sejong Academic Information Center/Science & Technology/ Call Number 005.74 2014z7 Accession No. 151322627 Availability Available Due Date Make a Reservation Service C

Contents information

Book Introduction

acorn+PACKT 시리즈. 아파치 스톰(Apache Storm)은 분산 환경에서 사용할 수 있는 실시간 빅데이터 분석 플랫폼이다. 분산 환경에서 카산드라(Cassandra), 카프카(Kafka) 등과 같은 다양한 데이터베이스와 연동할 수 있는 기능과 다양한 프로그램 언어로 실시간 데이터 분석 알고리즘을 적용할 수 있어 다양한 프로그램 개발자에게 빅데이터 분석의 장에 참여할 수 있도록 유도하고 있다.

아울러 스택오버플로우(stackoverflow), 소스포지(source forge), 깃허브(github), 그리고 아파치 스톰 커뮤니티를 통해 실질적인 빅데이터 분석 개발에서 마주할 수 있는 문제를 해결할 때 강력한 문제 해결 능력을 제공하고 있어 스톰을 배울 절호의 기회가 될 것이다.

이 책은 개발 환경 구축과 이를 이용한 스톰 클러스터 테스트, 규칙 기반 데이터 프로세싱 단계를 포함한 데이터 스트림 처리, 자바, 클로저, 루비, C++를 이용한 다중 언어 스톰 토폴로지 배포, 카산드라와 하둡을 스톰과 연동, 캐스케이딩을 이용한 배치 프로세스 기반 용어 중요도 연산 알고리즘 구현 등을 다루고 있다.

★ 요약 ★
아파치 스톰(Apache Storm)은 분산 환경에서 사용할 수 있는 실시간 빅데이터 분석 플랫폼이다. 분산 환경에서 카산드라(Cassandra), 카프카(Kafka) 등과 같은 다양한 데이터베이스와 연동할 수 있는 기능과 다양한 프로그램 언어로 실시간 데이터 분석 알고리즘을 적용할 수 있어 다양한 프로그램 개발자에게 빅데이터 분석의 장에 참여할 수 있도록 유도하고 있다. 아울러 스택오버플로우(stackoverflow), 소스포지(source forge), 깃허브(github), 그리고 아파치 스톰 커뮤니티를 통해 실질적인 빅데이터 분석 개발에서 마주할 수 있는 문제를 해결할 때 강력한 문제 해결 능력을 제공하고 있어 스톰을 배울 절호의 기회가 될 것이다.

★ 이 책에서 다루는 내용 ★
■ 개발 환경 구축과 이를 이용한 스톰 클러스터 테스트
■ 규칙 기반 데이터 프로세싱 단계를 포함한 데이터 스트림 처리
■ 분산 원격 절차 호출 구축
■ 자바, 클로저, 루비, C++를 이용한 다중 언어 스톰 토폴로지 배포
■ 카산드라와 하둡을 스톰과 연동
■ 캐스케이딩을 이용한 배치 프로세스 기반 용어 중요도 연산 알고리즘 구현
■ 예측 카운팅 모델과 분류 모델의 생성과 설치
■ 스톰을 클라우드에 지속적 통합과 설치에 대한 문제 해결
★ 이 책의 대상 독자 ★
실시간 프로세싱에 관심이 있거나 실시간 프로세싱 개발을 할 때 쓰는 스톰의 사용 방법을 학습하려는 개발자에게는 이상적인 책이다. 이 책은 독자가 자바 개발자라고 가정한다. 클로저, C++, 루비 등의 개발 경력이 있다면 유용하지만 필수적인 사항은 아니다. 하둡이나 유사한 기술에 대한 경력이 있으면 상당히 도움이 된다.

★ 이 책의 구성 ★
1장, 개발 환경 설정: 스톰을 사용할 때 필요한 로컬 개발 환경을 설정하는 과정을 설명하는데, 모든 필요한 도구 설정과 추천하는 개발 워크 플로우까지 설명한다.
2장, 로그 스트림 프로세싱: 기본 통계 대시보드와 로그 검색 기능을 모두 갖춘 로그 스트림 프로세싱 솔루션을 개발하는 과정을 독자에게 설명한다.
3장, 트라이던트를 이용한 어휘 중요도 측정: 제품 수준의 엔터프라이즈 데이터 파이프라인을 사용 가능하도록 스톰에서 동작하는 데이터 플로우 추상인 트라이던트(Trident)를 소개한다.
4장, 분산 원격 처리 호출: 분산 원격 처리 호출을 구현하는 방법을 설명한다.
5장, 다중언어 토폴로지: 다중언어(폴리글랏, Polyglot) 기술을 사용하는 방법과 기존에 존재하는 많은 기술에 새로운 기술을 접목하는 방법을 설명한다.
6장, 스톰과 하둡의 통합: 스톰과 하둡의 결합 방법을 설명해서 완벽한 람다(Lambda) 아키텍처를 생성할 수 있도록 돕는다.
7장, 실시간 머신 러닝: 하나의 주제로 머신 러닝에 대한 간단히 설명하고 스톰 기반의 실시간 프로젝트 내에서 다양한 측면에서 머신 러닝을 구현하는 기법을 설명한다.
8장, 지속적인 배포: 지속적인 배포 파이프라인을 구축하는 방법을 설명하고 스톰 클러스터를 특정 환경에 높은 신뢰도로 배포하는 기법을 설명한다.
9장, AWS를 활용한 스톰 구동: 스톰 클러스터를 아마존 컴퓨팅 클라우드에 자동 제공하는 다양한 기법을 설명한다.

★ 저자 서문 ★
오픈 소스는 소프트웨어에 대해 근본적인 방향을 여러 가지 측면으로 제시하면서 소프트웨어 시야를 변화시켜 왔다. 소프트웨어 발전에 대한 기여, 위험, 그리고 소유에 대한 전체 비용이라는 측면을 두고 어떠한 상황에서도 오픈 소스 사용에 대한 찬반론을 이끌어 낼 수 있는 다양한 의견들이 존재한다. 오픈 소스는 대규모 기관 파이낸셜 서비스 제공업체에 비해 연구 기관과 같은 환경에서 좀 더 인기가 있다. 웹 서비스 제공, 컨텐트 제공, 소셜 네트워킹이라는 떠오르는 분야에서 오픈 소스는 소프트웨어의 미래를 선도하고 있다. 이는 여러 가지 측면에서 사실을 인정받고 있으며, 특히 그 이유 중 커다란 확률을 차지하는 것은 비용이다. 웹 스케일(Web scale) 규모로까지 증가해야 하는 오픈 소스 솔루션은 더 나은 성능을 바라는 욕구로 인해 '빅데이터' 솔루션으로 분류되었다. 빅데이터 솔루션은 다양한 범위의 서비스를 아우르면서 고객들에게 개인화된 경험을 제공하면서 천문학적인 수준의 가용성으로 초당 수만 리퀘스트를 처리한다.
웹 스케일의 시스템을 설계하려면 문제를 보는 시각이 달라져야 하는데, 즉 아키텍트 솔루션 개발에 대한 시야의 변화, 복잡도를 받아들여야 할 곳과 피해야 할 곳을 구분하는 방법 학습을 예로 들 수 있다. 특정 산업 분야에서는 웹 스케일로 배치 시스템(batch system)을 설계할 수 있는 수준까지 도달했다. 맵리듀스(MapReduce), 벌크 동기 병렬, 그리고 기타 컴퓨팅 패러다임 이후에 나타난 대규모 컴퓨팅 클러스터(Large-scale computing cluster) 기술은 광범위하게 구현되었고, 개발자들의 호응을 얻었다. 오픈 소스는 혁신의 물결을 이끌면서 활성화시킨 동시에, 상위 소프트웨어 벤더가 자신의 기술 스택에 하둡을 융합하는 과정에서 고군분투하도록 만들면서, 오픈 소스를 둘러싸고 벤더간 일정 수준의 치열한 경쟁에 전혀 개의치 않는 분위기를 이끈다.
그러나 고객의 욕구는 좀 더 나은 성능을 갈망하며 증가했다. 더 많은 데이터 처리, 다양한 서비스, 더 많은 가치, 좀 더 편안한 방법, 그리고 지금 당장, 그리고 상대적으로 적은 비용을 바란다. 순수 데이터의 규모가 증가함에 따라 실시간 응답 시간에 대한 요구 사항도 같이 증가한다. 차세대 컴퓨팅 플랫폼이 출현하면, 이는 어떤 데이터의 규모에서라도 실시간으로 처리되는 것에 집중한다. 따라서 많은 독특한 도전을 의미하는데, 즉 이론적이고 실질적인 도전 과제이다.
이 책은 플랫폼의 일종인 스톰 프로세서를 숙달할 수 있게 도울 것이다. 스톰 프로세서는 소셜 데이터 분석 회사인 백타입(Backtype)에서 근무하는 나단 마르즈(Nathan Marz)가 제작한 오픈 소스 형태의 실시간 컴퓨팅 플랫폼이다. 나중에 트위터가 사들였고 오픈 소스 형태로 공개했다. 스톰 프로세서는 사용자와 공헌자로 이루어진 지속적으로 발전하는 오픈 소스 커뮤티니 형태로 꾸준히 발전했고 제품 생산 분야에서 성공 스토리를 가지고 있다. 이 책의 서문을 작성할 때, 스톰 프로젝트는 GitHub에서 6000개 이상의 별이 붙었고, 3000 명의 트위터 팔로어가 있었으며, 초당 각 프로젝트 노드 당 백만 이상의 트렌잭션에서 벤치마칭을 했고, 스톰을 이용한 제품 제작을 한 80명에 달하는 레퍼런스 고객(reference customer)까지 등장했다.
이는 상당히 인상 깊은 수치이다. 더욱이, 솔루션을 고안하고 배포하는 방법에 알맞은 어떠한 언어를 사용하든 스톰 기반의 시스템을 배포하는 일은 상당히 흥미롭다라는 점을 이 책의 끝 부분에서 알게 될 것이다.
이 책은 실질적인 예제 모음을 가지고 스톰을 배울 수 있도록 구성되어 있다. 예제들은 실 세계의 유스케이스에 기반을 두고 있고, 이 책이 설명하고 있는 것처럼 다양한 개념들을 소개하고 있다. 더욱이 스톰 솔루션을 개발할 수 있도록 안내하는 스톰 기술 중에서 데브옵스(DevOps) 기술을 증진시킬 수 있고, 개발자가 만들어 내는 가치가 담긴 제품에 신뢰도를 높게 하여 배포할 수 있도록 구성되어 있다.


Information Provided By: : Aladin

Author Introduction

퀸튼 앤더슨(지은이)

실시간 연산 시스템(real-time computational system)에 대한 깊은 관심과 배경 지식이 있는 소프트웨어 엔지니어다. 퀸튼의 소프트웨어 이력은 군사 방어 시스템 구축에 필요한 실시간 통신 시스템 설계와 파이낸셜 서비스와 은행 시스템 구축에 필요한 엔터프라이즈 애플리케이션 제작으로 나눌 수 있다. 퀸튼은 특정 기술이나 프로그래밍 언어에 자신을 제약하지 않고 사운드 엔지니어링(sound engineering)과 다중 언어로 처리할 수 있는 프로그램 개발(polyglot development)에 온 힘을 쏟고 있다. 오픈 소스 참여에 열정적이고, 스톰 커뮤니티에서 활발하게 활동하고 있는 멤버인 동시에 스톰 기반의 다양한 솔루션 배포를 즐겨 한다. 퀸튼의 또 다른 관심분야는 머신 러닝(machine learning) 분야 중 하나인 베이시안 신뢰 네트워크(Deep Belief network)이며, 이는 로보틱스와 관련이 있다. 컴퓨팅 이론, 범용 IT 개념, 그리고 베이시안 신뢰 네트워크에 대한 좀 더 많은 정보가 필요하다면 그의 블로그를 참조하기 바란다. 링크드인 프로파일(http://au.linkedin.com/pub/quinton-anderson/37/422/11b/)을 통해 퀸튼에 대한 정보를 찾아볼 수 있고, 깃허브 계정(https://github.com/quintona) 혹은 Bitbucket 계정을 통해 소스 코드를 찾아보거나 기존 소스에 공헌할 수 있다.

조효성(옮긴이)

광운대학교 전자공학과를 졸업하고 동대학원 임베디드 소프트웨어 공학과에서 안드로이드와 블루투스를 전공했다. 과거 오비고에서 웹 개발자로 활동하고 있는 노드에 관심이 많은 행복 개발자다. 행복한 HMI WebApp 개발 팀에서 차량용 플랫폼에 올라가는 웹 앱을 개발하면서 많은 경험과 실력을 쌓았다. 현재 브라이니클에 근무하면서 서버와 클라이언트를 개발하며, 빅데이터 분석에 관심이 많고, 실제 데이터 분석 사례를 만들고 있다. 번역 작업을 통해 책을 읽는 모든 사람에게 꼭 도움이 되기를 바라는 마음을 늘 품고 있다. 에이콘출판사에서 출간한 『노드로 하는 웹 앱 테스트 자동화』(2013), 『익스프레스 프레임워크로 하는 노드 웹 앱 프로그래밍』(2014), 『Storm 실시간 빅데이터 분석 플랫폼』(2014), 『안드로이드 음성 인식 애플리케이션 개발』(2014), 『Spark로 하는 고속 빅데이터 분석과 처리』(2014), 『AngularJS 반응형 웹앱 개발과 성능 최적화』(2015), 『리액트 정복하기』(2016)를 번역했다.

Information Provided By: : Aladin

Table of Contents

1장 개발 환경 설정
도입
개발 환경 설정
분산 버전 컨트롤
“Hello World” 토폴로지 생성
머신을 프로비저닝하는 스톰 클러스터 생성
스톰을 프로비저닝하는 스톰 클러스터 생성
기초적인 클릭 통계 자료 수집
볼트 테스트 유닛
통합 테스트 구현
클러스터에 테스트 실행

2장 로그 스트림 프로세싱
도입
로그 에이전트 생성
로그 스파우트 생성
로그 스트림에 대한 규칙 기반 분석
로그 데이터의 인덱스화와 지속성 유지
로그 통계 자료의 카운팅과 지속
로그 스트림 클러스터를 위한 통합 테스트 구현
로그 분석 대시보드 개발

3장 트이던트를 이용한 어휘 중요도 측정
도입
트위터 필터를 이용한 URL 스트림 생성
문서에서 클린 스트림 용어 추출하기
각 용어의 상대적 중요도 계산하기

4장 분산 원격 절차 호출
도입
요청 프로세싱을 처리하기 위한 분산 원격 절차 호출 사용
트라이던트 토폴로지를 이용한 통합 테스트
이동 윈도우 토폴로지 구현
통합 테스트에서 시간 시뮬레이션

5장 다중언어 토폴로지
도입
Qt에서 다중 언어 프로토콜 구현
Qt로 SplitSentence 볼트 구현하기
루비로 카운트 볼트 구현하기
클로저로 어휘 카운트 토폴로지 정의하기

6장 스톰과 하둡의 통합
도입
하둡에서 어휘 빈도수-문서 역 빈도수 구현하기
스톰의 도큐먼트 유지하기
일괄 처리와 실시간 데이터 뷰의 통합

7장 실시간 머신 러닝
도입
트랜잭션 토폴로지 구현
R을 이용한 랜덤 포리스트 분류 모델 생성
랜덤 포리스트를 이용한 트랜잭션 스트림의 동작 분류
R을 이용한 연관 규칙 모델 설계a
추천 엔진 설계
실시간 온라인 머신 러닝

8장 지속적인 배포
도입
CI 서버 설정
시스템 환경 설정
배포 파이프라인 정의
자동화된 허가 테스트 구현

9장 AWS를 활용한 스톰 구동
도입
파레트를 이용해서 스톰을 아마존 웹 서비스에서 배치하기
가상 비공개 클라우드 설치
베이그란트를 이용해서 스톰을 가상 비공개 클라우드에 배치하기

New Arrivals Books in Related Fields

Ramamurthy, Bina (2021)