Релизы YMatrix 6

6.8.4

Дата: 2026-10-08


Улучшения и оптимизации

  • Оптимизатор добавил переписывание SAOP и включил его по умолчанию: скалярные массивные условия, такие как списки IN, автоматически переписываются и объединяются, уменьшая повторные вычисления. При возникновении проблем отключите функцию через mx_enable_saop_rewriter.
  • Shared CTE включён по умолчанию (gp_cte_sharing), дополнительная настройка не требуется.
  • Shared CTE могут строить параллельные планы при включённом параллельном режиме (enable_parallel_mode). Для диагностики включите mx_debug_cte_replan, чтобы выводить отладочную информацию о перепланировании, или используйте mx_cte_force_parallel, чтобы пропустить проверку стоимости и предпочесть параллельный план (действует только для запросов, которые могут выполняться параллельно).
  • Если внутри shared CTE выполняется только простое сканирование таблицы, shared scan больше не используется даже при включённом gp_cte_sharing: каждая ссылка сканирует базовую таблицу напрямую, что убирает накладные расходы на материализацию.
  • Для подзапросов, сканирующих реплицированные таблицы, план выполнения больше не требует передачи данных (broadcast) при соблюдении условий (например, без изменчивых функций и без LIMIT).
  • Для оконных функций, результат которых монотонно меняется с номером строки (например, row_number()), поддерживается досрочное завершение и двухфазное выполнение, уменьшающие объём промежуточных данных.
  • Оптимизировано построение классов эквивалентности при соединении нескольких таблиц.
  • Оптимизировано построение плана и оценка стоимости для LIMIT + DISTINCT с HashAgg.
  • MARS3 добавляет операторные классы pattern для типов text, varchar и char. Префиксные запросы LIKE могут использовать индексы, а ON CONFLICT — явно указывать соответствующий операторный класс. Также исправлена сортировка при построении индекса и статистика min/max для индексов DESC. См. Индексы MARS3.
  • Оптимизировано использование ресурсов при последовательном сканировании MARS3: снижены накладные расходы на инициализацию и потребление памяти для запросов к широким таблицам.
  • MARS3 может выводить статистику времени по фазам выполнения через EXPLAIN ANALYZE VERBOSE, что упрощает поиск узких мест производительности.
  • Повышена эффективность проверки видимости данных (MVCC) в MARS3.
  • mxnumeric теперь определяет точность на этапе планирования, улучшая производительность запросов.
  • При ошибке вычисления выражения или приведения типа сообщения об ошибках теперь содержат имя столбца; при превышении длины строки или битовой строки и при переполнении smallint указывается конкретное проблемное значение, что упрощает диагностику.
  • При использовании нативного TID Scan для таблицы MARS3 ошибка теперь явно указывает, что этот способ сканирования не поддерживается.
  • Режим Transfer в MatrixGate автоматически сопоставляет столбцы по именам при миграции одной таблицы, поэтому порядок столбцов исходной и целевой таблиц может различаться. См. Инструмент миграции одной таблицы mxgate.
  • MatrixGate больше не повторно разбирает исходные JSON-данные Kafka при их сканировании, повышая производительность обработки. Kafka consumer group теперь поддерживает настройку нескольких участников (member). См. Параметры MatrixGate.
  • MatrixGate поддерживает сброс позиций потребления Kafka; сбросить позиции можно и на странице потоков данных в MXUI. См. Сброс позиций потребления Kafka.
  • MatrixGate и потоки данных MXUI поддерживают параметр DisablePAFXFAST. См. SSL-шифрованное подключение Kafka.
  • В MXUI добавлено отображение состояния кластера аварийного восстановления.
  • Потоки данных MXUI поддерживают создание непартиционированных таблиц: столбец времени не требуется, а столбец Device ID стал необязательным в режиме INSERT. Также упрощены автоматически сопоставляемые имена полей. См. Подключение Kafka.
  • Потоки данных MXUI поддерживают сохранение профиля Kafka для быстрого повторного использования. См. Подключение Kafka.
  • Задачи потоков данных MXUI поддерживают запуск и остановку. См. Управление потоками данных Kafka.
  • В сценариях потоков данных MXUI скрываются неподдерживаемые кнопки действий.
  • Модуль групп ресурсов MXUI автоматически определяет версию групп ресурсов, поддерживаемую узлами кластера. См. Управление группами ресурсов.
  • Настройка карточки автонастройки MXUI: пропустить оптимизацию теперь можно только кнопкой пропуска.
  • MXUI улучшил механизм проверки HAProxy: операции с лицензией на Standby MXUI теперь корректно пересылаются на узел Master.
  • При установке параметра ядра vm.min_free_kbytes MXTool теперь вычисляет 5% от общего объёма памяти машины вместо фиксированного значения.

Исправления ошибок

  • Исправлены некоторые известные проблемы

Изменения системных переменных и параметров

Системная переменная / параметр Тип изменения Описание
mx_enable_saop_rewriter Добавлена Значение по умолчанию on
Управляет автоматическим переписыванием SAOP. При off скалярные массивные условия, такие как списки IN, больше не переписываются.
gp_cte_sharing Изменено значение по умолчанию Значение по умолчанию изменено на on: shared CTE включён по умолчанию.
mx_cte_force_parallel Добавлена По умолчанию выключена
Пропускает проверку стоимости и предпочитает параллельные планы для shared CTE. Действует только для запросов, которые могут выполняться параллельно.
mx_debug_cte_replan Добавлена По умолчанию выключена
Выводит отладочную информацию о перепланировании shared CTE.

