Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Зеркалирование
Управление ресурсами
Безопасность
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Этот отчет о производительности сравнивает производительность YMatrix и Greenplum (GPDB) в сценариях аналитических запросов на основе бенчмарка TPC-H. Результаты теста показывают, что YMatrix значительно превосходит GPDB как при масштабе данных 100x, так и при масштабе 1 000x, достигая ускорения в 13 раз и 12 раз соответственно.
TPC-H — это бенчмарк для систем поддержки принятия решений, включающий набор бизнес-ориентированных ад-хок-запросов и параллельных операций изменения данных. Выбранные запросы и шаблоны данных широко применимы в различных отраслях. Этот бенчмарк демонстрирует способность систем поддержки принятия решений анализировать большие объемы данных, выполнять чрезвычайно сложные запросы и отвечать на критически важные бизнес-вопросы — отражая множество аспектов обработки запросов в системах управления базами данных.
| Масштаб данных | Машина | vCPU | ОЗУ | Пропускная способность | EBS |
|---|---|---|---|---|---|
| 100 | AWS EC2, m5.8xlarge | 32 | 128 ГБ | 10 Гбит/с | gp3, iops = 3000, throughput = 125 МБ/с |
| 1000 | AWS EC2, m5.8xlarge | 32 | 128 ГБ | 10 Гбит/с | io1, iops = 64000 |
Бенчмарк TPC-H для YMatrix использует однокластерную развертку с автоматически выбранными параметрами по умолчанию. На описанном выше оборудовании это соответствует 6 узлам Segment.
Тесты проводились на двух масштабах данных: 100x и 1 000x. И YMatrix, и GPDB были настроены с 6 Segmentами. Все результаты тестов получены инженерами YMatrix при идентичной конфигурации оборудования.
Ключевые различия между тестами на масштабах 100x и 1 000x:
statement_mem=1GB использовался для масштаба 100x, а statement_mem=2GB — для масштаба 1 000x.| Таблица | Записи | YMatrix(lz4) | YMatrix(zstd) | GPDB(zstd) |
|---|---|---|---|---|
| nation | 25 | 5 МБ | 5 МБ | 1 МБ |
| region | 5 | 4 МБ | 4 МБ | 1 МБ |
| part | 20 000 000 | 1 ГБ | 690 МБ | 592 МБ |
| partsupp | 80 000 000 | 4 ГБ | 3 ГБ | 3 ГБ |
| supplier | 1 000 000 | 97 МБ | 70 МБ | 55 МБ |
| customer | 15 000 000 | 1 ГБ | 969 МБ | 861 МБ |
| orders | 150 000 000 | 7 ГБ | 5 ГБ | 4 ГБ |
| lineitem | 600 037 902 | 34 ГБ | 19 ГБ | 18 ГБ |
| Таблица | Записи | YMatrix(zstd) | GPDB(zstd) |
|---|---|---|---|
| nation | 25 | 5 МБ | 1 МБ |
| region | 5 | 4 МБ | 1 МБ |
| part | 200 000 000 | 5 ГБ | 5 ГБ |
| partsupp | 800 000 000 | 29 ГБ | 31 ГБ |
| supplier | 10 000 000 | 616 МБ | 538 МБ |
| customer | 150 000 000 | 8 ГБ | 8 ГБ |
| orders | 1 500 000 000 | 46 ГБ | 46 ГБ |
| lineitem | 5 999 989 709 | 185 ГБ | 184 ГБ |
Подготовка тестовой среды
gp_vmem_protect_limit и statement_mem в соответствии с аппаратными характеристиками сервера.Скачивание инструмента бенчмарка TPC-H
git clone https://github.com/ymatrix-data/TPC-H.git
Примечание!
Инструмент TPC-H от YMatrix является открытым и прост в использовании. Попробуйте его уже сегодня.
tpch.shУстановите переменные окружения базы данных, включая PORT и DATABASE:
export PGPORT=5432
export PGDATABASE=tpch_s100
Запустите скрипт tpch.sh для генерации файла конфигурации tpch_variable.sh. Используйте параметр -d для указания типа базы данных (например, matrixdb, greenplum, postgresql) и -s для определения масштаба данных:
./tpch.sh -d matrixdb -s 100
После изменения файла конфигурации запустите tpch.sh. Этот скрипт автоматически генерирует данные, создает таблицы, загружает данные, выполняет все запросы TPC-H и фиксирует времена выполнения:
./tpch.sh
Примечание!
При загрузке данных скриптtpch.shиспользует MatrixGate для YMatrix иgpfdistдля GPDB.
Настройте файл конфигурации tpch_variable.sh в соответствии с вашими требованиями:
RUN_GEN_DATA="true": Генерация данных RUN_DDL="true": Создание таблиц и индексов RUN_LOAD="true": Загрузка данных RUN_SQL="true": Выполнение всех запросов TPC-H PREHEATING_DATA="true": Указание количества циклов разогрева для кэширования файлов данных SINGLE_USER_ITERATIONS="2": Если включено PREHEATING_DATA="true", запросы TPC-H выполняются три раза. Первый — разогрев; фиксируется минимальное значение из двух последних запусков.Пример:
Чтобы повторить выполнение запросов TPC-H, измените следующие параметры в файле конфигурации tpch_variable.sh:
`RUN_COMPILE_TPCH="false"`
`RUN_GEN_DATA="false"`
`RUN_INIT="false"`
`RUN_LOAD="false"`
`RUN_SQL="true"`
`RUN_SINGLE_USER_REPORT="true"`
Затем повторно запустите tpch.sh.
Для YMatrix и GPDB было выполнено несколько циклов тестирования. Для сравнения использовались лучшие результаты каждой системы.
compresslevel=1), поскольку открытая версия GPDB не поддерживает quicklz.compresslevel=1).Результаты производительности показывают, что YMatrix значительно превосходит GPDB — более чем в 10 раз быстрее как при масштабе 100x, так и при масштабе 1 000x.
| Масштаб данных | GPDB (мс) | YMatrix (мс) | Ускорение |
|---|---|---|---|
| 100 | 930 071 | 70 044 | 1300% |
| 1000 | 15 273 254 | 1 265 478 | 1200% |


