Как и Star Schema Benchmark (SSB), TPC-DS основан на TPC-H, но пошел по противоположному пути, увеличив число необходимых операций JOIN за счет хранения данных в сложной схеме типа «снежинка» (24 таблицы вместо 8). Распределение данных асимметрично (например, используются нормальное распределение и распределение Пуассона). Он включает 99 отчетных и ad hoc-запросов со случайными подстановками.
Ссылки
Генерация и импорт данных
Сначала клонируйте репозиторий TPC-DS и скомпилируйте генератор данных:
Затем сгенерируйте данные. Параметр -scale задаёт коэффициент масштабирования.
Теперь создайте таблицы в ClickHouse. Определения таблиц доступны в файле init.sql в репозитории ClickHouse.
Данные можно импортировать следующим образом:
Затем выполните сгенерированные запросы.
99 запросов TPC-DS можно найти здесь, в репозитории ClickHouse.
Чтобы получить поведение, совместимое со стандартом SQL, и ожидаемые результаты, примените настройки из settings.json.
Информацию об известных проблемах и примечаниях к отдельным запросам см. в README.
Корректность
Результаты запросов совпадают с официальными, если не указано иное. Возможны незначительные различия в точности, что допускается спецификацией TPC-DS.
ClickHouse отслеживает производительность запросов TPC-DS во всех выпущенных версиях. На странице бенчмарка версий ClickHouse можно просмотреть время выполнения всех 99 запросов TPC-DS (коэффициент масштабирования 32), чтобы увидеть, как производительность менялась со временем. Последнее изменение 14 августа 2026 г.