6.8.2

Дата: 2026-07-03


Улучшения и оптимизации

  • Dispatcher оптимизировал внутреннее установление соединений, уменьшив ненужную задержку, связанную с проверками SSL и GSS .
  • mxv оптимизировал выполнение сценариев с большим количеством повторяющихся выражений .
  • Типизированный кодировщик mxv теперь поддерживает произвольные типы .
  • MARS3 DefaultBrin теперь поддерживает DynamicSeqScan .
  • MARS3 оптимизировал последовательный вывод и оценку стоимости MARS3 BRIN и MARS3 btree, а модель оценки переведена на единицы stripe/range.
  • MARS3 оптимизировал пути доступа RangePage и RangeDescPage за счет ссылок на RangePage и локального кэширования handle RangeDescPage, снижая накладные расходы выполнения.
  • Planner теперь по умолчанию позволяет реплицированным таблицам участвовать в оценке параллельных планов, благодаря чему другие таблицы все еще могут генерировать parallel hash join и другие параллельные планы при наличии реплицированных таблиц.
  • Planner поддерживает раннюю дедупликацию под-планов SetOp на основе потоковой агрегации и генерацию параллельных планов UNION .
  • Planner оптимизировал стратегию генерации Motion для UNION, INTERSECT и EXCEPT, добавляя Motion только при необходимости .
  • Planner поддерживает проталкивание OR-условий из HAVING в scan-узлы для ранней фильтрации .
  • Planner поддерживает добавление Motion под дочерние Append-узлы внутри shared CTE для параллельного выполнения .
  • Planner поддерживает объединение фильтров ссылок CTE и проталкивание их в shared scan через OR-комбинации .
  • Planner при перепланировании shared CTE поддерживает преобразование протолкнутых OR-условий в ANY-выражения для улучшения оценки числа строк .
  • Planner поддерживает вытягивание EXISTS/NOT EXISTS sublink под OR-условиями и выполнение через left outer join .
  • Planner поддерживает вытягивание expression sublink типа EXPR_SUBLINK в JOIN или left outer join .
  • Domino stream processing поддерживает одновременное выполнение join и agg в одном stream .
  • Domino stream processing удаляет избыточные столбцы в двухпоточном left join. Изменение несовместимо с существующими left join stream table; после обновления такие stream table нужно удалить и создать заново .
  • PXF и pxf_fdw поддерживают HadoopCatalog для таблиц Iceberg v2.
  • В MXUI добавлен шаг Pre-Install: на странице добавления узла можно вводить IP, сопоставлять hostname и синхронизировать файл hosts .
  • MXUI Pre-Install поддерживает настройку sudo для пользователя mxadmin, отключение SELinux на хостах и проверку неожиданных правил iptables .
  • Интерфейс установки MXUI теперь показывает подробные ошибки на этапе добавления узлов, что упрощает диагностику .
  • На странице таблиц данных MXUI добавлен просмотр информации об индексах: имя, тип и размер .
  • В инспекционные проверки MXUI добавлены неожиданные настройки postgresql.auto.conf и неожиданные правила iptables .
  • MXUI изменил проверку настройки почтового сервера: если AUTH не включен, имя пользователя больше не проверяется .
  • При добавлении mirror в MXUI, если доступно несколько дисков, система предложит изменить план по умолчанию .
  • Сервис загрузки данных MatrixGate поддерживает SSL-шифрованные подключения Kafka. См. Настройка зашифрованного подключения MatrixGate к Kafka (SSL) .
  • Потоки данных MXUI поддерживают настройку Kafka SSL-аутентификации .
  • MXCtl изменил структуру таблицы kafka_catalog: при создании таблицы тип столбца id изменен с int на bigint .
  • MXStart поддерживает настройку wrapper, сохраняя исходный процесс запуска и предоставляя возможность расширения запуска postmaster .
  • Etcd обновлен до v3.5.32 для устранения известных CVE .
  • Аварийное восстановление / высокая доступность поддерживает переключение туда и обратно между основным и резервным кластерами .
  • Аварийное восстановление / высокая доступность использует новый DR-дизайн и поддерживает развертывание primary-mirror, переключение, восстановление и rebuild резервного кластера. См. Руководство пользователя YMatrix 6.8 по аварийному восстановлению .
  • MXTool добавил возможность сбора информации на месте OOM .
  • MXTool добавил команду mxtool init numa-wrapper, которая автоматически создает NUMA Wrapper и конфигурацию сопоставления NUMA по текущей топологии кластера и развертывает их на узлах. См. Запуск кластера YMatrix с привязкой к NUMA Node .

Исправления ошибок

  • Исправлены некоторые известные проблемы

Изменения системных переменных и параметров

Системная переменная / параметр Тип изменения Описание
compresstype=auto Добавлено В MARS3 добавлен параметр сжатия auto, использующий типизированный кодировщик (arraycodec).
Сжатие MARS3 btree auto Изменено поведение по умолчанию Для MARS3 btree по умолчанию включено сжатие auto.
Сжатие rowstore TOAST Изменено поведение по умолчанию В MARS3 по умолчанию отключено сжатие rowstore TOAST.
mars3.enable_btree_inorderscan Добавлено Добавлен GUC для управления MARS3 btree in-order scan. Значение по умолчанию: off.

