HOME > 상세정보

상세정보

카프카 스트림즈와 ksqlDB 정복 : 실시간 데이터 처리 (1회 대출)

자료유형
단행본
개인저자
Seymour, Mitch 오세봉, 역
서명 / 저자사항
카프카 스트림즈와 ksqlDB 정복 : 실시간 데이터 처리 / 미치 시모어 지음 ; 오세봉 옮김
발행사항
서울 :   에이콘,   2023  
형태사항
539 p. : 삽화 ; 24 cm
총서사항
에이콘 클라우드 컴퓨팅 시리즈
원표제
Mastering Kafka streams and ksqlDB : building real -time data systems by example
ISBN
9791161756929
일반주기
부록: A. 스트림즈 설정, B. ksqlDB 설정  
색인수록  
일반주제명
Electronic data processing --Structured techniques
000 00000cam c2200205 c 4500
001 000046138252
005 20230105145631
007 ta
008 230105s2023 ulka 001c kor
020 ▼a 9791161756929 ▼g 93000
035 ▼a (KERIS)BIB000016585295
040 ▼a 211015 ▼c 211015 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 004.2/1 ▼2 23
085 ▼a 004.21 ▼2 DDCK
090 ▼a 004.21 ▼b 2023
100 1 ▼a Seymour, Mitch
245 1 0 ▼a 카프카 스트림즈와 ksqlDB 정복 : ▼b 실시간 데이터 처리 / ▼d 미치 시모어 지음 ; ▼e 오세봉 옮김
246 1 9 ▼a Mastering Kafka streams and ksqlDB : ▼b building real -time data systems by example
260 ▼a 서울 : ▼b 에이콘, ▼c 2023
300 ▼a 539 p. : ▼b 삽화 ; ▼c 24 cm
490 1 0 ▼a 에이콘 클라우드 컴퓨팅 시리즈
500 ▼a 부록: A. 스트림즈 설정, B. ksqlDB 설정
500 ▼a 색인수록
650 0 ▼a Electronic data processing ▼x Structured techniques
700 1 ▼a 오세봉, ▼e
830 0 ▼a 에이콘 클라우드 컴퓨팅 시리즈
900 1 0 ▼a 시모어, 미치, ▼e
945 ▼a ITMT

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 004.21 2023 등록번호 121261597 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 004.21 2023 등록번호 121261832 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

카프카 스트림즈와 ksqlDB를 사용하면 쉽고 빠르게 스트림 데이터를 처리하고 실시간으로 분석할 수 있다. 강력한 카프카 스트림즈와 ksqlDB의 스트림 처리 기능을 바탕으로 매일 수천억 건 이상의 데이터를 처리하는 스트림 데이터 처리 애플리케이션도 개발할 수 있다.

이 책은 스트림 데이터의 일반적인 내용을 비롯해 카프카 스트림즈와 ksqlDB의 구현 원리 및 스트림 데이터 개발에 필요한 여러 기능과 상용화 방법을 쉬운 예제로 설명한다. 따라서 스트림 데이터 처리가 궁금한 독자나 스트림 데이터 처리 애플리케이션 개발에 관심이 많은 개발자라면 꼭 읽어봐야 하는 책이다.

◈ 이 책에서 다루는 내용 ◈

◆ 카프카와 펍/섭 통신 패턴 학습
◆ 스트림 처리 애플리케이션 구축
◆ 윈도우 조인과 집계 등 복잡한 연산 수행
◆ 상태가 있는 처리의 내부 동작 이해
◆ ksqlDB의 데이터 통합 기능 학습
◆ ksqlDB의 여러 컬렉션 종류로 가져오기와 내보내기 쿼리 수행
◆ 카프카 스트림즈와 ksqlDB 애플리케이션 상용화 배치

◈ 이 책의 대상 독자 ◈

실시간으로 대용량 데이터를 움직이고 보강하며 변환하는 대규모의 스트림 처리 애플리케이션을 구축하는 방법을 배우고자 하는 데이터 엔지니어를 위한 것이다. 이런 기술들은 종종 비즈니스 인텔리전스 이니셔티브, 분석 파이프라인, 위협 탐지, 이벤트 처리 등을 지원해야 한다.
실시간 데이터 스트림을 분석해 자신의 기술력을 향상시키고자 하는 데이터 과학자와 분석가에게도 유용하다. 이는 데이터 처리 분야를 지배하고 있는 배치 처리 공간으로부터 벗어날 수 있는 새로운 출발점이 될 것이다. 아파치 카프카에 대한 사전 경험은 필수가 아니며, 자바 프로그래밍 언어가 어느 정도 친숙하다면 카프카 스트림즈 사용 지침을 좀 더 쉽게 따라갈 수 있다.

