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

Обзор теста


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

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

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

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


Аппаратная среда

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

Программная среда

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

План теста


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

Объем широкой таблицы при масштабе 100x составляет около 600 миллионов записей, при масштабе 1000x — около 6 миллиардов записей.
Результаты ClickHouse для масштаба 100x взяты из официальных данных, однако официальные результаты для масштаба 1000x не публиковались, поэтому результаты для 1000x были измерены инженерами YMatrix на том же аппаратном обеспечении.

Шаги теста


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

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

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

    Примечание!
    Инструмент SSB от YMatrix является открытым и простым в использовании — приглашаем попробовать!

  3. Проверка среды

    ./validate_environment.sh
  4. Генерация тестовых данных
    С помощью параметра -s 100 сгенерируйте данные масштаба 100x.

    ./generate_data.sh -s 100
  5. Импорт тестовых данных
    Инструмент поддерживает тестовые наборы различных размеров. Сгенерированный набор данных масштаба 100x импортируется в YMatrix через параметр -s 100. По умолчанию используется метод импорта MatrixGate, обеспечивающий высокую параллельность, распределенность, потоковую и пакетную запись данных. В настоящее время поддерживаются режимы MatrixGate и COPY. Для изменения метода импорта используйте параметр -t.

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

    ./generate_flat_table.sh -s 100
  7. Выполнение бенчмарка SSB

    ./ssb.sh -s 100

Выводы теста


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

Масштаб данных ClickHouse (мс) YMatrix (мс) Прирост
100x 1112 840 24%
1000x 5794 3670 37%