6.8.1

Дата: 2026-05-25


Улучшения и оптимизации

  • mxv: оптимизировано время построения плана для запросов DELETE WHERE IN с большими списками.
  • fastdd: оптимизировано проталкивание внешних параметров, что повышает эффективность выполнения запросов в соответствующих сценариях.
  • Оптимизатор: повышена эффективность выполнения сценариев с EXISTS и SubPlan.
  • mars3: добавлена поддержка синтаксиса DIMS. См. MARS3 DIMS: объявление измерительных столбцов.
  • mars3: добавлена поддержка плагина diskquota.
  • mars3: в вывод EXPLAIN VERBOSE добавлена информация о default brin.
  • pxf_fdw: код организован как git submodule, что упрощает независимое сопровождение и управление версиями.
  • Domino: оптимизирована производительность callback-функции удержания XLog при частом выполнении VACUUM FREEZE.
  • Matrixgate: оптимизировано использование goroutine во внутреннем компоненте статистики производительности load_metric, что снижает накладные расходы во время выполнения.
  • Matrixgate: добавлен automaxprocs; если GOMAXPROCS не настроен явно, Matrixgate автоматически выбирает подходящее значение для повышения эффективности использования CPU.
  • Matrixgate: улучшено логирование: в журналы set slot добавлены имена таблиц для упрощения диагностики и эксплуатации.
  • Matrixgate: оптимизирована внутренняя логика flush chunk в fasthttp для повышения эффективности HTTP-передачи.
  • Matrixgate: оптимизировано использование памяти: в качестве низкоуровневых буферов используются срезы фиксированного размера, что снижает накладные расходы на выделение памяти и колебания потребления памяти.
  • Matrixgate: добавлен параметр http-segmented-body для управления включением оптимизации памяти. По умолчанию параметр включен. При значении false используется прежнее поведение выделения памяти Matrixgate.
  • Matrixgate: добавлен параметр http-segment-size-kb для указания размера каждого низкоуровневого среза. Значение по умолчанию: 1024KB.
  • Matrixgate: добавлен параметр write-buffer-size для указания размера каждого буфера, используемого при передаче данных от Matrixgate к сегментам.

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.8.0

Дата: 2026-04-10


Новые функции

Улучшения и оптимизации

  • В векторизованном исполнителе по умолчанию включено сжатие рабочих файлов для повышения производительности OLAP-запросов .
  • Оптимизирована производительность VHashAgg в векторизованном исполнителе .
  • Оптимизирована производительность выражений CASE WHEN в векторизованном исполнителе .
  • Добавлена поддержка right anti semi join (NOT IN) в планировщике.
  • Планировщик теперь поддерживает параллельное выполнение right semi join в определённых сценариях.
  • Оптимизировано вычисление HashAgg для distinct-запросов с предложением LIMIT в планировщике .
  • Исторические снапшоты движка хранения MARS3 теперь поддерживают оптимизацию definitelydead.
  • Оптимизировано высокое потребление памяти в движке хранения MARS3 при выполнении операций Compact и Scanner в режиме UniquMode .
  • Улучшена потоковая обработка Domino: файлы снапшотов теперь корректно сохраняются на узлах, где есть только декодеры, но нет активных потоков .
  • VHashAgg теперь использует HashMap с одной партицией .
  • В mxshift операции DDL больше не мигрируют временные последовательности .
  • Расширение mxnumeric обновлено до версии 0.3 с улучшением производительности и корректности преобразований типов. См. Руководство пользователя mxnumeric .
  • В matrixts функция timebucket_auto теперь поддерживает автоматическую сортировку по временным бакетам при возврате результата.
  • MatrixUI теперь поддерживает создание шаблонов потоковых таблиц.
  • Порт pprof в MatrixUI теперь по умолчанию отключён; его можно включить через веб-интерфейс .
  • Компоненты SOA-сервиса больше не публикуют адрес pprof по умолчанию. Его можно временно включить или отключить, отправив сигнал: sudo kill -USR2 -p <pid_of_soa_program>.

Исправления ошибок

  • Исправлены некоторые известные проблемы

Изменения системных переменных

Системная переменная Тип изменения Описание
gp_workfile_compression Изменено значение по умолчанию Значение по умолчанию изменено с off на on.
gp_interconnect_type Изменено значение по умолчанию Значение по умолчанию изменено с udpifc на tunnel.
enable_dynamic_seqscan Новая переменная Значение по умолчанию: on.Оптимизатор планировщика теперь поддерживает DynamicSeqScan для сканирования секционированных таблиц, обеспечивая эффективное сканирование без необходимости использования ORCA.
mx_enable_motion_runtime_filter Новая переменная Значение по умолчанию: on.При включении получатели VMotion сразу после получения строк применяют фильтрацию с помощью Bloom-фильтров, отбрасывая строки, не удовлетворяющие условиям. Это снижает объём данных, передаваемых в вышестоящие узлы.

6.7.1

Дата: 2026-02-24