◈ 이 책의 구성 ◈

1장, '카프카 빠르게 소개하기'는 카프카 소개와 단일 노드 카프카 클러스터를 실행하는 사용 지침을 제공한다.
2장, '카프카 스트림즈 시작하기'는 카프카 스트림즈의 배경 지식과 아키텍처, 그리고 간단한 카프카 스트림즈 애플리케이션 실행을 다룬다.
3장과 4장에서는 카프카 스트림즈의 상위 수준 DSL(도메인 특화 언어)에 있는 상태가 없는 또는 상태가 있는 연산자를 살펴본다. 각 장은 비즈니스 문제를 풀 때 이 연산자를 어떻게 사용하는지 보여주는 사용 지침을 포함하고 있다.
5장, '윈도우와 시간'에서는 스트림 처리 애플리케이션에서 시간이 어떤 역할을 하는지 알아보고 윈도우 조인과 집계와 같은 고급스러운 연산인 상태가 있는 연산을 수행할 때의 윈도우 사용 방법을 다룬다.
6장, '고급 상태 관리'는 상태가 있는 처리가 내부적으로 어떻게 동작하는지 설명하고 상태가 있는 카프카 스트림즈 애플리케이션을 운영할 때 필요한 몇 가지 팁을 알려준다.
7장, 'Processor API'는 카프카 스트림즈의 하위 수준 Processor API를 깊이 있게 다룬다. 이 API는 주기적인 함수 호출을 스케줄링할 때 사용할 수도 있고, 애플리케이션 상태와 레코드의 메타데이터를 좀 더 세분화된 단위로 접근하는 방법을 제공한다.
8장, 'ksqlDB 시작하기'는 ksqlDB를 소개하고 이 기술의 역사와 아키텍처에 대해 알아본다. 8장의 튜토리얼은 ksqlDB 서버 인스턴스를 설치하고 실행하고 ksqlDB CLI로 작업하는 방법을 보여준다.
9장, 'ksqlDB로 데이터 통합'은 ksqlDB의 데이터 통합 기능을 알아본다. 이 기능은 카프카 커넥트(Kafka Connect)의 도움을 받아 동작한다.
10장, 11장에서는 ksqlDB SQL을 자세히 알아보고, 여러 가지 컬렉션(Collection) 타입을 이용해 어떻게 작업을 하는지 보여준다. 또한 데이터 내보내기 쿼리(push query)와 데이터 가져오기 쿼리(pull query) 등을 수행한다.
12장, '테스트, 모니터링, 배포'에서는 카프카 스트림즈와 ksqlDB 애플리케이션을 상용 환경에 배포할 때 필요한 정보를 제공한다. 여기에는 모니터링, 테스트 그리고 애플리케이션을 컨테이너화하는 것을 포함한다.


정보제공 : Aladin

저자소개

미치 시모어(지은이)

메일침프 데이터 서비스 팀의 엔지니어이자 기술 책임자다. 카프카 스트림즈와 ksqlDB를 사용해 하루에 수십억 개의 이벤트를 초 미만의 지연 시간으로 처리하는 많은 스트림 처리 애플리케이션을 구축했다. 오픈 소스 커뮤니티에서 활동하고 있으며, 국제 컨퍼런스(카프카 서밋 런던, 2019)에서 스트림 처리 기술에 대해 발표했다. 지역 밋업에서 카프카 스트림즈와 ksqlDB를 주제로 강연하고 있으며 컨플루언트 블로그에 기고하고 있다.

오세봉(옮긴이)

티맥스 소프트에서 웹 어플리케이션 서버를 개발하다 빅데이터에 관심이 생겨 KT 넥스알에 입사했다. 재직 중에 『하이브 완벽 가이드』(한빛미디어, 2013), 『케스케이딩 완벽 가이드』(한빛미디어, 2014)와 『MVC 구조의 확실한 해답 AngularJS 디렉티브』(에이콘, 2016)을 번역했다. KT 넥스알을 나와 어린이용 스마트워치(LINE 키즈폰)를 출시했으며 이때부터 안드로이드 개발을 시작했다. 대학 때부터 웹을 비롯한 UI에 관심이 많아 안드로이드 UI에 적응하는 데 오래 걸리지는 않았지만 SQLite를 비롯한 안드로이드 서비스는 자료가 많지 않아 시행착오를 많이 겪어야 했다. 현재는 SK텔레콤에서 빅데이터를 이용한 데이터 분석과 관련된 일을 하고 있다.

