12.07.2024

Почему ДанКо не тормозит

Ведущим вебинара стал главный архитектор Visiology Никита Ильин. В конце июня эксперт выступил на профессиональной конференции разработчиков высоконагруженных систем Saint Highload ++ 2024 с докладом «ClickHouse не тормозит в Self-Service BI: как мы достигли этого в Visiology». Тема вызвала такой интерес профессионального сообщества, что было решено провести расширенную онлайн-презентацию для всех, кто работает с ClickHouse и ETL-/ELT-процессами, а также занимается бизнес-аналитикой и интересуется, что «под капотом» у ведущей российской BI-платформы Visiology.

На вебинаре 9 июля Никита Ильин рассказал о специфике платформы Visiology, сценариях Self-Service, архитектуре решения (основные модули Visiology), модели данных, оптимизации загрузки данных и оптимизации SQL. Последние три пункта — это основа производительности и масштабируемости платформы.
«Что важно понимать о Visiology: мы храним данные и полностью отвечаем за их оптимизацию и обработку, — подчеркнул спикер. — Основной сценарий работы — это импорт данных внутрь платформы, где мы контролируем, откуда эти данные пришли, как они оптимизированы, как они дальше обрабатываются и как они связаны друг с другом. Это одно из ключевых отличий от многих других BI-инструментов и — в то же время — то, что сближает Visiology с такими топовыми платформами, как Qlik, Power BI и Tableau».
Visiology поддерживает DAX и постоянно добавляет новые функции, которые востребованы у пользователей платформы. DAX, в частности, позволяет написать меры так, чтобы их можно было переиспользовать в разных группировках.

Главный архитектор Visiology остановился на сценариях анализа данных, основной из которых в данном случае — BI, и Self-Service BI, при котором система не должна тормозить.

Для решения поставленных задач выстраивается определенная архитектура решения. В центре — кластер СУБД ClickHouse, вокруг него — модули, которые отвечают за производительность, масштабируемость и отказоустойчивость. Все эти модули и есть собственная разработка компании — аналитический движок Visiology под названием ДанКо.

Никита Ильин предложил участникам вебинара «заглянуть» внутрь движка и объяснил, как он работает. Спикер обозначил вызовы, с которыми сталкивается пользователь, обозначил три столпа быстродействия (загрузка данных, модель данных/ семантическая модель ТОМ, оптимизатор запросов), подробно рассказал об автоматизации на уровне загрузки данных.

Эффект от оптимизаций загрузки весьма впечатляющий — ускорение от трех до ста раз в зависимости от данных и запросов пользователя.

В заключение Никита Ильин рассказал об оптимизации запросов в Visiology (две версии транспайлера) и реализации оптимизаций (паттерн Visitor, rule-based-оптимизации, эвристические оптимизации, кэш-таблицы). При этом каждый уровень оптимизации может открыть новые, недоступные ранее; оптимизации повторяются в цикле.

Слушатели задали спикеру много вопросов: их интересовали разнообразные аспекты доклада — от источников, в которых можно подробнее почитать про ClickHouse, до реализации работы с переменными, бенчмарков сравнения ДанКо с другими движками и того, как в Visiology происходит джойн больших таблиц.

Чтобы задать свои вопросы напрямую экспертам Visiology, присоединяйтесь к профессиональному Telegram-сообществу Visiology Analysts.

Полную запись доклада «Почему ДанКо не тормозит» смотрите на нашем YouTube-канале.

Последние публикации