TPC-H нагрузка

Нагрузка базируется на документе TPC-H документация, а запросы и схемы таблиц адаптированы под YDB.

Тест генерирует типичную рабочую нагрузку в области помощи в принятии решений.

Инициализация нагрузочного теста

Перед запуском теста создайте таблицу:

ydb workload tpch init

Посмотрите описание команды для запуска нагрузки:

ydb workload tpch init --help

Доступные параметры

Имя параметра Описание параметра
--path <значение> Директория, в которой будут созданы таблицы. Значение по умолчанию - пустая строка.
--store <значение> Тип хранилища таблиц. Возможные значения: row, column. Значение по умолчанию row.

Загрузка данных в таблицу

Генератор набора данных для TPC-H бенчмарка можно скачать по ссылке.
Дальше надо следовать инструкции из README.
В файле dss.h можно задать необходимый разделитель полей. По умолчанию: #define SEPARATOR '|'.
В примере скрипта загрузки данных используется '\t' как разделитель.

for table in region nation supplier customer part partsupp orders lineitem; do
    echo "Start data load to $table"
    ydb import file tsv --header --path "$table" --input-file $table.tsv --newline-delimited
    echo "Finish data load to $table"
done

Запуск нагрузочного теста

Запустите нагрузку:

ydb workload tpch run

В течение теста на экран выводится статистика по нагрузке для каждого запроса.

Посмотрите описание команды для запуска нагрузки:

ydb workload tpch run --help

Общие параметры для всех видов нагрузки

Имя параметра Описание параметра
--path Директория, в которой созданы таблицы для нагрузки. Значение по умолчанию - пустая строка.
--output <значение> Имя файла, в котором будут сохранены результаты выполнения запросов. Значение по умолчанию results.out.
--iterations <значение> Количество выполнений каждого из запросов нагрузки, создающих нагрузку. Значение по умолчанию: 1.
--json Имя файла, в котором будет сохранена статистика выполнения запросов в формате json. По умолчанию файл не сохраняется.
--ministat Имя файла, в котором будет сохранена статистика выполнения запросов в формате ministat. По умолчанию файл не сохраняется.
--query-settings Настройки выполнения запроса. По умолчанию не указывается.
--ext-queries-dir Имя директории, в которой находятся внешние запросы для выполнения нагрузки.
--include Номера или отрезки номеров запросов, которые нужно выполнить в рамках нагрузки. По умолчанию выполняются все запросы. Указываются через запятую, например 1,2,4-6.
--exclude Номера или отрезки номеров запросов, которые нужно исключить в рамках нагрузки. По умолчанию выполняются все запросы. Указываются через запятую, например 1,2,4-6.