MPP-база данных с открытым исходным кодом для хранилищ данных и масштабной аналитики, построенная на более новом ядре PostgreSQL и пришедшая на смену Greenplum.
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
Просмотрите опубликованные результаты бенчмарков на сайте ClickBench
- 2
Скопируйте существующий каталог системы, чтобы добавить новую систему или конфигурацию
- 3
Запустите скрипт benchmark.sh на чистой виртуальной машине с Ubuntu 24.04 или новее
- 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 обновляется ежедневно.
Похожие проекты
DuckDB — аналитическая SQL-база данных, работающая внутри приложения без отдельного сервера.
Open-source колоночная СУБД для формирования аналитических отчётов по данным в реальном времени.
MPP-движок запросов с открытым исходным кодом для аналитики за доли секунды в lakehouse и собственном хранилище, поддерживающий протокол MySQL.
Распределённая SQL-база данных на базе Lucene для хранения и анализа больших объёмов данных почти в реальном времени, совместимая с PostgreSQL.
Платформа с открытым исходным кодом для сбора и маршрутизации событий в хранилища данных и SaaS-сервисы — самостоятельная альтернатива Segment.