Улучшения и расширения функциональности

  • Лицензия: увеличен срок действия лицензии по умолчанию с 14 до 30 дней.
  • MatrixUI: добавлено новое правило мониторинга работоспособности, переводящее базу данных в режим «только чтение» при превышении настраиваемого порога использования дискового пространства. По умолчанию отключено. (Документация)
  • MatrixUI: добавлена автоматическая настройка после установки.
  • MatrixUI: добавлена поддержка управления группами ресурсов через веб-интерфейс.
  • Interconnect: введён новый тип взаимодействия между узлами — tunnel. (Документация)
  • Векторизация: упрощена и улучшена логика удаления дубликатов в векторизованном vtle.
  • Векторизация: добавлена поддержка runtime-фильтров в VDynamicSeqScan.
  • Domino v2: добавлена поддержка функциональности набора сегментов (segment set).
  • Переписывание запросов: реализовано объединение классов эквивалентности при переписывании запросов на основе правил (RULE).
  • Векторизация: добавлена поддержка FULL OUTER JOIN в vhashjoin.
  • Динамическое исключение секций (DEP): узел выбора секций теперь полностью поддерживает параллельное выполнение.
  • PXF: расширен набор типов данных, поддерживающих pushdown.
  • PXF: добавлена конфигурационная опция clean_nul для управления обработкой байтов 0x00:
    • В режиме replace байт 0x00 заменяется с помощью функции REPLACE() при выполнении запросов SELECT.
    • В режиме filter байт 0x00 удаляется на этапе разбора данных столбцов PXF.
  • Интеграция: модули PXF/FDW интегрированы в matrixdb/gpcontrib/pxf_fdw.
  • Сообщения об ошибках: улучшены тексты ошибок — теперь они включают имена столбцов и фактические значения в контексте.

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.7.0

Дата: 2025-12-31


Улучшения и доработки

  • Добавлена функциональность плагина pg_audit (Документация)
  • Добавлена функциональность плагина postgres_anonymizer (Документация)
  • Улучшен механизм отладки использования памяти
  • Переработан VSort с использованием модели Push & Pop и обновлён до Sorter v2
  • Оптимизирована производительность VHashJoin при генерации результатов из внутренних таблиц с большим количеством полезных столбцов
  • Добавлена поддержка расширения одного раздела
  • mars3 теперь завершает блокирующие задачи компактификации при удалении или усечении таблицы
  • Сняты ограничения на порядок столбцов в уникальных индексах для потоковых соединений в Domino, а также добавлена поддержка отношений эквивалентности
  • Domino теперь позволяет ссылаться на выражения из правой таблицы в списке целевых столбцов левого потокового соединения
  • Domino теперь поддерживает неравенственные соединения (non-equi joins) в двойных потоках
  • В MXUI добавлен переключатель для управления монтированием маршрута PPROF
  • В MXUI удалена карточка журнала ошибок с главной страницы и заменена на карточку мониторинга состояния
  • В MXUI улучшена карточка информации о кластере на главной странице — теперь она отображает более подробные метрики кластера
  • Оптимизатор/исполнитель теперь поддерживает Right Anti Join и Right Semi Join (пока несовместимы с параллельным режимом)
  • pg_rewind теперь поддерживает инкрементальное восстановление для таблиц mars3

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.6.1

Дата: 2025-11-17


Улучшения и доработки

  • Добавлена логика очистки для trigger function при разделении секций, а также предупреждение с призывом к ручной очистке в случае возникновения ошибки.
  • В mars3 введена новая оптимизация проверки видимости транзакций.
  • Улучшены скалярные последовательные сканирования для включения информации RowRemoveFilter.
  • Повышена производительность векторизованной сортировки в векторизованном движке выполнения при обработке большого количества столбцов с данными по ссылке .
  • Добавлено автоматическое создание расширения dblink перед выполнением APM-задач в Cylinder.

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.6.0

Дата: 2025-11-10


Улучшения и доработки

  • Добавлена поддержка default-brin в mars3. (Документация)
  • Оптимизирован размер XLOG для mars3 в однопоточном режиме.
  • В mars3 включена поддержка параллельных операций ALTER TABLE SPLIT PARTITION. Поддерживаются параллельные операции чтения и записи во время разделения (в настоящее время не поддерживается для таблиц AO/CO, стримовых таблиц или родительских таблиц с триггерами).
  • Введена утилита mxchangeport для изменения конфигурации портов master/standby (Документация).
  • Оптимизировано выравнивание данных в алгоритмах слияния mxv, что улучшило производительность vsort, vmergeappend и vmotion .
  • Производительность vmotion улучшена за счёт оптимизации доступа к интерфейсам взаимодействия .
  • Производительность vhashagg улучшена при использовании нескольких ключей группировки .
  • Производительность VWindowAgg улучшена при малом размере секций .
  • Производительность vhashagg повышена при больших квотах памяти .

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.5.1

Дата:2025-10-10


