Сравнительный отчет по бенчмарку YMatrix против ClickHouse SSB

Обзор теста


Данный бенчмарк сравнивает производительность YMatrix и ClickHouse (далее — CK) в сценариях запросов к одиночной таблице и аналитических операций с использованием Star Schema Benchmark (SSB). Результаты показывают, что YMatrix превосходит CK на 24% и 37% при двух различных масштабах данных.

SSB — широко используемый в индустрии бенчмарк по звездообразной схеме. Он развил идеи TPC-H и служит стандартом оценки эффективности затрат для аналитических рабочих нагрузок. Бенчмарк SSB определяет 13 сценариев запросов, оценивающих общую производительность аналитической СУБД по различным измерениям.

С развитием аналитических систем исходная архитектура SSB перестала полностью соответствовать современным паттернам использования аналитических хранилищ. Apache Druid недавно предложила модифицированную версию SSB: объединение нескольких исходных таблиц в одну широкую таблицу перед выполнением запросов SSB. Этот подход также был применён в последних результатах бенчмарка ClickHouse.

Тестовая среда


Аппаратная конфигурация

Машина vCPU ОЗУ Пропускная способность EBS
AWS EC2, m5.8xlarge 64 128 ГБ 10 Гбит/с gp3, iops = 3000, пропускная способность = 125 МБ/с

Программная конфигурация

Для точного воспроизведения последних результатов ClickHouse, YMatrix использует ту же тестовую среду и конфигурацию, что описаны в официальной настройке бенчмарка ClickHouse. Развертывание выполнено в однокластерной конфигурации с использованием стандартной конфигурации кластера YMatrix на указанном оборудовании — конкретно, 6 узлов MXSegment.

Методология тестирования


YMatrix использовала ту же модель бенчмарка SSB, что и ClickHouse, протестировав два масштаба данных: коэффициент масштаба 100 и коэффициент масштаба 1000 (терминология, заимствованная из TPC-H).

Широкая таблица содержит приблизительно 600 миллионов строк при коэффициенте масштаба 100 и 6 миллиардов строк при коэффициенте масштаба 1000.
Для теста с коэффициентом масштаба 100 результаты ClickHouse взяты из опубликованных официальных данных. Поскольку ClickHouse не публиковал результаты для коэффициента масштаба 1000, инженеры YMatrix провели тест независимо, используя идентичные аппаратные характеристики.

Процедура тестирования


  1. Подготовка тестовой среды
    Как описано в разделе «Аппаратная среда», инициализируйте виртуальную машину на AWS и разверните кластер YMatrix в соответствии с официальным руководством установки YMatrix.

  2. Скачивание инструмента бенчмарка SSB

    git clone https://github.com/ymatrix-data/ssb.git

Примечание!
Инструмент бенчмарка SSB для YMatrix является открытым, простым в использовании и доступен для тестирования сообществом.

  1. Валидация среды

    ./validate_environment.sh
  2. Генерация тестовых данных
    Используйте -s 100 для генерации данных с коэффициентом масштаба 100.

    ./generate_data.sh -s 100
  3. Импорт тестовых данных
    Инструмент поддерживает импорт наборов данных различных масштабов. Используйте -s 100 для импорта сгенерированного набора данных с коэффициентом масштаба 100 в YMatrix. По умолчанию используется метод импорта MatrixGate, поддерживающий высокую параллельность, распределённую, потоковую и пакетную загрузку. Поддерживаются оба режима импорта — MatrixGate и COPY; переключение между ними осуществляется с помощью опции -t.

    ./import_data.sh -s 100
  4. Создание широкой таблицы
    YMatrix внесла необходимые корректировки в схему SSB и запросы, после чего выполнила:

    ./generate_flat_table.sh -s 100
  5. Запуск бенчмарка SSB

    ./ssb.sh -s 100

Результаты теста


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

Масштаб данных ClickHouse (мс) YMatrix (мс) Прирост производительности
Коэффициент масштаба 100 1112 840 24%
Коэффициент масштаба 1000 5794 3670 37%