정보제공 : Aladin

목차

1장. 카프카 빠르게 소개하기
__통신 모델
__스트림은 어떻게 저장되는가?
__토픽과 파티션
__이벤트
__카프카 클러스터와 브로커
__컨슈머 그룹
__카프카 설치
__안녕? 카프카
__요약

2장. 카프카 스트림즈 시작하기
__카프카 생태계
____카프카 스트림즈 이전
____카프카 스트림즈 이후
__한눈에 보는 카프카 스트림즈 특징
__운영 특성
____확장성
____신뢰성
____유지 보수성
__다른 시스템과 비교
____배치 모델
____처리 모델
____카파 아키텍처
__카프카 스트림즈 적용 사례들
__프로세서 토폴로지
____서브 토폴로지
____깊이 - 우선 처리
____데이터 흐름 프로그래밍의 이점
____태스크와 스트림 스레드
__상위 - 수준 DSL 대 하위 - 수준 Processor API
__튜토리얼 소개: Hello, Streams
____프로젝트 설치
____새 프로젝트 생성
____카프카 스트림즈 의존 라이브러리 추가
____DSL
____Processor API
__스트림과 테이블
____스트림/테이블 이중성
____KStream, KTable, GlobalKTable
__요약

3장. 상태가 없는 처리
__상태가 없는 처리 대 상태가 있는 처리
__튜토리얼 소개: 트위터 스트림 처리
__프로젝트 설치
__KStream 소스 프로세서 추가
__직렬화/역직렬화
____커스텀 Serdes 만들기
____데이터 클래스 정의
____커스텀 Deserializer 구현
____커스텀 Serializer 구현
____트윗 Serdes 구현
__데이터 필터링
__데이터 가지치기
__트윗 번역
__스트림 병합
__트윗 보강
____Avro 데이터 클래스
____감정 분석
__Avro 데이터 직렬화
____레지스트리 없는 Avro Serdes
____스키마 레지스트리-인식 Avro Serdes
__싱크 프로세서 추가
__코드 실행
__실제 검증
__요약

4장. 상태가 있는 처리
__상태가 있는 처리의 이점
__상태가 있는 연산자 훑어보기
__상태 저장소
____공통 특성
____영구 저장소 대 인 - 메모리 저장소
__튜토리얼 소개: 비디오 게임 전광판
__프로젝트 설치
__데이터 모델
__소스 프로세서 추가
____KStream
____KTable
____GlobalKTable
__스트림즈와 테이블 등록
__조인
____조인 연산자들
____조인 종류
____코-파티셔닝
____ValueJoiner
____KStream을 KTable로 조인(players 조인)
____KStream을 GlobalKTable과 조인(products 조인)
__레코드 그룹핑
____스트림즈 그룹핑
____테이블 그룹핑
__집계
____스트림 집계
____테이블 집계
__모두 합치기
__대화형 쿼리
____저장소 물리화
____읽기-전용 상태 저장소 접근
____비윈도우 키-값 저장소 쿼리하기
____로컬 쿼리
____원격 쿼리
__요약

5장. 윈도우와 시간
__튜토리얼 소개: 환자 모니터링 애플리케이션
__프로젝트 설치
__데이터 모델
__시간 의미
__타임스탬프 추출자
____내장 타임스탬프 추출자
____커스텀 타임스탬프 추출자
____타임스탬프 추출자와 함께 스트림 등록하기
__스트림 윈도윙
____윈도우 종류
____윈도우 선택
____윈도우 집계
__윈도우 결과 내보내기
____유예 기간
____중간 결과 제거
__윈도우 KTable 필터링과 키 재생성
__윈도우 조인
__시간-기반 데이터 흐름
____알림 싱크
____윈도우 키-값 저장소 쿼리하기
__요약