Улучшения и доработки

  • Добавлена поддержка автоматической синхронизации времени на всех машинах кластера
  • TDE теперь поддерживает ротацию мастер-ключей
  • Добавлено средство командной строки для проверки согласованности версии программного обеспечения базы данных на всех машинах кластера
  • Добавлено логирование логики расчёта shared_buffers, max_connections и gp_vmem_protect_limit
  • Оптимизирована десериализация данных типа указателя с фиксированной шириной содержимого
  • Улучшена производительность приёма при использовании vmotion с предложением OFFSET
  • Устранено снижение производительности в vmotion из-за чрезмерно мелкого разбиения отправки данных
  • Оптимизировано чрезмерное потребление памяти в VSort и управление размером блоков для результирующего набора
  • Оптимизировано управление размером блоков для результирующих наборов vhashjoin
  • Устранено чрезмерное время выполнения планов orca с большими списками IN
  • Реализована адаптация сравнений типа mxnumeric и оценки количества строк в orca
  • Оптимизирован SAOP в исполнителе с помощью хеш-алгоритмов и завершена адаптация orca
  • SF теперь поддерживает InFilter для типов mxnumeric
  • InFilter теперь поддерживает NOT IN
  • Векторизованный резервный DatumInFilter использует хеш-оптимизацию
  • Оптимизирована логика генерации путей параллельного сканирования для реплицированных таблиц, исключена ненужная передача данных

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.5.0

Дата:2025-09-01


Новые функции версии

  • MMatrixUI добавлена визуализация запуска/остановки базы данных (Документация)
  • YMatrix представлена прозрачная шифрование (TDE), поддерживающая режимы управления как в локальной файловой системе, так и в системе KMS (Документация)
  • Добавлено расширение mxnumeric, предоставляющее высокопроизводительную альтернативу типам pg numeric
  • Изменена настройка collate по умолчанию с en_US.UTF-8 на C
  • По умолчанию pg_basebackup отключает проверку контрольных сумм страниц

Улучшения и доработки

  • OpenSSL теперь поддерживает управление памятью, используемой зависимостями OpenSSL, через MemoryContext
  • В Domino Stream Computing добавлен оператор DROP STREAM .. CASCADE, позволяющий каскадное удаление нескольких потоков
  • В Domino Stream Computing добавлена поддержка LEFT JOIN двух потоков
  • Из mars3 удалён необязательный код расчёта контрольных сумм страниц
  • Планировщик теперь поддерживает улучшение производительности за счёт push-down лимита левых соединений при определённых условиях
  • default on update теперь поддерживает функцию statement_timestamp()
  • Оптимизирована детализация обработки данных mxvector
  • Реализована нативная поддержка bpchar для mxvector
  • mxvector теперь поддерживает dynamic index / indexonly / bitmap scan
  • Добавлен GUC-параметр default_null_ordering для управления поведением сравнения значений NULL по умолчанию
  • mxnumeric: оптимизированы возможности сериализации AvgState
  • mars3 теперь поддерживает сканирование btree в порядке обхода
  • mars3 теперь поддерживает инкрементальные операции analyzedb и инкрементальные mxbackup
  • mars3 ослабил ограничения на последовательности при создании индексов btree в уникальном режиме
  • mars3 теперь поддерживает операции delete в сценариях уникального режима
  • В mars3 введены два новых GUC-параметра: mars3.default_storage_options и mars3.default_btree_options, для указания параметров хранения mars3 по умолчанию

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.11

Дата: 2026-07-03


Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.10

Дата: 2026-05-25


Улучшения и доработки

  • fastdd: оптимизировано проталкивание внешних параметров, что повышает эффективность выполнения запросов в соответствующих сценариях.
  • pxf_fdw: код организован как git submodule, что упрощает независимое сопровождение и управление версиями.
  • Matrixgate: оптимизировано использование goroutine во внутреннем компоненте статистики производительности load_metric, что снижает накладные расходы во время выполнения.
  • Matrixgate: добавлен automaxprocs; если GOMAXPROCS не настроен явно, Matrixgate автоматически выбирает подходящее значение для повышения эффективности использования CPU.
  • Matrixgate: улучшено логирование: в журналы set slot добавлены имена таблиц для упрощения диагностики и эксплуатации.
  • Matrixgate: оптимизирована внутренняя логика flush chunk в fasthttp для повышения эффективности HTTP-передачи.
  • Matrixgate: оптимизировано использование памяти: в качестве низкоуровневых буферов используются срезы фиксированного размера, что снижает накладные расходы на выделение памяти и колебания потребления памяти.
  • Matrixgate: добавлен параметр http-segmented-body для управления включением оптимизации памяти. По умолчанию параметр включен. При значении false используется прежнее поведение выделения памяти Matrixgate.
  • Matrixgate: добавлен параметр http-segment-size-kb для указания размера каждого низкоуровневого среза. Значение по умолчанию: 1024KB.
  • Matrixgate: добавлен параметр write-buffer-size для указания размера каждого буфера, используемого при передаче данных от Matrixgate к сегментам.

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.9

Дата: 2026-04-15


Улучшения и доработки

  • Добавлена поддержка флага definitelydead в исторических снимках MARS3 для оптимизации обработки снимков.
  • Компонент службы SOA больше не публикует адрес pprof по умолчанию. Временное включение или отключение можно выполнить, отправив сигнал USR2: sudo kill -USR2 -p <pid_of_soa_program>.
  • Обновлена внутренняя зависимость supervisor до github.com/cilium/ebpf для устранения потенциальных уязвимостей безопасности (PR25).
  • MatrixUI теперь отключает порт pprof по умолчанию и предоставляет новый переключатель для управления монтированием маршрута pprof .
  • Узлы Domino, содержащие только декодеры без активных потоков, теперь корректно сохраняют файлы снимков .
  • Операции с использованием mxinitstandby для удаления первичных узлов с preferred_role=m отключены. Для миграции master-узлов следует использовать mxmoveseg, чтобы предотвратить случайные действия, восстановление после которых затруднено .
  • При миграции DDL через mxshift временные последовательности больше не переносятся .

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.8

