Перейти к основному содержанию
Популярный бенчмарк, моделирующий внутреннее хранилище данных оптового поставщика. Данные хранятся в схеме третьей нормальной формы, что при выполнении запросов требует большого количества JOIN. Несмотря на свой возраст и нереалистичное предположение о том, что данные распределены равномерно и независимо, TPC-H по-прежнему остается самым популярным OLAP-бенчмарком. Ссылки

Генерация и импорт данных

Сначала клонируйте репозиторий TPC-H и соберите генератор данных:
Затем сгенерируйте данные. Параметр -s задаёт коэффициент масштабирования. Например, при -s 100 для таблицы ‘lineitem’ будет сгенерировано 600 миллионов строк.
Чтобы ускорить процесс, можно использовать “генерацию фрагментами” (в нескольких процессах):
Подробные размеры таблиц при коэффициенте масштабирования 100: (Размеры в сжатом виде в ClickHouse взяты из system.tables.total_bytes и основаны на приведённых ниже определениях таблиц.) Теперь создайте таблицы в ClickHouse. Их определения доступны в init.sql в репозитории ClickHouse. Данные можно импортировать следующим образом:
Вместо использования tpch-kit и самостоятельной генерации таблиц можно импортировать данные из общедоступного S3 бакета. Не забудьте сначала создать пустые таблицы с помощью init.sql.

Запросы

22 запроса TPC-H можно найти здесь, в репозитории ClickHouse. Чтобы получить поведение, совместимое со стандартом SQL, и ожидаемые результаты, примените настройки из settings.json. Информацию об известных проблемах и примечания к отдельным запросам см. в README. Корректность Результаты запросов совпадают с официальными, если не указано иное. Для проверки создайте базу данных TPC-H с коэффициентом масштабирования = 1 (dbgen, см. выше) и сравните с ожидаемыми результатами в tpch-kit.
Последнее изменение 2 июля 2026 г.