Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Построение системы realtime-аналитики на ClickH...
Search
Big Data & AI Conference 2020
September 17, 2020
Technology
0
170
Построение системы realtime-аналитики на ClickHouse
Егор Матешук, CDO, Qvant.ru
Big Data & AI Conference 2020
September 17, 2020
Tweet
Share
More Decks by Big Data & AI Conference 2020
See All by Big Data & AI Conference 2020
Как искусственный интеллект помогает снизить вредные выбросы в атмосферу на металлургическом производстве.
aiconforg
0
99
Как сломать рекламную индустрию: повышаем эффективность рекламы с помощью Emotion Recognition
aiconforg
0
62
Цифровой помощник для маневрового диспетчера
aiconforg
0
290
Прогресс ученика: Как анализ больших данных помогает быстрее и дешевле достичь образовательных целей
aiconforg
0
120
Рекомендательная система для увеличения кросс-продаж: опыт инвестиционной компании
aiconforg
0
37
Дополненная аналитика: практический подход к автоматизации внутренней аналитики
aiconforg
1
54
Что делать, если данных мало?
aiconforg
0
72
Как оценить эмоциональную реакцию на рекламу дистанционно, быстро и точно.
aiconforg
0
77
Учет новых слов в языковых моделях классификации
aiconforg
0
47
Other Decks in Technology
See All in Technology
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
670
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
160
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
230
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
620
202512_AIoT.pdf
iotcomjpadmin
0
180
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
260
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
170
AWS re:Invent 2025 を振り返る
kazzpapa3
2
110
AI with TiDD
shiraji
1
340
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.6k
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
2.1k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
330
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
What's in a price? How to price your products and services
michaelherold
246
13k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
110
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
210
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
180
Six Lessons from altMBA
skipperchong
29
4.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
220
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
A Soul's Torment
seathinner
2
2.1k
Transcript
Real-time аналитика для DSP Как мы выбирали архитектуру для real-time
аналитики Егор Матешук
О чем сегодня поговорим • Какие есть подходы к построению
real-time аналитики? • Какие у них плюсы и минусы? • Почему мы выбрали ClickHouse? 2
3 Для начала: какой аналитикой мы занимаемся?
Первая версия архитектуры Требования к первой версии аналитики для DSP
• Использовать адаптированные технологии • Поддерживать гео-распределенность • Поставлять данные с задержкой до 15 минут 4
5 Первая версия архитектуры DSP UI
С какими проблемами столкнулись? • Сложности мониторинга • Сложность сверки
• Проблемы с ускорением доставки 6
7 Новые требования На основе этого опыта были сформированы новые
требования: • Уменьшить “зоопарк” • Дать доступ разработчикам к данным • Ускорить доставку
Какие есть схемы для real-time аналитики? • Lambda • Kappa
8
9 Serving Backend Serving Layer Queries Lambda Batch Layer Streaming
Layer Data storage Raw data Results Batch Engine Real-time Engine
Lambda • Batch Layer - надежная пакетная обработка • Streaming
Layer - быстрая потоковая обработка • Serving Layer - абстракция для агрегатов из двух предыдущих слоев 10
11 Stream Storage Stream Processing Serving Layer Batch Processing Batch
Storage
12 Stream Storage Stream Processing Serving Layer Batch Processing Batch
Storage
13 Stream Storage Stream Processing Serving Layer Batch Processing Batch
Storage
14 Serving Backend Serving Layer Queries Lambda Batch Layer Streaming
Layer Data storage Raw data Results Batch Engine Real-time Engine
15 Lambda Data storage Raw data Results Queries
16 Lambda Плюсы + Скорость стрима + Надежность батча +
Простой репроцессинг Минусы - Дублирование логики - Дублирование сервисов
17 Kappa Serving Backend Serving Layer Queries Data storage Raw
data Results Streaming Layer Real-time Engine
Kappa • Streaming Layer - потоковая обработка • Serving Layer
- хранилище агрегатов 18
19 Kappa Serving Backend Serving Layer Queries Data storage Raw
data Results Streaming Layer Real-time Engine
20 Kappa Queries Data storage Raw data Results
21 Lambda Плюсы + Скорость стрима + Без дублирования кода
Минусы - Ограничения реализации - Сложный репроцессинг
И тут появляется ClickHouse • Интеграция с Kafka • Хранение
больших объемов данных • Materialized view • Быстрые агрегаты • Передача готовых данных “на фронт” 22
23 Роль Materialized View Raw data Aggregate Σ
Роль Materialized View • Быстрая доставка новых данных • Избавление
от периодических джоб 24
25 Serving Backend Serving Layer Queries Lambda Batch Layer Streaming
Layer Data storage Raw data Results Batch Engine Real-time Engine
26 Queries Lambda Data storage Raw data Results SQL Mat
View
27 Первая версия архитектуры DSP UI
28 Вторая версия архитектуры DSP UI
Что нужно учитывать • Mat View проигрывает по функционалу Flink
• Заливку из кафки удобнее делать отдельными инструментами • “Грабли” в поддержке базы 29
Результаты • Уменьшение “зоопарка” технологий • Сокращение времени доставки данных
• Упрощение разработки 30
Выводы ClickHouse позволяет • Решать задачу аналитики в реальном времени
• Упростить разработку аналитического решения 31
Буду рад вопросам и конструктивной критике :) Это всё Егор
Матешук
[email protected]
https://t.me/Egorios