Visiology поддерживает DAX и постоянно добавляет новые функции, которые востребованы у пользователей платформы. DAX, в частности, позволяет написать меры так, чтобы их можно было переиспользовать в разных группировках.
Главный архитектор Visiology остановился на сценариях анализа данных, основной из которых в данном случае — BI, и Self-Service BI, при котором система не должна тормозить.
Для решения поставленных задач выстраивается определенная архитектура решения. В центре — кластер СУБД ClickHouse, вокруг него — модули, которые отвечают за производительность, масштабируемость и отказоустойчивость. Все эти модули и есть собственная разработка компании — аналитический движок Visiology под названием ДанКо.
Никита Ильин предложил участникам вебинара «заглянуть» внутрь движка и объяснил, как он работает. Спикер обозначил вызовы, с которыми сталкивается пользователь, обозначил три столпа быстродействия (загрузка данных, модель данных/ семантическая модель ТОМ, оптимизатор запросов), подробно рассказал об автоматизации на уровне загрузки данных.
Эффект от оптимизаций загрузки весьма впечатляющий — ускорение от трех до ста раз в зависимости от данных и запросов пользователя.
В заключение Никита Ильин рассказал об оптимизации запросов в Visiology (две версии транспайлера) и реализации оптимизаций (паттерн Visitor, rule-based-оптимизации, эвристические оптимизации, кэш-таблицы). При этом каждый уровень оптимизации может открыть новые, недоступные ранее; оптимизации повторяются в цикле.
Слушатели задали спикеру много вопросов: их интересовали разнообразные аспекты доклада — от источников, в которых можно подробнее почитать про ClickHouse, до реализации работы с переменными, бенчмарков сравнения ДанКо с другими движками и того, как в Visiology происходит джойн больших таблиц.
Чтобы задать свои вопросы напрямую экспертам Visiology, присоединяйтесь к профессиональному Telegram-сообществу Visiology Analysts.Полную запись доклада «Почему ДанКо не тормозит» смотрите на нашем YouTube-канале.