Как стать автором
Обновить

Как сделать быстрый дашборд по таблице из 150 млн строк с помощью Yandex DataLens и ClickHouse

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров14K
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Комментарии 8

Как раз сталкивался с проблемой, что чарты грузились по 5-15 секунд. В следующий раз попробую советы из статьи. Спасибо!

Кстати, узнать больше об интеграции ClickHouse с DataLens на примере витрины данных для веб-аналитики можно на нашем бесплатном курсе — https://cloud.yandex.ru/training/datamart, а о работе с самим DataLens на курсе — https://cloud.yandex.ru/training/datalens

Роман, очень занимательно, спасибо. А какие пути есть достижения такого же результата если из-за ограничений не возможно использовать клауд решения?

Спасибо! У нас пока нет on-premis версии для DataLens, в этом плане использовать его так не получиться. Если говорить чисто про CH, то тут ограничений нет и такой же кластер можно поднять на железе и будет работать не хуже.

Спасибо за статью, но остаются некоторые вопросы. Зачем для такой, не очень то и большой таблицы, выбраны настолько мощные сервера, она какой-то нереальной ширины или у вас по 500 агрегатов на график? Может быть высокий rps у дашборда? Я правильно понял, что в кластере сервера равноправны или master-slave? Если есть возможность, дополните, пожалуйста статью цифрами. Спасибо.

Спасибо! Тут попросил Игоря помочь мне с ответом:

В статье речь идет не о процессорах (CPU), а о ядрах процессора (CPU core), но у нас в облаке мы торгуем только ядрами, а не процессорами в обычном смысле и называем их vCPU.

Для базы сейчас используется сервер: 12 ядер vCPU соответствует 6 ядрам железного CPU с гипертредингом, в целом это соизмеримо с обычным ноутбуком. Количество памяти соответствует количество vCPU, для "сбалансированной" конфигурации и выглядит адекватным решаемой задачи. Агрегации в Clickhouse потребляют память и при её недостатке падают.

Мы подбирали конфигурацию в расчете на конкурентную нагрузку в несколько пользователей одновременно, ожидая что в момент выхода статьи читатели начнут массово открывать дашборд. Кроме того, каждое открытие дашборда выполняет одновременно 9 запросов, соответственно ВМ с 12 виртуальными ядрами будет неплохо утилизироваться даже при работе одного пользователя.

Сервера равноправны, таблица реплицирована на них, дашборд при запросе из БД подключается к одному серверу. Дублирование сервера сделано для отказоустойчивости кластера.

Где можно скачать тестовый набор данных, описанный в статье?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий