Это кто там такой твитит про #jbreak?

A presentation at JBreak in March 2018 in Novosibirsk, Novosibirsk Oblast, Russia by Viktor Gamov

Slide 1

Slide 1

Это кто там твитит про #jbreak @gamussa

Slide 2

Slide 2

Ты кто такой? Давай… Solutions Architect Developer Advocate @gamussa in internetz Ну подпишись, плиз… @gamussa @ @confluentinc

Slide 3

Slide 3

Slide 4

Slide 4

Маркетинг и тщеславие ©

Slide 5

Slide 5

Дисклеймер 1. Это не введение в кафки 2.Это не введение stream processing 3.В это зале люди знакомы С кафкой @gamussa @ @confluentinc

Slide 6

Slide 6

@gamussa @ @confluentinc

Slide 7

Slide 7

@gamussa @ @confluentinc

Slide 8

Slide 8

Дисклеймер 1.Да, это маркетинг кафки 2.Да, это маркетинг stream processing @gamussa @ @confluentinc

Slide 9

Slide 9

Консьюмеры Продюсеры @gamussa @ @confluentinc

Slide 10

Slide 10

Что такое поточная обработка? @gamussa @ @confluentinc

Slide 11

Slide 11

Это когда пьешь прям из шланга

Slide 12

Slide 12

Аналогия с UNIX – системами Connect API Kafka Streams / KSQL Connect API $ cat < in.txt | grep “ksql” | tr a-z A-Z > out.txt Apache Kafka

Slide 13

Slide 13

KSQL это декларативный язык обработки поточных данных

Slide 14

Slide 14

KSQL это поточный SQL движок для Apache Kafka

Slide 15

Slide 15

для начала, Базовые концепции KSQL 15

Slide 16

Slide 16

Базовые абстракции БД - таблица Hadoop - файл Стримы -? @gamussa 16 @confluentinc

Slide 17

Slide 17

Бревно (eng. Log)

Slide 18

Slide 18

Slide 19

Slide 19

Стримы превращаются в Таблицы @gamussa 19 @confluentinc

Slide 20

Slide 20

Таблицы превращаются в стримы @gamussa 20 @confluentinc

Slide 21

Slide 21

Одно превращается в друое @gamussa 21 @confluentinc

Slide 22

Slide 22

Одно превращается в друое @gamussa 22 @confluentinc

Slide 23

Slide 23

Slide 24

Slide 24

СТРИМЫ «-» ТАБЛИЦЫ 24

Slide 25

Slide 25

Slide 26

Slide 26

26

Slide 27

Slide 27

Kafka Connect @gamussa 27 @confluentinc

Slide 28

Slide 28

Чувак, а код-то где? 28

Slide 29

Slide 29

Как запускать? #1 STAND-ALONE AKA ‘LOCAL MODE’ Kafka Cluster JVM KSQL CLI KSQL Server 29

Slide 30

Slide 30

Как запускать? #2 CLIENT-SERVER Kafka Cluster JVM JVM JVM KSQL Server KSQL Server KSQL Server KSQL CLI 30

Slide 31

Slide 31

Как запускать? #3 AS A STANDALONE APPLICATION Kafka Cluster JVM JVM JVM KSQL Server KSQL Server KSQL Server 31

Slide 32

Slide 32

Когда лучше не брать KSQL? Традиционный SQL с конечным результатом •Ограничение на хранение данных в Kafka •Нет индексов BI инструменты (Tableau и проч) •Нет индексов •Нет JDBC • BI инструменты не очень хорошо дружат с потоковыми результатами

Slide 33

Slide 33

Трейдоф Гибкость • • • • Consumer, Producer subscribe() poll() send() flush() Простота Kafka Streams • filter() • join() • aggregate() KSQL • Select…from… • Join…where… • Group by..

Slide 34

Slide 34

KSQL Kafka Streams Все знают SQL Кодить код не надо! Потоковая обработка для разработчиков SQL выражения Java или Scala код Стримы и таблицы KStream и KTable Да - KSQL кластер JVM Деплоим SQL запросы Деплоим Java как jar, war, контейнеры

Slide 35

Slide 35

А дальше что? https://github.com/confluentinc/cp-demo http://confluent.io/ksql https://slackpass.io/confluentcommunity #ksql

Slide 36

Slide 36

Приходите к нам работать! https://www.confluent.io/careers/ @gamussa @ @confluentinc

Slide 37

Slide 37

Всем спасибо! Вопросы? @gamussa viktor@confluent.io https://www.confluent.io/careers/ @gamussa @ @confluentinc