Thumbnail
데이터 사이언스 데이터 엔지니어링

카프카 완벽 가이드 - ksqlDB 대시보드

(4.6)
7개의 수강평 ∙  198명의 수강생
99,000원

월 19,800원

5개월 할부 시
지식공유자: 권 철민
총 139개 수업 (21시간 31분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

중급자를 위해 준비한
[데이터 엔지니어링, 데브옵스 · 인프라] 강의입니다.

본 강의는 ksqlDB의 활용과 핵심 메커니즘을 다양한 실습을 통해 익힐 수 있게 구성되어 있습니다. 강의를 마치고 나면 여러분은 Kafka(카프카) 기반의 실시간 Streaming 데이터 분석 시스템을 쉽고 빠르게 구축하실 수 있게 됩니다.

✍️
이런 걸
배워요!
KSQLDB의 기반 개념부터 Advanced 아키텍처까지
Stream과 Table의 차이, 그리고 Stateful(상태가 있는) Streaming 처리 메커니즘
KSQLDB 주요 오브젝트들의 생성 및 관리 정보, 다양한 Data 타입의 이해
KSQLDB에서 RocksDB 동작 메커니즘
KSQLDB의 다양한 쿼리 구문과 함수 이해
Group by 와 Mview 이해와 활용, 그리고 특수성과 제약
다양한 유형의 KSQLDB 조인 이해와 활용 그리고 특수성과 제약
여러가지 유형의 Window들의 이해 및 Time 기반 Window Aggregation과 Window 조인의 동작 메커니즘
KSQLDB에서 Connect 활용
KSQLDB와 Elasticsearch 연동 및 Kibana를 통한 분석 결과 시각화

대용량 실시간 스트리밍 분석 시스템, 
Kafka + ksqlDB로 쉽고 강력하게! 

실시간 스트리밍 데이터 분석의 
효율과 확장성을 잡고 싶다면?

Kafka(카프카)를 사용하고 있다면, 대용량의 실시간 스트리밍 분석 시스템을 구현하는 가장 쉽고 빠른 방법은 바로 ksqlDB를 이용하는 것입니다. 

Kafka와 통합되어 설치 및 구동되는 ksqlDB는 복잡한 Streaming API를 사용하지 않고, 단 몇 줄의 SQL 코드만으로도 간단하게 실시간 스트리밍 데이터의 가공/변환/분석 작업을 수행할 수 있습니다. 

컨플루언트 공식 페이지에서 발췌 (링크)

이미 국내외 유수 기업들이 과거와 비할 수 없을 정도로 대용량이면서 빠른 Latency를 가지는 스트리밍 데이터를 실시간으로 분석하고 즉각적으로 해당 결과를 반영하려는 요구사항에 직면하고 있으며, 이를 위해 ksqlDB를 적극적으로 도입하고 있습니다. 

과거에는 Kafka 기반의 실시간 스트리밍 데이터 가공/변환/분석을 위해 복잡한 Kafka Streams API를 활용했지만, 지금은 간단한 쿼리만으로도 쉽고 빠르게 스트리밍 분석 시스템을 구축할 수 있는 ksqlDB가 실시간 스트리밍 데이터 분석 시스템 구축을 위한 대세가 되어 가고 있습니다. 

빠르게 성장하는 ksqlDB, 그리고 부족한 전문가

ksqlDB는 SQL 기반의 쉽고 편리한 구현 등 여러 장점으로 인해 기존의 카프카 Streams API를 빠르게 대체하며 성장하고 있습니다. 

하지만 ksqlDB를 실무에 활용할 정도의 실력을 갖춘 현업 인력을 찾기는 매우 어렵습니다. ksqlDB가 비교적 최근에 부각된 솔루션임과 동시에, ksqlDB를 다루는 대부분의 자료나 강의가 피상적인 개념 위주의 내용으로 구성되어 실무에서 필요로 하는 실력을 쌓기에는 부족함이 많았기 때문입니다.


실시간 대용량 스트리밍 데이터 처리 애플리케이션을 쉽고 빠르게.

‘카프카 완벽 가이드 - ksqlDB’는 

본 강의는 여러분을 ksqlDB 전문가로 성장할 수 있도록 실전적인 내용으로 구성되어 있습니다. 우리의 목표는 이를 통해 기업이 원하는 ksqlDB 전문 인력으로 한층 더 발돋움할 수 있게 되는 것입니다.

번번이 ksqlDB의 높은 벽에 가로막히신 분

ksqlDB의 핵심 메커니즘을 이해하고 싶으신 분

✅ 업무에 즉각적으로 ksqlDB를 활용하고 싶으신 분

이에 본 강의는 수강생 여러분들이 실무에서 바로 ksqlDB를 활용하기 위해서 반드시 체득해야 할 내용들로 채워져 있습니다.

이 강의만의 특징을 
확인해보세요.

상세한 시각자료와 실습을 통해 ksqlDB 주요 구성요소들의 핵심 동작 메커니즘을 체득

ksqlDB는 일반 RDBMS와 비슷한 부분도 있지만, 상당히 다른 부분이 많습니다. 때문에 ksqlDB를 잘 다루기 위해서는 주요 구성 요소인 Stream, Table, Query, Mview, RocksDB 등의 동작 메커니즘을 상세히 이해하고 있어야 합니다. 본 강의는 상세한 시각자료와 실습을 통해  ksqlDB의 핵심 메커니즘을 체득할 수 있도록 도와드릴 것입니다. 

ksqlDB 고유의 다양한 함수, 조인, Group by, Window 활용 및 실무 활용을 위한 실전 실습까지

ksqlDB를 실무에서 잘 활용하려면 ksqlDB에서 제공하는 여러 함수들을  조인 및 Group by, 그리고 Window 사용 방법을 잘 알고 있어야 합니다. 특히 ksqlDB의 조인, Group by, Window는 SQL과는 다른 제약점들이 있으며, 이들을 이해하지 않고서는 ksqlDB를 제대로 활용 할 수 없습니다. 본 강의에서 이들 요소들을 많은 실습을 통해서 직접 수행해 보면서 그 차이를 명확하게 이해하실 수 있을 것입니다.

또한 별도로 마련된 '온라인 신발 Shop' 실전 실습 섹션을 통해, 여러분을 실무에서 ksqlDB에서 다양한 실시간 분석을 효율적으로 적용할 수 있는 수준으로 이끌어 드릴 것입니다. 

ksqlDB에서 Connect 활용, 그리고 Elasticsearch 연동과 Kibana 시각화까지

ksqlDB에서 Connect의 통합하고 활용하는 방법을 말씀드립니다. 또한 ksqlDB의 분석 결과를 Elasticsearch로 Connect를 통해서 저장하고 이를 Kibana를 통해 시각화하는 방법을 실습을 통해 익히실 수 있습니다. 

ksqlDB 초보에서 전문가 수준으로 이끌어 드립니다.

⚙️

ksqlDB 주요 구성 요소들의 핵심 메커니즘

🔎

Stream과 Table의 차이 및 활용 방법, 주요 오브젝트들의 생성 및 관리

🧰

실습을 통한 ksqlDB의 다양한 쿼리 구문과 주요 함수의 이해

📊

ksqlDB 고유의 Group by, MView, Join 이해와 활용, RDBMS와의 차이 및 제약 사항

🔐

여러 가지 유형의 Window에 대한 이해 및 Time 기반 Window Aggregation, Window 조인의 동작 메커니즘 실습

💾

Connect와의 연동 및 Elasticsearch와 Kibana를 통한 분석 결과의 수집 및 시각화

ksqlDB 겉핥기가 아닌, 지금까지의 어떤 강의나 인터넷 자료에서도 찾아볼 수 없었던 핵심적인 내용과 활용법을 담아내기 위해 많은 노력을 기울였습니다. 또한 실습을 통해 이론을 보다 자연스럽게 익힐 수 있도록 다양한 실습 수업으로 커리큘럼을 가득 채웠습니다.

본 강의를 마치신 뒤에는, 누구와 견주어도 손색없는 ksqlDB 전문가로 성장해 있는 자신을 발견하실 수 있을 것입니다. 

상세한 설명, 다양한 실습으로 내용을 충분히 이해할 수 있도록 구성했습니다. 
(수강생 분들께는 100페이지 이상의 강의 교재 PDF를 제공합니다.) 

💡 수강 전 참고해주세요!

  • 본 강의에서는 ksqlDB만 다루며, Kafka Streams는 다루지 않습니다. 
  • Macbook M1/M2 모델 PC에서는 Virtualbox VM 호환 실습이 어려울 수 있습니다. 

실습 환경 

서버 OS 

카프카 서버 OS로 오라클(Oracle) VirtualBox VM 기반에서 Ubuntu Linux(우분투 리눅스) 20.04를 이용합니다. 리눅스를 이용하지만 가상 머신 기반으로 구동되므로 Windows/macOS 환경 모두에서 구성할 수 있습니다.

VirtualBox는 Windows/macOS 환경에서 거의 대부분 설치 가능합니다. 다만 Mac의 경우 최신 M1 모델에서 VirtualBox가 설치되지 않으므로 UTM등의 가상환경을 이용하여 Ubuntu를 설치하셔야 합니다. M1 모델의 경우 반드시 가상환경에서 Ubuntu가 설치되는지 확인 후 강의를 선택해 주시기 바랍니다.  

컨플루언트 카프카 
커뮤니티 에디션  

카프카는 아파치 카프카(Apache Kafka)가 아닌 컨플루언트 카프카(Confluent Kafka) Community Edition 버전 7.1.2를 사용합니다.

컨플루언트는 카프카를 만든 핵심 인력이 주축이 되어 세운 회사로, 기업 고객을 위해 성능 및 편의성 측면에서 보다 향상된 기업용 카프카를 제공하고 있습니다. 아파치 카프카와 100% 호환되면서도 보다 다양한 카프카 모듈 및 일체화된 Binary를 이용할 수 있습니다. 컨플루언트로 강력한 분산형 시스템 카프카를 더욱 탄력적으로 확장 가능한 형태로 사용해 보세요. 인프라 구축 및 유지 관리 부담을 줄이고, 더 빠른 개발을 할 수 있도록 도움을 줄 것입니다.

권장 PC 사양 

전체 실습 환경 구성으로 20~30GB의 스토리지 용량, 4GB 이상의 RAM을 갖춘 PC 환경이 요구될 수 있습니다.


Q&A를 확인해보세요 💬

Q. 이전 강의인 카프카 완벽 가이드 - 코어편이나 커넥트편을 들어야 하나요?

 본 강의 중 2개 섹션은 ksqlDB와 Connect의 연동을 다루고 있습니다. 카프카 완벽 가이드 - 커넥트편을 수강하지 않으셨더라도 기본적인 Connect에 대한 이해와 실습 경험은 있으셔야 해당 섹션 실습을 이해하실 수 있을 것 같습니다. 

카프카 코어에 대한 이해는 필수적으로 필요합니다. 이전 강의인 카프카 완벽 가이드 - 코어편을 수강하시면 좋습니다. 다만 수강하지 않으셨더라도 카프카의 기본인 Broker, Producer, Consumer의 활용 경험이 있고 핵심 개념이 잘 잡혀 있으시다면 충분히 본 강의를 들으실 수 있습니다.

Q. 강의 수강을 위해 RDBMS SQL경험이 있어야 하나요?

본 강의의 많은 실습이 쿼리를 기반으로 하고 있습니다. 때문에 기본적인 RDBMS SQL 구문 및 Group by와 Join에 대한 활용 경험이 있으셔야 합니다. 

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
KSQLDB의 주요 구성 요소들을 쉽고 깊이 있게 이해하기 원하는 모든 분들
Kafka 기반에서 대량의 실시간 Streaming 데이터 가공/변환 분석 시스템을 빠르고 효과적으로 구축하고자 하는 데이터 엔지니어
실시간 Streaming 데이터 분석 활용이 필요한 분석가와 데이터 사이언티스트
기존 Producer/Consumer기반 또는 Kafka Streams 기반에서 KSQLDB 기반으로 Application을 Migration하려는 개발자
📚
선수 지식,
필요할까요?
(카프카 완벽 가이드 - 코어편을 수강하셨다면 가장 좋지만, 그렇지 않을 경우) 토픽/프로듀서/컨슈머에 대한 확실한 기본 지식이 필요합니다
카프카 Connect에 대한 기반 지식
많은 실습이 쿼리 기반으로 진행됩니다. 조인과 Group By를 이해하는 기본 SQL 지식이 필요합니다

안녕하세요
권 철민 입니다.
권 철민의 썸네일

(전) 엔코아 컨설팅

(전) 한국 오라클

AI 프리랜서 컨설턴트

파이썬 머신러닝 완벽 가이드 저자

커리큘럼 총 139 개 ˙ 21시간 31분의 수업
이 강의는 영상, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 1. ksqlDB 소개
ksqlDB 소개 미리보기 11:40 Kafka Streams API 이해 미리보기 13:18
실시간 Streaming 분석 시스템의 이해 16:38
RocksDB 소개 미리보기 06:30
ksqlDB의 Process, Task, Thread 및 병렬 수행 이해 12:39
섹션 2. ksqlDB Stream
첫번째로 시작하는 KSQLDB Stream 미리보기 12:21 Stream 개요 미리보기 09:40 Stream과 Table의 차이 미리보기 10:28 Key를 가지지 않는 Stream의 생성 미리보기 13:48 Stream 생성 구문과 직렬화포맷의 이해 미리보기 11:14
Stream의 메타 정보 확인 하기 07:30
Key를 가지는 Stream의 생성 08:22
Pull 쿼리와 Push 쿼리의 이해 09:30
Stream에서 Pull 쿼리 제약 사항 06:04
Pull 쿼리와 Push 쿼리에서 Consumer 동작 차이 10:26
Query 오브젝트의 이해 15:50
Data 타입과 Alter DDL 구문 - 01 08:46
Data 타입과 Alter DDL 구문 - 02 09:43
Rowtime 필드 이해 05:55
자동으로 auto.offset.reset을 earliest로 설정하기 08:23
섹션 3. ksqlDB Table
Table 생성하기 미리보기 09:02
Table의 상태(Stateful) 관리 07:56
Topic을 소스(Source)로 가지는 Table의 RocksDB 동작 메커니즘 이해 - 01 06:33
Topic을 소스(Source)로 가지는 Table의 RocksDB 동작 메커니즘 이해 - 02 10:44
RocksDB의 Storage 기본(Default) 디렉토리 변경하기 03:48
여러 개의 컬럼들을 PK로 가지는 Table 생성하기 05:05
섹션 4. KSQL의 활용
KSQL 활용 개요 미리보기 07:52
Projection과 Filtering 그리고 Limit 구문 실습 10:15
문자열의 결합과 컬럼 타입의 명시적 변환 실습 08:08
Null값 치환과 Case When 구문 실습 08:26
Date, Time, Timestamp 타입 컬럼의 변환 함수 개요 04:20
Temporal 타입과 문자열 상호 변환 함수 실습 13:15
Temporal 타입과 Unix 시간 상호 변환 함수 실습 09:49
Temporal 타입값의 더하기/빼기 함수 실습 12:38
현재 일자와 현재 시각 구하기 09:52
Date와 Date간, Timestamp와 Timestamp간 기간 구하기 09:34
Kafka의 Default Timezone 고찰 08:36
Count와 Count_distinct 실습 10:03
섹션 5. Group by 와 Mview
Group by 사용하기 미리보기 10:07
latest_by_offset과 earliest_by_offset 이해 10:09
Mview의 이해 08:40
Mview CTAS 생성하기 12:08
Mview CTAS의 데이터 처리 동작 이해 - 01 04:30
Mview CTAS의 데이터 처리 동작 이해 - 02 09:35
Mview 생성 시 auto.offset.reset값에 따른 유의 사항 04:30
Group by 절에 여러 개의 컬럼이 있는 Mview 생성하기 06:14
as_value()를 이용하여 MView 생성시 Group by 컬럼을 토픽의 Value로 만들기 06:01
Mview CTAS에서 RocksDB 동작 메커니즘 - 01 08:06
Mview CTAS에서 RocksDB 동작 메커니즘 - 02 11:10
Mview CSAS 생성하기 09:17
Mview CSAS의 데이터 처리 동작 06:00
Group by의 Repartition 이해 - 01 11:47
Group by의 Repartition 이해 - 02 08:30
섹션 6. 조인(Join)
KSQLDB에서 조인(Join) 소개 07:29
Stream to Stream 조인 이해 11:01
Stream to Table 조인 이해 11:41
Stream to Table 조인 시 Event 생성 시점에 따른 조인 처리 - 01 08:15
Stream to Table 조인 시 Event 생성 시점에 따른 조인 처리 - 02 10:25
조인 시 Co-Partitining 제약 09:33
조인 시 조인 Key컬럼에 cast 함수 적용 시 유의 사항 05:15
Table to Table 조인 이해 - 01 13:08
Table to Table 조인 이해 - 02 13:36
Outer 조인 이해 - 01 05:24
Outer 조인 이해 - 02 13:15
파티션의 Key가 아닌 컬럼을 조인 Key로 사용하여 조인하기 05:53
섹션 7. Time과 Windows - 01
KSQLDB에서 Time의 역할과 Rowtime 08:11
Event time, Ingestion time, Processing time의 이해 08:09
Kafka log.message.timestamp.type 설정값에 따른 Rowtime 09:19
커스텀 Rowtime 값 설정하기 13:11
Window 개요 08:08
Tumbling Window의 이해 16:01
Hoping Window의 이해 12:57
Session Window의 이해 14:14
Window의 Grace Period 이해 16:38
Window 기반 Table 생성 및 활용 시 유의 사항 18:08
섹션 8. Time과 Windows - 02
Window 조인의 이해 07:05
Window 조인의 활용 - 01 10:16
Window 조인의 활용 - 02 14:36
Window 조인의 활용 - 03 08:47
조인 Mview에서 Rowtime의 설정 기준 05:58
섹션 9. KSQLDB와 Connect 연동
KSQLDB와 Connect 연동 개요
Kafka Connect 개요 미리보기 09:32
Embedded 모드와 External 모드 연동 이해 06:37
Embedded 모드로 Connector 연동하기 10:37
Embedded 모드에서 Datagen Source Connector 설치하기 11:09
Clickstream User 데이터를 위한 Datagen Source Connector 생성 10:45
External 모드에서 Connect 설치하기 11:17
External 모드에서 Connect와 KSQLDB 연동 - 01 10:25
External 모드에서 Connect와 KSQLDB 연동 - 02 04:44
Datagen Connector의 주요 파라미터 소개 및 Connector 생성 시 유의 사항 12:02
Clickstream 메시지 Datagen Connector 생성하기 11:36
Clickstream User 메시지 Table 생성 및 유의 사항 06:45
Avro 메시지 기반의 Datagen Connector 및 Stream 생성하기 08:34
섹션 10. Connect를 이용한 KSQLDB와 Elasticsearch 연동
Elasticsearch와 Kibana 소개 미리보기 12:57
Elasticsearch 설치하기 11:30
Kibana 설치 및 환경 구성 13:22
Sink Connector를 위한 Elasticsearch Role과 User 생성 10:10
Elasticsearch Sink Connector 설치 06:10
<공지> Stack Monitoring 설정 시 Role 추가 04:02
Elasticsearch Sink Connector의 주요 설정 파라미터 이해 15:54
키(Key)값이 없는 메시지를 Sink Connector로 연동하기 16:17
키값을 가지는 Avro 메시지를 Sink Connector로 연동하기 10:23
신규 키 및 기존 키로 데이터 추가 시 Elasticsearch 연동하기 05:50
Struct 키와 복합 키를 가지는 메시지의 Elasticsearch 연동 이슈 이해 08:15
복합 키를 가지는 메시지의 Elasticsearch 연동 - 01 11:28
복합 키를 가지는 메시지의 Elasticsearch 연동 - 02 07:49
섹션 11. KSQLDB Usecase 실전 실습(온라인 신발 Shop 주문 및 Clickstream 실시간 분석)
KSQLDB Usecase 실전 실습 개요 미리보기 05:31
Shoe Clickstream 데이터 세트 소개 및 Stream과 Table 선택 기준 08:15
<공지> 실습 환경 초기화 04:20
Shoe Clickstream Datagen Connector 생성 및 데이터 세트별 Stream과 Table 생성 14:09
고객별/고객 State별 주문 건수 구하기 14:15
<공지> Custom Timestamp에 따른 실습 Topic의 Retention 기한과 과거 데이터 삭제 설명 08:59
제품 Brand 별 주문건수/판매액 및 고객별 등급 구하기 10:36
고객 등급별 전체 건수 및 Free 쿠폰 대상 구하기 13:00
30분 단위 주문 시계열 분석하기 10:16
Clickstream의 30분 단위 접속 페이지 건수 구하기 10:37
30분 단위 Brand별 클릭 수 및 전체 클릭 수 09:33
Brand별 Top 가격 및 세션 접속 건수 11:21
섹션 12. 온라인 신발 Shop 실시간 분석 데이터의 Elasticsearch 연동 및 Kibana 시각화
실시간 분석 데이터의 Elasticsearch 연동 및 Kibana 시각화 실습 개요 미리보기 01:10
KSQLDB 실시간 분석 데이터의 Elasticsearch 연동 - 01 07:47
KSQLDB 실시간 분석 데이터의 Elasticsearch 연동 - 02 14:51
Kibana로 시각화 하기 - 01 08:37
Kibana로 시각화 하기 - 02 13:13
Kibana로 시각화 하기 - 03 10:33
Kibana로 시각화 하기 - 04 03:51
맺으며 - 감사드립니다. 00:37
강의 게시일 : 2023년 04월 21일 (마지막 업데이트일 : 2023년 10월 12일)
수강평 총 7개
수강생분들이 직접 작성하신 수강평입니다.
4.6
7개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
아캄 thumbnail
5
최고의 수업입니다. 강사님의 목소리도 좋고, 열정도, 그리고 실습하나하나까지 정말 매력적인 분이세요.
2023-12-05
JoyNGain thumbnail
5
잘봤습니다. 앞으로의 업무에 도움이 되었으면 좋겠네요.
2023-12-15
ultimatedata555 thumbnail
5
너무 좋은 강의입니다.
2023-08-29
지식공유자 권 철민
좋은 칭찬과 수강평 진심으로 감사드립니다 ^^
2023-08-31
박성범 thumbnail
5
권철민 강사님 도움되는 강의 정말 너무 감사합니다 그런데 한가지 질문이 있습니다 Kafka cluster 처럼 KsqlDB를 서로 연동하여 Cluster처럼 구성하는 법을 알고 싶습니다 링크나 혹은 코멘트 남겨 주실수 있나요 ?
2024-01-05
지식공유자 권 철민
좋은 수강평 감사합니다. 아래 강의 질문/답변 게시판에 답변 남겼습니다. https://www.inflearn.com/questions/1128750/ksqldb-cluster-%EC%97%AC%EB%B6%80-%EB%B0%95%EC%84%B1%EB%B2%94%EB%8B%98-%EC%A7%88%EB%AC%B8-%EC%A0%9C%EA%B0%80-%EB%8C%80%EC%8B%A0%ED%95%B4%EC%84%9C-%EC%A0%81%EC%8A%B5%EB%8B%88%EB%8B%A4
2024-01-06
박성범
질문까지 친절하게 답해 주셔서 너무 감사합니다 큰 도움이 되었습니다 ㅎ 앞으로 새로 강의 만드시면 또 수강 하겠습니다 화이팅입니다
2024-01-07
이무 thumbnail
5
최고입니다..bb
2024-02-12
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!