Дата: 2026-02-24

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.7

Дата: 2026-01-09


Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.6

Дата: 2025-12-15


Улучшения и доработки

  • Добавлена функциональность плагина pg_audit (Документация)
  • Добавлена функциональность плагина postgres_anonymizer (Документация)
  • Усилен механизм отладки потребления памяти
  • В mars3 добавлена поддержка завершения блокирующих задач compact при выполнении DROP TABLE или TRUNCATE TABLE, если они удерживают блокировки

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.5

Дата: 2025-11-20


Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.4

Дата: 2025-11-10


Улучшения и доработки

  • Уменьшена серьёзность логирования при завершении работы domino-воркера (ранее логировалось как FATAL: terminating connection due to administrator command)

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.3

Дата:2025-10-10


Улучшения и доработки

  • Добавлено логирование логики расчёта shared_buffers, max_connections и gp_vmem_protect_limit
  • Оптимизирована логика генерации Parallel Scan Path для реплицированных таблиц с целью избежать избыточного перемещения данных

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.2

Дата: 2025-09-01


Улучшения и доработки

  • Удалён несущественный код для расчёта контрольных сумм страниц в MARS3

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.1

Дата: 2025-08-01


Улучшения и доработки

  • Лицензирование: срок бесплатного использования новых развёрнутых кластеров увеличен с 3 до 14 дней.
  • mxinitstandby: добавлена функция удаления текущего резервного узла (документация)
  • Начиная с этой версии, расширение matrixmgr будет автоматически обновляться после обновления базы данных, что исключает необходимость ручного вмешательства.
  • Domino: улучшена задержка потоковой передачи, вызванная модулем планирования.
  • orca теперь поддерживает индексы mars3
  • Поддержка двухфазных операций DISTINCT
  • Усилено безопасное использование памяти relcache
  • При инициализации кластера теперь по умолчанию отключена функция autofreeze
  • Улучшена логика анализа mars3 с использованием выборки на основе строк
  • Поддержка возможности удаления индекса mars3 в секционированных таблицах

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.4.0

Дата: 2025-06-26


Новые функции версии

  • Функция управления лицензиями полностью обновлена
  • Добавлена поддержка операционной системы Centos9
  • Добавлена поддержка Cgroup V2
  • Resource Group добавил поддержку функции IO_LIMIT
  • MatrixUI добавил мониторинг дискового пространства, включая тепловую карту на панели мониторинга, 4 уровня предупреждений о дисках, отображение Util на странице топологии
  • MatrixUI поддерживает отображение отношений блокировок запросов на QE
  • По умолчанию используется расчёт потоков Domino v2 при создании потоков (документация)
  • Инкрементальное онлайн-резервное копирование поддерживает нормальное восстановление при переходе на резервный узел/восстановлении в кластере (документация)
  • Добавлен переключатель mx_eager_memory_release для активного снижения потребления памяти неактивными процессами (по умолчанию выключен)
  • Поддержка миграции данных таблиц mars3 с помощью оператора ALTER TABLE .. SET TABLESPACE
  • Поддержка параллельного сканирования реплицированных таблиц (по умолчанию выключена)
  • Функция auto-vacuum для системных и несистемных таблиц включена по умолчанию
  • Обновление Golang и toolchain до версии 1.24

Улучшения и доработки

  • Определён формат TLog для Domino v2, реализовано буферизованное чтение и запись, значительно улучшена производительность дискового ввода-вывода
  • Реорганизован mxstop для потокового вывода информации о ходе выполнения.
  • Инкрементальное онлайн-резервное копирование поддерживает некоторые функции tablespace (документация)
  • mars3 поддерживает roi-индексацию
  • mars3 поддерживает автоматическое преобразование btree/brin в индекс mars3_btree/mars3_brin
  • Версия relfile по умолчанию для mars3 изменена на v1
  • Секционированные таблицы mars3 поддерживают удаление индекса
  • mars3 поддерживает общий контекст zstd для повышения эффективности сжатия
  • Динамическое сканирование bitmap на таблицах mars3 отключено в orca
  • Поддерживается случай, когда тип индекса — mars3_btree, при изменении первичного ключа
  • mxrule поддерживает возможность определения необходимости проекции на основе количества distinct

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.3.0

Дата: 2025-04-18

