Архитектура ДанКо
Общая информация
ДанКо – основной расчетный движок платформы Visiology. Он объединяет несколько компонентов и обеспечивает следующую функциональность:
Хранение модели данных TOM (Tabular Object Model).
Автоматическую оптимизацию структуры хранения данных в ClickHouse для ускоренной обработки аналитических запросов. Исключает необходимость ручной настройки, администрирования и оптимизации ClickHouse со стороны ИТ-подразделений заказчика.
Загрузку данных из внешних источников (JDBC, CSV, Excel) оптимальным образом (аналог режима импорта в Power BI).
Обработку DAX-запросов: трансляцию DAX в набор оптимизированных SQL-запросов с использованием специализированного диалекта ClickHouse для обеспечения максимальной производительности в сценариях самостоятельной аналитики.
Масштабирование, балансировку запросов между несколькими экземплярами ClickHouse, репликацию и отказоустойчивость.
Преобразование данных в режиме Self-Service ETL.
Поддержку инкрементальной загрузки данных с использованием операции ATTACH PARTITION, в том числе в кластере ClickHouse, что обеспечивает атомарность и надежность процесса загрузки.
Состав ДанКо
Formula Engine
Компонент без сохранения состояния, выполняющий следующие функции:
Хранение и управление объектной моделью TOM (Tabular Object Model).
Обработку аналитических запросов на языке DAX (Data Analysis Expressions): преобразование DAX-запросов в оптимальный для ClickHouse SQL, а также выполнение большого числа оптимизаций на основе правил и эвристик.
Балансировку пользовательских запросов между несколькими узлами ClickHouse при развертывании набора данных на нескольких узлах.
Построение оптимальных структур хранения и индексов для высокопроизводительной обработки DAX-запросов. В процессе импорта данных автоматически размещает их в корректные структуры внутри ClickHouse.
Кэширование DAX-запросов как в собственной оперативной памяти (небольшие итоговые срезы данных для виджетов), так и в ClickHouse в виде таблиц в памяти.
Выполнение функций основного оркестратора ClickHouse.
Хранение и управление правами доступа к наборам данных.
Возможность развертывания в нескольких экземплярах.
Data Management Service
Компонент без сохранения состояния, отвечающий за:
Преобразование данных (Self-Service ETL) из различных источников с настройкой мапинга – автоматически и по запросу пользователя.
Хранение, чтение и редактирование ER-схемы для TOM (Tabular Object Model).
Работу с форматами CSV, Excel и СУБД, совместимыми с JDBC.
Настройку расписаний автоматической загрузки данных и оркестрацию процессов загрузки.
Data Management Service выполняет первичную загрузку данных из источников различных типов. Formula Engine отвечает за последующее размещение предварительно загруженных данных в структурах ClickHouse, оптимальных для аналитической обработки.
Data Management Service может быть развернут в нескольких экземплярах.
ClickHouse
Хранит аналитические данные.
Может быть развернут в виде нескольких серверов, объединенных в кластер с использованием ZooKeeper или ClickHouse Keeper.
S3-совместимое хранилище
Используется для хранения временных файлов CSV и Excel при загрузке данных в ClickHouse.
Может быть заменено любым другим S3-совместимым хранилищем.
PostgreSQL (общая для всей платформы Visiology)
Хранит метаданные, специфичные для ДанКо, включая описание TOM, расписания загрузки, подключения к источникам данных, а также сведения о серверах ClickHouse, используемых для балансировки запросов.
Структура данных
Набор данных в контексте Visiology аналогичен набору данных в Power BI и представляет собой совокупность логически связанных таблиц. Набор данных может быть прикреплен как к одному, так и к нескольким узлам ClickHouse.
ДанКо полностью реплицирует все таблицы на все узлы, к которым прикреплен набор данных, используя механизм ReplicatedMergeTree и операцию ATTACH PARTITION. Это обеспечивает согласованность данных и надежность загрузки при работе в инкрементальном режиме.
Смотрите также
На этой странице
Время чтения: 1 мин.
Нужна дополнительная помощь?