Краткое описание архитектуры подключения Платформы Эра к Kafka и СУБД Clickhouse
Связка Kafka и ClickHouse широко используется для хранения и обработки больших объёмов статистики, особенно в системах, где данные поступают непрерывно и в реальном времени. Kafka в этом тандеме выполняет роль промежуточного буфера: она собирает события из платформы Эра и надёжно сохраняет их в очередях — топиках. Kafka обеспечивает масштабируемость, высокую отказоустойчивость и гарантированную доставку данных, даже если аналитическая система временно недоступна.
ClickHouse, в свою очередь, используется как высокопроизводительная аналитическая база данных, идеально подходящая для хранения больших массивов информации и молниеносного выполнения SQL-запросов. Благодаря колонковой архитектуре и эффективной компрессии, ClickHouse позволяет выполнять сложную аналитику на миллиардах строк практически мгновенно. В сочетании с Kafka получается гибкая, надёжная и масштабируемая архитектура: данные поступают в реальном времени, хранятся с минимальными затратами и мгновенно доступны для анализа, визуализации и построения отчётов.
Показания для перехода на Kafka и Clickhouse
- Использование более 10 млн строк в архивных таблицах (классы Archive*);
- Наличие значимых таймаутов при построении отчетов (более 30 секунд);
- Причём коробочный предельный таймаут построения отчетов 60 секунд;
Ожидаемый эффект - таймаут не более 1 секунды. Время построения отчетов не зависит от количества строк в архивных классах (таблицах).
СУБД Clickhouse используется только для хранения архивных таблица статистики. Для хранения остальных классов (таблиц) продолжает использоваться СУБД PostgreSQL.
Порядок перехода
Шаг 1.
Поднять Kafka и Clickhouse доступные друг другу
Шаг 2.
В домене создать storage на кафку и clickhouse
Трейс для поднятия.
DMS использует Click house
Создаем класс, где в качестве хранилища используется. Хранилище типа transaction log
"storage_mode": "transaction_log"
storage:instance - название storage из шага выше.