Новые функции

  • Поддержка несбалансированной схемы развёртывания mxaddmirrors (документация)
  • Поддержка функции добавления зеркал на графическом интерфейсе (документация)
  • Поддержка функций инкрементного холодного резервного копирования и восстановления (документация)
  • Улучшения серии mxstate, добавлены параметры -s, -p, `-H
  • mxstart добавлена функция визуализации прогресса, добавлены параметры -C и -P
  • Библиотека intrastream обновлена до версии v2 (на данный момент часть failover по умолчанию остаётся v1)
  • MatrixGate в mxui интегрирована функция удаления задач
  • Matrixshift Migration DDL добавлена поддержка атрибутов USING, WITH, ECODING
  • Поддержка рекурсивного создания расширенной статистики для секционированных таблиц
  • Поддержка применения ndistinct к расширенной статистике для оценки объёма данных результирующего набора по составным условиям/индексам

Улучшения и доработки

  • Сервис репликации не вызывает OOM при системном исчерпании памяти
  • Обновление ETCD до версии 3.5.x и прохождение теста на усталость
  • Обновление Golang toolchain до версии 1.23.7
  • Обновление go-common-libs & matrixapis, устранение CVE
  • Рефакторинг слоя подключения к базе данных в mxbox
  • Обновление pgvector до версии v0.8.0

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.2.4

Дата: 2025-03-03

Улучшения и доработки

  1. Оптимизатор
    • Оптимизирована логика ROI, при отсутствии соответствующей секции в ROI не создается фиктивный план
  2. Инструменты
    • Повышена вероятность успешного обнаружения всех сегментов перед запуском узла mxstart Исправления ошибок
  • Исправлены некоторые известные проблемы

6.2.3

Дата: 2025-02-24


Улучшения и доработки

  1. mxbox
    • Оптимизирована избыточная информация о состоянии кластера в etcd, снижена нагрузка на запись и обновление сервисов etcd, повышена стабильность кластера
    • Расширены функции командной строки mxbox client deployer get-cluster-service. Помимо отображения текущего активного адреса сервиса кластера/сегмента, теперь можно также просматривать информацию о неактивных высокодоступных сервисах в режиме резерва. Добавлен обязательный параметр --service-name со значением cluster или shard
    • Кэширование информации об обнаружении сервисов SOA в сервисе deployer. Другие сервисы получают результаты обнаружения через API интерфейс deployer, что снижает нагрузку на прямой доступ к etcd и повышает стабильность работы в крупных кластерах
    • Процесс высокодоступного сервиса cluster/shard/replication/deployer стал более активно освобождать физическую память операционной системе, что позволило снизить потребление памяти
    • При выполнении mxstart/mxstop, если размер кластера велик, запуск сегментов/реплик происходит пакетно, чтобы избежать мгновенной чрезмерной нагрузки на etcd вследствие одновременного старта всех сервисов, что повышает стабильность операций
    • Когда основной/зеркальный узел в сегменте выходит из строя, узел gp_segment_configuration, сохраняющий состояние последней основной роли, переходит в состояние UP, обеспечивая успешный перезапуск базы данных
    • В инструмент mxrecover добавлена опция -s для указания восстанавливаемого сегмента
    • В инструмент mxstate добавлена опция -e для вывода информации о сегментах в абсолютном состоянии
  2. Аварийное восстановление
    • Удалён параметр restore_point_creation_interval_minute из конфигурационного файла процесса подписчика, добавлен обязательный параметр restore_point_creation_interval, позволяющий пользователю самостоятельно настраивать интервал синхронизации
    • План mxaddmirrors теперь поддерживает генерацию распределения зеркальных узлов для кластеров с несбалансированным развертыванием. Рекомендуется использовать после ручной проверки и корректировки до наиболее разумной конфигурации зеркал
    • Изменён способ использования пользовательской конфигурации mxaddmirror. Теперь пользователь должен сначала выполнить mxaddmirrors init, а затем mxaddmirrors config --init-file <path_to_file> для генерации шаблонов конфигурации. Новый метод позволяет формировать разумные схемы даже для несбалансированных кластеров
    • Для кластеров с несбалансированным развертыванием mxinitstandby позволяет добавлять standby-узлы на пустые физические машины без развёрнутых сегментных узлов
    • Для кластеров с несбалансированным развертыванием mxaddmirror позволяет добавлять зеркальные узлы на пустые физические машины без развёрнутых сегментных узлов в режиме пользовательской конфигурации Исправления ошибок
  • Исправлены некоторые известные проблемы

6.2.2

Дата: 2025-01-10


Улучшения и доработки

  1. MatrixShift
    • Если в конфигурационном файле не указаны операции миграции, а включена только функция проверки, добавлено сообщение об ошибке для баз данных, мигрированных из других источников, кроме mxshift
    • При наличии дублирующихся таблиц или родительских и некоторых дочерних таблиц в списке таблиц раздела scope конфигурационного файла реализована возможность автоматического удаления дубликатов с выдачей предупреждения
  2. MatrixGate
    • Передача данных между mxgate и сегментными узлами изменена — по умолчанию сжатие отключено, чтобы сэкономить больше ресурсов памяти (ранее значение по умолчанию было «включено»)
    • В режиме передачи разрешена миграция данных при состоянии Down зеркального узла
  3. mxbox
    • Добавлен вывод причины пропуска при пропуске mxrecover определённых сегментов
    • При использовании mxrecover для выполнения операций балансировки в кластере можно сократить время простоя базы данных, добавив параметр CHECKPOINT; поведение можно пропустить, добавив параметр --skip-checkpoint
    • Улучшен формат вывода содержимого этой команды в консоли при выполнении балансировки кластера с помощью mxrecover
    • В mxrecover добавлен параметр --prepare-timeout. При запуске mxrecover таймаут сбора информации о состоянии кластера через etcd может быть задан, значение по умолчанию — 1 минута
  4. mxctl
    • При установке и развёртывании команда mxctl setup collect проверяет, может ли localhost быть разрешён в локальный loopback-адрес, и в случае невозможности выдает ошибку

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.2.1

Дата: 2024-12-20

Улучшения и доработки

  1. mxbox
    • Увеличен таймаут по умолчанию для mxstart с 1 минуты до 5 минут. Поддерживается пользовательская настройка таймаута через параметр -t.
    • Добавлена поддержка пользовательских переменных окружения при запуске процесса postmaster.
    • При двойном отказе в кластере разрешён запуск ближайшего основного узла путём перезапуска базы данных вместо невозможности запуска.
    • Увеличено максимальное количество открытых файлов для сервиса supervisor и процесса etcd, решена проблема частых ошибок «слишком много открытых файлов» для сервисов etcd в гипермасштабируемых кластерах. (#6ca5293dcd0)
    • При развёртывании нового кластера параметр --enable-pprof удалён из конфигурации сервиса etcd в сервисе supervisor, что делает etcd более стабильным и снижает потребление CPU.

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.2.0

Дата: 2024-12-09


Улучшения и доработки

  1. MatrixUI
    • При установке или расширении новой машины активно проверяется наличие в /etc/ssh/sshd_config таких элементов конфигурации, как AllowUsers/AllowGroups/DenyUsers/DenyGroups, которые могут помешать взаимному доверию SSH между хостами в кластере, и предоставляются конкретные сообщения об ошибках и рекомендации по исправлению
  2. MatrixShift
    • Введены более строгие проверки конфигурационных файлов: при запуске mxshift будут выявляться и сообщаться об ошибках некорректные параметры конфигурации. Например, если disable-connector = true указан не в параграфе [scope], mxshift сообщит об ошибке и напомнит об этом
  3. mxbox
    • Инструменты moveseg / initstandby могут определять, находится ли хост, добавляемый с помощью подкоманды --add, уже в физическом кластере, и выдавать сообщение об ошибке
    • При перезагрузке хоста или первом запуске кластера YMatrix автоматически создаются необходимые пути, от которых зависит cgroup групп ресурсов

Исправления ошибок

  • Исправлены некоторые известные проблемы

6.1.1

Дата: 2024-11-19


Улучшения и доработки

  1. MatrixGate
    • Оптимизация mxgate: поддержка настраиваемого таймаута соединения сегментов в виде GUC-параметра
  2. MatrixShift
    • Оптимизация mxshift: при отсутствии прав используется каталог данных вместо /tmp
  3. mxbox
    • Поддержка пользовательских несбалансированных развертываний
  4. MatrixUI (Документация)
    • Поддержка пользовательского интерфейса для несбалансированных развертываний

6.1.0

Дата: 2024-10-31


Улучшения и доработки

  1. MatrixShift

    • Оптимизация mxshift: можно пропустить создание внешней таблицы при миграции данных из gp6
    • Оптимизация mxshift: при автоматическом отображении типа сжатия из zlib в zstd параметр compresslevel принудительно устанавливается в 1
  2. Аварийное восстановление

    • Удалён неиспользуемый параметр конфигурации slot в конфигурационном файле подписчика
    • Уточнено содержание журнала

Исправление ошибок

  • Исправлены некоторые известные проблемы

6.0.0

Дата: 2024-10-11


Новый функционал

  1. Добавлена функция потоковых вычислений (Документация)

    • Поддержка расширенных вычислений по измерениям, агрегированных вычислений, многоуровневых потоковых вычислений, корреляционных вычислений между двумя потоками и т.д. (Документация)
    • Поддержка различных возможностей конфигурации и управления (документация)
  2. Интегрированная архитектура потоковой и пакетной обработки

    • База данных объединяет преимущества потоковой и пакетной обработки, поддерживая параллельную обработку данных в реальном времени и исторических данных.
  3. Добавлен кластер аварийного восстановления (Документация)

    • Поддержка передачи и синхронизации данных между центрами обработки данных
    • Поддержка мониторинга состояния работы кластера аварийного восстановления
    • Поддержка ручного переключения резервного кластера в рабочий режим, все приложения могут быть переключены на этот кластер для нормальной работы
    • Показатели аварийного восстановления для данного кластера:
      • RPO (Recovery Point Objective, целевая точка восстановления) Пользователь может указать подходящее значение, при котором целевой показатель достигается на уровне минут без влияния на производительность исходного кластера.
      • RTO (Recovery Time Objective, целевое время восстановления) Поддерживается режим горячего резерва базы данных, при котором RTO составляет от нескольких секунд до минут.

Повышение производительности

  1. Повышение производительности TP

    • Добавлена поддержка размера блока 8 Кб; конфигурируемый блок данных (block) составляет 8 Кб, что значительно повышает производительность при обработке транзакций с небольшими объёмами данных.
  2. Улучшение хранилища MARS3

    • Добавлена поддержка уникальных ключей, операций upsert и блокировок на уровне строк.
  3. Улучшение векторизационного движка

    • Добавлена поддержка векторизации оконных функций (Window Function).

Известные проблемы

  1. При большом количестве секций запрос может вызвать нехватку памяти (OOM) в базе данных.

  2. В сценарии KILL QUERY процесс восстановления может привести к сбою.