카프카 스트림즈와 ksqlDB 정복

실시간 데이터 처리
$48.30
SKU
9791161756929
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 12/6 - Thu 12/12 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 12/3 - Thu 12/5 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2022/11/28
Pages/Weight/Size 188*235*30mm
ISBN 9791161756929
Categories IT 모바일 > OS/데이터베이스
Description
카프카 스트림즈와 ksqlDB를 사용하면 쉽고 빠르게 스트림 데이터를 처리하고 실시간으로 분석할 수 있다. 강력한 카프카 스트림즈와 ksqlDB의 스트림 처리 기능을 바탕으로 매일 수천억 건 이상의 데이터를 처리하는 스트림 데이터 처리 애플리케이션도 개발할 수 있다. 이 책은 스트림 데이터의 일반적인 내용을 비롯해 카프카 스트림즈와 ksqlDB의 구현 원리 및 스트림 데이터 개발에 필요한 여러 기능과 상용화 방법을 쉬운 예제로 설명한다. 따라서 스트림 데이터 처리가 궁금한 독자나 스트림 데이터 처리 애플리케이션 개발에 관심이 많은 개발자라면 꼭 읽어봐야 하는 책이다.
Contents
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 설정
Author
미치 시모어,오세봉
메일침프 데이터 서비스 팀의 엔지니어이자 기술 책임자다. 카프카 스트림즈와 ksqlDB를 사용해 하루에 수십억 개의 이벤트를 초 미만의 지연 시간으로 처리하는 많은 스트림 처리 애플리케이션을 구축했다. 오픈 소스 커뮤니티에서 활동하고 있으며, 국제 컨퍼런스(카프카 서밋 런던, 2019)에서 스트림 처리 기술에 대해 발표했다. 지역 밋업에서 카프카 스트림즈와 ksqlDB를 주제로 강연하고 있으며 컨플루언트 블로그에 기고하고 있다.
메일침프 데이터 서비스 팀의 엔지니어이자 기술 책임자다. 카프카 스트림즈와 ksqlDB를 사용해 하루에 수십억 개의 이벤트를 초 미만의 지연 시간으로 처리하는 많은 스트림 처리 애플리케이션을 구축했다. 오픈 소스 커뮤니티에서 활동하고 있으며, 국제 컨퍼런스(카프카 서밋 런던, 2019)에서 스트림 처리 기술에 대해 발표했다. 지역 밋업에서 카프카 스트림즈와 ksqlDB를 주제로 강연하고 있으며 컨플루언트 블로그에 기고하고 있다.