실시간 데이터 파이프라인 아키텍처 (대규모 시스템 설계를 위한 스트리밍 데이터의 개념과 동작 원리)

실시간 데이터 파이프라인 아키텍처 (대규모 시스템 설계를 위한 스트리밍 데이터의 개념과 동작 원리)

$27.00
Description
비즈니스 요구사항에 따른 아키텍처의 가이드라인을 제시하는
'실시간 데이터 처리' 완벽 입문서
이제는 '실시간'의 시대다. 사용자의 반응에 빠르게 대응해야 하는 현대 인터넷 환경에서 스트리밍 데이터 파이프라인에 대한 요구는 꾸준히 커지고 있으며, 어느새 실시간 데이터를 잘 다루는 것이 업계에서 승리를 가져갈 수 있는 중요한 요건이 되었다. 하지만 이러한 시대적인 흐름에도 불구하고 아직까지 실시간 데이터를 어떻게 다룰지에 대한 명확한 가이드라인이나 경험이 없어서 도입하지 못한 곳들이 많다. 게다가 많은 개발자가 기존의 ‘동기(Sync) 방식’으로 데이터 처리하는 것에는 익숙하지만 ‘실시간(Streaming)’으로 데이터를 처리하는 데에는 어려움을 느낀다. 현재 업계 내 스트리밍 파이프라인에 대해 잘 알고 있는 전문가는 매우 부족한 실정이며, 책이나 영상 등의 콘텐츠 역시 찾아보기 힘들다.

이 책은 비즈니스 목표를 달성하기 위해 어떤 실시간 데이터 아키텍처로 구성하고 운영해야 할지 명확한 가이드라인을 제시한다. 스트리밍 데이터에 대한 정의부터 시작하여 단계별로 세분화된 아키텍처의 역할, 동작 방식, 각 장단점과 상황에 맞는 선택지를 보여준다. 그리고 스트리밍 데이터 아키텍처에 대해 공부한 지식을 기반으로 코드로 실습해 보는 시간을 가지면서 마무리한다. 기본 개념부터 아키텍처 구성, 코드 실습까지 구성되어 있으므로 실시간 데이터 처리에 대해 고민하는 개발자, 엔지니어, 조직장 등 모든 분들에게 큰 도움이 될 것이다.

소스 코드 다운로드 https://github.com/bjpublic/streaming-data
저자

앤드류살티스

AndrewPsaltis
스트리밍시스템개발전문가로서이미풍부한경력을가진그는,실시간데이터에서인사이트를찾아내는애플리케이션개발에주력하고있다.잠잘때를제외한거의모든시간을스트리밍시스템에대한생각과구현에쏟으며,고객들을위해다양한규모의스트리밍시스템을만들거나개선한다.또한국내외학술대회를통해스트리밍관련내용을발표하고있으며,다른개발자들을위한강의도진행하고있다.여가시간에는사랑스러운아내와두명의아이들과함께시간을보내며,자투리시간대부분은라크로스를시청하곤한다.

목차

1부완전히새로운접근법

1장스트리밍데이터소개
1.1실시간시스템이란
1.2실시간시스템과스트리밍시스템의차이점
1.3스트리밍데이터아키텍처
1.4스트리밍시스템의보안
1.5서비스를확장하는방법
1.6정리

2장클라이언트에서데이터가져오기:데이터수집
2.1일반적인통신패턴
2.1.1요청/응답패턴
2.1.2요청/확인응답패턴
2.1.3발행/구독패턴
2.1.4단방향패턴
2.1.5스트림패턴
2.2통신패턴확장하기
2.2.1요청/응답파생패턴
2.2.2스트림패턴확장하기
2.3내결함성
2.3.1RBML
2.3.2SBML
2.3.3HBL
2.4상용환경에적용하기
2.5정리

3장수집단계에서데이터전송:데이터파이프라인분리
3.1메시지큐단계가필요한이유
3.2핵심개념
3.2.1프로듀서,브로커,컨슈머
3.2.2프로듀서와컨슈머의격리
3.2.3메시지의지속적저장
3.2.4메시지전달시맨틱
3.3보안
3.4장애허용
3.5비즈니스요구사항들에주요개념을적용해보기
3.6정리

4장스트리밍데이터분석
4.1인플라이트데이터분석이해하기
4.2분산스트림프로세싱아키텍처
4.3스트림프로세싱프레임워크의핵심기능들
4.3.1메시지전달시맨틱
4.4정리