Подробные результаты представлены ниже. YMatrix протестировал TPC-H 100 с использованием сжатия как lz4, так и zstd. Формат lz4 показал лучшую производительность, поскольку доступная память (128 ГБ) могла полностью уместить набор данных. Таким образом, формат lz4 с меньшим уровнем сжатия, но более быстрой декомпрессией обеспечил превосходящую производительность.
GPDB тестировался с включенным и отключенным оптимизатором ORCA. ORCA снижал производительность при масштабе 100x, но слегка улучшал её при масштабе 1 000x. Все тесты YMatrix проводились с отключенным ORCA.
| (мс) | YMatrix TPC-H 100 planner lz4 | YMatrix TPC-H 100 planner zstd | GPDB TPC-H 100 orca zstd | GPDB TPC-H 100 planner zstd | YMatrix TPC-H 1000 planner zstd | GPDB TPC-H 1000 orca zstd | GPDB TPC-H 1000 planner zstd | ||
|---|---|---|---|---|---|---|---|---|---|
| Q01 | 4 200 | 4 846 | 94 271 | 90 473 | 53 291 | 929 166 | 907 474 | ||
| Q02 | 1 228 | 1 417 | 13 134 | 11 005 | 12 960 | 163 967 | 132 898 | ||
| Q03 | 4 409 | 4 860 | 31 654 | 32 057 | 50 194 | 406 933 | 456 339 | ||
| Q04 | 4 965 | 4 947 | 40 743 | 30 522 | 103 699 | 492 440 | 429 417 | ||
| Q05 | 4 405 | 5 226 | 43 100 | 40 094 | 88 930 | 787 161 | 569 668 | ||
| Q06 | 183 | 254 | 4 066 | 3 995 | 2 852 | 40 141 | 38 985 | ||
| Q07 | 1 865 | 2 219 | 29 294 | 28 879 | 29 921 | 340 402 | 402 481 | ||
| Q08 | 2 239 | 3 123 | 51 852 | 49 998 | 41 305 | 610 720 | 650 542 | ||
| Q09 | 7 012 | 8 229 | 84 506 | 91 597 | 248 033 | 1 072 529 | 1 719 890 | ||
| Q10 | 3 861 | 4 469 | 61 953 | 28 238 | 64 568 | 810 094 | 395 927 | ||
| Q11 | 470 | 569 | 5 937 | 10 010 | 6 475 | 54 006 | 97 012 | ||
| Q12 | 2 319 | 2 486 | 27 271 | 30 032 | 26 964 | 326 579 | 335 811 | ||
| Q13 | 4 610 | 4 458 | 34 345 | 26 018 | 72 861 | 631 285 | 651 340 | ||
| Q14 | 588 | 696 | 5 591 | 3 318 | 7 277 | 48 476 | 47 320 | ||
| Q15 | 1 310 | 1 249 | 9 579 | 12 001 | 31 236 | 93 387 | 172 448 | ||
| Q16 | 1 471 | 1 584 | 8 493 | 22 038 | 25 295 | 141 958 | 492 614 | ||
| Q17 | 1 613 | 1 960 | 154 488 | 143 057 | 28 158 | 3 299 179 | 3 272 970 | ||
| Q18 | 7 225 | 6 950 | 78 451 | 89 587 | 93 391 | 1 064 011 | 1 276 977 | ||
| Q19 | 3 225 | 4 173 | 22 224 | 21 027 | 40 080 | 217 796 | 208 500 | ||
| Q20 | 850 | 1 004 | 24 920 | 24 818 | 9 596 | 293 892 | 421 818 | ||
| Q21 | 10 219 | 10 529 | 149 483 | 128 112 | 205 788 | 2 427 732 | 2 420 413 | ||
| Q22 | 1 777 | 1 858 | 19 866 | 13 196 | 22 603 | 226 963 | 172 399 | ||
| SUM | 70 044 | 77 107 | 995 221 | 930 071 | 1 265 478 | 14 478 829 | 15 273 254 |