Repolode
ClickHouse

ClickHouse/ClickBench

Воспроизводимый набор тестов для аналитических баз данных: датасет веб-аналитики и 43 запроса на стандартном SQL для сравнения систем.

Звёзды
1,162
Форки
332
Открытые issues
50
Последний коммит
6 часов назад

Что это?

ClickBench — бенчмарк для аналитических (OLAP) баз данных. Он выполняет фиксированный набор из 43 SQL-запросов к одной плоской таблице примерно со 100 миллионами анонимизированных записей веб-аналитики. Запросы охватывают анализ последовательностей кликов, произвольную аналитику и сценарии запросов для дашбордов реального времени. Каждая система тестируется с помощью shell-скрипта, который устанавливает ПО, загружает данные, трижды выполняет каждый запрос и фиксирует время загрузки, размер данных и время выполнения запросов.

Заявленные цели проекта — обеспечить воспроизводимость тестов на недорогих облачных VM, охватить широкий спектр систем: от самостоятельно развёртываемых OLAP-движков и OLTP-баз данных до управляемых и serverless-сервисов, а также приблизить тесты к реальным сценариям за счёт распределений данных, основанных на производственных данных. Результаты публикуются на веб-дашборде: там можно фильтровать системы и запросы, а также рассчитывать сводные оценки с помощью отношений геометрического среднего. В репозитории находятся тестовые скрипты, определения таблиц и файлы запросов для каждой системы, а также JSON-файлы с исходными результатами.

У бенчмарка есть ограничения: используется одна плоская таблица, тесты в основном запускаются на одном узле, а запросы выполняются последовательно, без параллельной нагрузки. Авторы отмечают, что к результатам следует относиться с осторожностью.

Ключевые возможности

  • 01Выполняет 43 запроса на стандартном SQL, охватывающих полное и фильтрованное сканирование, поиск по индексам и распространённые реляционные операции.
  • 02Предоставляет автоматизированный процесс тестирования с помощью shell-скрипта: установка системы, загрузка данных, выполнение запросов и замеры.
  • 03Публикует датасет в форматах CSV, TSV, JSON Lines и Parquet.
  • 04Показывает для каждой системы время загрузки, размер хранилища, а также время выполнения запросов при холодном и прогретом кэше.
  • 05Предоставляет веб-дашборд для фильтрации систем и запросов и расчёта сводных оценок.
  • 06Охватывает самостоятельно развёртываемые, управляемые и serverless-системы, а также некоторые NoSQL-базы данных и базы данных временных рядов.

Сценарии использования

  • Сравнить подходящие аналитические базы данных на реалистичной нагрузке в стиле веб-аналитики, прежде чем выбрать одну из них.
  • Повторить тесты на собственной облачной VM, чтобы проверить заявления о производительности.
  • Добавить в набор новую базу данных и измерить время загрузки, размер хранилища и скорость выполнения запросов.
  • Изучить, как сжатие, индексация и выполнение запросов в базе данных работают на данных, приближенных к производственным.

Быстрый старт

  1. 1

    Просмотрите опубликованные результаты бенчмарков на сайте ClickBench

  2. 2

    Скопируйте существующий каталог системы, чтобы добавить новую систему или конфигурацию

  3. 3

    Запустите скрипт benchmark.sh на чистой виртуальной машине с Ubuntu 24.04 или новее

  4. 4

    При желании заново сформируйте index.html на основе результатов

    ./generate-results.sh

Что важно знать

  • Набор данных представляет собой одну плоскую таблицу, что может быть невыгодно для нормализованных хранилищ данных.
  • Большинство опубликованных результатов получено на конфигурациях с одним узлом, поэтому производительность распределённых систем охвачена в меньшей степени.
  • Запросы выполняются последовательно, поэтому параллельная нагрузка и пропускная способность системы не измеряются.
  • В метаданных лицензия проекта не указана однозначно.

В подборках

Темы

Частые вопросы

Что такое ClickBench?
Воспроизводимый набор тестов для аналитических баз данных: датасет веб-аналитики и 43 запроса на стандартном SQL для сравнения систем. ClickBench — бенчмарк для аналитических (OLAP) баз данных. Он выполняет фиксированный набор из 43 SQL-запросов к одной плоской таблице примерно со 100 миллионами анонимизированных записей веб-аналитики. Запросы охватывают анализ последовательностей кликов, произвольную аналитику и сценарии запросов для дашбордов реального времени. Каждая система тестируется с помощью shell-скрипта, который устанавливает ПО, загружает данные, трижды выполняет каждый запрос и фиксирует время загрузки, размер данных и время выполнения запросов.
ClickBench можно использовать бесплатно? Какая у него лицензия?
ClickBench распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ClickBench всё ещё поддерживается?
Активно поддерживается. Последний коммит в ClickBench — 7 нояб. 2026 г..
Для чего можно использовать ClickBench?
Сравнить подходящие аналитические базы данных на реалистичной нагрузке в стиле веб-аналитики, прежде чем выбрать одну из них. Повторить тесты на собственной облачной VM, чтобы проверить заявления о производительности. Добавить в набор новую базу данных и измерить время загрузки, размер хранилища и скорость выполнения запросов. Изучить, как сжатие, индексация и выполнение запросов в базе данных работают на данных, приближенных к производственным.
Как установить ClickBench?
Просмотрите опубликованные результаты бенчмарков на сайте ClickBench Скопируйте существующий каталог системы, чтобы добавить новую систему или конфигурацию Запустите скрипт benchmark.sh на чистой виртуальной машине с Ubuntu 24.04 или новее При желании заново сформируйте index.html на основе результатов: ./generate-results.sh
Где скачать ClickBench?
Исходный код и инструкции по установке — на GitHub: https://github.com/ClickHouse/ClickBench

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

MPP-движок запросов с открытым исходным кодом для аналитики за доли секунды в lakehouse и собственном хранилище, поддерживающий протокол MySQL.

12,2 тыс.+2 за неделю2,7 тыс.JavaApache-2.0Активно поддерживаетсяОбновлён 11 часов назад

Распределённая SQL-база данных на базе Lucene для хранения и анализа больших объёмов данных почти в реальном времени, совместимая с PostgreSQL.

4,5 тыс.+2 за неделю620JavaApache-2.0Активно поддерживаетсяОбновлён 23 часа назад

Платформа с открытым исходным кодом для сбора и маршрутизации событий в хранилища данных и SaaS-сервисы — самостоятельная альтернатива Segment.

Данные и аналитика#event-tracking#data-pipeline#data-ingestion
5,1 тыс.+9 за неделю404TypeScriptMITОбновлён вчера