5장데이터분석을위한알고리즘
5.1제약조건확인및완화
5.2시간에대한생각
5.2.1슬라이딩윈도우
5.2.2텀블링윈도우
5.3취합기술들
5.3.1랜덤샘플링
5.3.2데이터개수카운트
5.3.3빈도
5.3.4멤버십
5.4정리

6장분석또는수집한데이터저장
6.1장기스토리지가필요한경우
6.2인메모리저장소에저장하기
6.2.1인메모리/플래시메모리기반데이터베이스
6.2.2캐싱시스템
6.2.3인메모리데이터베이스와인메모리데이터그리드
6.3활용사례살펴보기
6.3.1세션내개인화서비스
6.3.2차세대에너지회사
6.4정리

7장데이터를접근가능하도록만들기
7.1네트워크통신패턴
7.1.1데이터동기화
7.1.2RMI와RPC
7.1.3심플메시징
7.1.4발행-구독
7.2클라이언트에데이터를전달하는프로토콜방식
7.2.1웹훅
7.2.2HTTP롱풀링
7.2.3SSE
7.2.4웹소켓
7.3스트림필터링
7.3.1어디서필터링을할것인가
7.3.2정적필터링vs동적필터링
7.4실전예제:MeetupRSVP스트리밍API만들기
7.5정리

8장컨슈머디바이스에서데이터접근시가능성과한계
8.1핵심개념
8.1.1클라이언트의읽기속도가빠를경우
8.1.2데이터처리상태관리
8.1.3데이터유실줄이기
8.1.4정확히한번으로처리
8.2실제로만들어보기:SuperMediaMarket
8.3웹클라이언트소개
8.3.1스트리밍API서버와통합
8.4SQL쿼리적용
8.5정리

2부스트리밍데이터아키텍처구현하기

9장실시간으로MeetupRSVP분석하기
9.1수집단계
9.1.1수집단계애플리케이션데이터흐름
9.2메시지큐단계
9.2.1카프카설정및설치
9.2.2수집단계애플리케이션과카프카연동
9.3분석단계
9.3.1카프카와연동하는스톰설치
9.3.2상위N개의데이터를추출하는스톰토폴로지작성
9.3.3분석단계통합
9.4인메모리데이터저장소
9.5데이터접근단계
9.5.1상용환경에적용하기
9.6정리

출판사 서평

실시간데이터를완벽히이해하고잘다루고싶은
모든사람들을위한지침서!

엄청난양과속도로생성되는실시간데이터를이해하고처리해야하는'빅데이터시대'가도래했습니다.실시간위치데이터를토대로주변맛집을추천하고,센서데이터를통해기계의결함을추적하고,고객이매장을떠나기전에디지털영수증을발급하는등의놀라운작업들이실시간으로이루어집니다.하지만실시간데이터를처리하려면스트리밍파이프라인을반드시구축해야하며,스트리밍파이프라인구축방법은기존동기방식데이터처리와는다르기때문에개발자들에게많은혼동을야기하고있습니다.

이책은빠르게흐르는스트리밍데이터를처리하는방법을알려주는입문서입니다.풍부한그림과함께실시간데이터처리에필요한다양한개념을설명하며,예제코드와활용사례들을통해스트리밍데이터를분석하고공유및저장하는애플리케이션을만드는방법도학습합니다.또한스트리밍애플리케이션에서스파크,스톰,아파치카프카,플링크,레빗엠큐등다양한기술의역할을소개하고,기술종류별로발생할수있는여러장애물들과그에따른해결방안을알려줍니다.최종적으로스트리밍데이터아키텍처를그리는방법과세부구축방법들도배우게됩니다.이책을통해실시간데이터수집,처리,저장에대한아키텍처를완벽히이해하고현업실무에적용해보세요.

〈이책이필요한사람〉
ㆍ데이터파이프라인을개발하고구축해야하는데이터엔지니어및백엔드엔지니어
ㆍ스트리밍애플리케이션기반의엔터프라이즈아키텍처를구축하고싶은개발자
ㆍ데이터플랫폼팀을이끌고,데이터기반의사결정을내려야하는기업임원
ㆍ데이터기반엔지니어링및데이터플랫폼아키텍처에관심있는모든사람