Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Построение системы realtime-аналитики на ClickH...

Построение системы realtime-аналитики на ClickHouse

Егор Матешук, CDO, Qvant.ru

Avatar for Big Data & AI Conference 2020

Big Data & AI Conference 2020

September 17, 2020
Tweet

More Decks by Big Data & AI Conference 2020

Other Decks in Technology

Transcript

  1. О чем сегодня поговорим • Какие есть подходы к построению

    real-time аналитики? • Какие у них плюсы и минусы? • Почему мы выбрали ClickHouse? 2
  2. Первая версия архитектуры Требования к первой версии аналитики для DSP

    • Использовать адаптированные технологии • Поддерживать гео-распределенность • Поставлять данные с задержкой до 15 минут 4
  3. 7 Новые требования На основе этого опыта были сформированы новые

    требования: • Уменьшить “зоопарк” • Дать доступ разработчикам к данным • Ускорить доставку
  4. 9 Serving Backend Serving Layer Queries Lambda Batch Layer Streaming

    Layer Data storage Raw data Results Batch Engine Real-time Engine
  5. Lambda • Batch Layer - надежная пакетная обработка • Streaming

    Layer - быстрая потоковая обработка • Serving Layer - абстракция для агрегатов из двух предыдущих слоев 10
  6. 14 Serving Backend Serving Layer Queries Lambda Batch Layer Streaming

    Layer Data storage Raw data Results Batch Engine Real-time Engine
  7. 16 Lambda Плюсы + Скорость стрима + Надежность батча +

    Простой репроцессинг Минусы - Дублирование логики - Дублирование сервисов
  8. 17 Kappa Serving Backend Serving Layer Queries Data storage Raw

    data Results Streaming Layer Real-time Engine
  9. 19 Kappa Serving Backend Serving Layer Queries Data storage Raw

    data Results Streaming Layer Real-time Engine
  10. 21 Lambda Плюсы + Скорость стрима + Без дублирования кода

    Минусы - Ограничения реализации - Сложный репроцессинг
  11. И тут появляется ClickHouse • Интеграция с Kafka • Хранение

    больших объемов данных • Materialized view • Быстрые агрегаты • Передача готовых данных “на фронт” 22
  12. 25 Serving Backend Serving Layer Queries Lambda Batch Layer Streaming

    Layer Data storage Raw data Results Batch Engine Real-time Engine
  13. Что нужно учитывать • Mat View проигрывает по функционалу Flink

    • Заливку из кафки удобнее делать отдельными инструментами • “Грабли” в поддержке базы 29
  14. Выводы ClickHouse позволяет • Решать задачу аналитики в реальном времени

    • Упростить разработку аналитического решения 31