6장. 고급 상태 관리
__영구적인 저장소 디스크 레이아웃
__내고장성
____변경 로그 토픽
____대기 복제본
__리밸런싱: 상태(저장소)의 적
__상태 이관 방지
____StickyTaskAssignor
____고정 멤버십
__리밸런싱 영향 줄이기
____점진적 협력 리밸런싱
____상태 크기 제어
__레코드 캐시로 쓰기 중복 제거
__상태 저장소 모니터링
____StateListener 추가
____StateRestoreListener 추가
__내장 메트릭
__대화형 쿼리
__커스텀 상태 저장소
__요약

7장. Processor API
__Processor API는 언제 사용해야 할까?
__튜토리얼 소개: IoT 디지털 트윈 서비스
__프로젝트 설치
__데이터 모델
__소스 프로세서 추가
__상태가 없는 스트림 프로세서 추가
__상태가 없는 프로세서 생성
__상태가 있는 프로세서 생성
__구두점으로 주기적인 함수 호출
__레코드 메타데이터 접근
__싱크 프로세서 추가하기
__대화형 쿼리
__모두 조립하기
__Processor API와 DSL 결합
__프로세서와 트랜스포머
__모두 조립하기: 리팩토링
__요약

8장. ksqlDB 시작하기
__ksqlDB는 무엇인가?
__언제 ksqlDB를 사용할까?
__새로운 데이터베이스로 진화
____카프카 스트림즈 통합
____카프카 커넥트 통합
__ksqlDB와 전통적인 SQL 데이터베이스 비교 방법
____유사점
____차이점
__아키텍처
____ksqlDB 서버
____ksqlDB 클라이언트
__배치 모드
____대화형 모드
____헤드리스 모드
__튜토리얼
____ksqlDB 설치
____ksqlDB 서버 실행
____토픽 사전 생성
____ksqlDB CLI 사용하기
__요약

9장. ksqlDB로 데이터 통합
__카프카 커넥트 개요
__외부 모드와 임베디드 모드
____외부 모드
____임베디드 모드
__커넥트 워커 설정
____컨버터와 직렬화 포맷
__튜토리얼
__커넥터 설치
____커넥터 생성
____커넥터 보기
____커넥터 설명
____커넥터 삭제
__소스 커넥터 검증
__카프카 커넥트 클러스터와 직접 상호 동작
__관리형 스키마 검사
__요약

10장. ksqlDB 스트림 처리 기초
__튜토리얼: 넷플릭스의 변경 내용 모니터링
__프로젝트 설정
__소스 토픽
__데이터 타입
____커스텀 타입
__컬렉션
____소스 컬렉션 생성
____WITH 절
__스트림과 테이블로 작업하기
____스트림과 테이블 보기
____스트림과 테이블 설명 보기
____스트림과 테이블 변경
____스트림과 테이블 삭제
__기본 쿼리
____값 삽입
____간단한 셀렉트(일시적인 내보내기 쿼리)
____프로젝션
____필터링
____복합 구조체의 평평화/중첩 구조 해체
__조건식
____COALESCE
____IFNULL
____CASE문
__카프카로 결과 쓰기(영구적인 쿼리)
____파생 컬렉션 생성
__모두 합치기
__요약

11장. ksqlDB 중급, 고급 스트림 처리
__프로젝트 설정
__SQL 파일로 환경 설정하기
__데이터 보강
____조인
____윈도우 조인
__집계
____집계 기초
____윈도우 집계
__물리화된 뷰
__클라이언트
__가져오기 쿼리
____CURL
__내보내기 쿼리
____CURL로 내보내기 쿼리 실행
__함수와 연산자
____연산자
____함수 목록 보기
____함수 설명
____커스텀 함수 생성
____추가 참고 자료
__요약

12장. 테스트, 모니터링, 배포
__테스트
____ksqlDB 쿼리 테스트
____카프카 스트림즈 테스트
____행동 테스트
____벤치마킹
____카프카 클러스터 벤치마킹
____테스트 자동화
__모니터링
____모니터링 점검 목록
____JMX 메트릭 추출
__배포
____ksqlDB 컨테이너
____카프카 스트림즈 컨테이너
____컨테이너 오케스트레이션
__운영
____카프카 스트림즈 재설정
____애플리케이션 출력 속도 제한
____카프카 스트림즈 업그레이드
__ksqlDB 업그레이드
__요약

부록 A 스트림즈 설정
부록 B ksqlDB 설정

관련분야 신착자료

Culkin, John, (Software architect) (2023)
Nielsen, Michael A. (2022)
Dejonghe, Derek (2022)
Shrivastava, Saurabh (2022)
Qureshi, Hamid Mahmood (2022)