Релизы 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
Улучшения и доработки
- Оптимизатор
- Оптимизирована логика ROI, при отсутствии соответствующей секции в ROI не создается фиктивный план
- Инструменты
- Повышена вероятность успешного обнаружения всех сегментов перед запуском узла mxstart
Исправления ошибок
- Исправлены некоторые известные проблемы
6.2.3
Дата: 2025-02-24
Улучшения и доработки
- 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 для вывода информации о сегментах в абсолютном состоянии
- Аварийное восстановление
- Удалён параметр
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
Улучшения и доработки
- MatrixShift
- Если в конфигурационном файле не указаны операции миграции, а включена только функция проверки, добавлено сообщение об ошибке для баз данных, мигрированных из других источников, кроме mxshift
- При наличии дублирующихся таблиц или родительских и некоторых дочерних таблиц в списке таблиц раздела scope конфигурационного файла реализована возможность автоматического удаления дубликатов с выдачей предупреждения
- MatrixGate
- Передача данных между mxgate и сегментными узлами изменена — по умолчанию сжатие отключено, чтобы сэкономить больше ресурсов памяти (ранее значение по умолчанию было «включено»)
- В режиме передачи разрешена миграция данных при состоянии Down зеркального узла
- mxbox
- Добавлен вывод причины пропуска при пропуске mxrecover определённых сегментов
- При использовании mxrecover для выполнения операций балансировки в кластере можно сократить время простоя базы данных, добавив параметр
CHECKPOINT; поведение можно пропустить, добавив параметр --skip-checkpoint
- Улучшен формат вывода содержимого этой команды в консоли при выполнении балансировки кластера с помощью mxrecover
- В mxrecover добавлен параметр
--prepare-timeout. При запуске mxrecover таймаут сбора информации о состоянии кластера через etcd может быть задан, значение по умолчанию — 1 минута
- mxctl
- При установке и развёртывании команда mxctl setup collect проверяет, может ли localhost быть разрешён в локальный loopback-адрес, и в случае невозможности выдает ошибку
Исправления ошибок
- Исправлены некоторые известные проблемы
6.2.1
Дата: 2024-12-20
Улучшения и доработки
- mxbox
- Увеличен таймаут по умолчанию для mxstart с 1 минуты до 5 минут. Поддерживается пользовательская настройка таймаута через параметр -t.
- Добавлена поддержка пользовательских переменных окружения при запуске процесса postmaster.
- При двойном отказе в кластере разрешён запуск ближайшего основного узла путём перезапуска базы данных вместо невозможности запуска.
- Увеличено максимальное количество открытых файлов для сервиса supervisor и процесса etcd, решена проблема частых ошибок «слишком много открытых файлов» для сервисов etcd в гипермасштабируемых кластерах. (#6ca5293dcd0)
- При развёртывании нового кластера параметр --enable-pprof удалён из конфигурации сервиса etcd в сервисе supervisor, что делает etcd более стабильным и снижает потребление CPU.
Исправления ошибок
- Исправлены некоторые известные проблемы
6.2.0
Дата: 2024-12-09
Улучшения и доработки
- MatrixUI
- При установке или расширении новой машины активно проверяется наличие в /etc/ssh/sshd_config таких элементов конфигурации, как AllowUsers/AllowGroups/DenyUsers/DenyGroups, которые могут помешать взаимному доверию SSH между хостами в кластере, и предоставляются конкретные сообщения об ошибках и рекомендации по исправлению
- MatrixShift
- Введены более строгие проверки конфигурационных файлов: при запуске mxshift будут выявляться и сообщаться об ошибках некорректные параметры конфигурации. Например, если disable-connector = true указан не в параграфе [scope], mxshift сообщит об ошибке и напомнит об этом
- mxbox
- Инструменты moveseg / initstandby могут определять, находится ли хост, добавляемый с помощью подкоманды --add, уже в физическом кластере, и выдавать сообщение об ошибке
- При перезагрузке хоста или первом запуске кластера YMatrix автоматически создаются необходимые пути, от которых зависит cgroup групп ресурсов
Исправления ошибок
- Исправлены некоторые известные проблемы
6.1.1
Дата: 2024-11-19
Улучшения и доработки
- MatrixGate
- Оптимизация mxgate: поддержка настраиваемого таймаута соединения сегментов в виде GUC-параметра
- MatrixShift
- Оптимизация mxshift: при отсутствии прав используется каталог данных вместо /tmp
- mxbox
- Поддержка пользовательских несбалансированных развертываний
- MatrixUI (Документация)
- Поддержка пользовательского интерфейса для несбалансированных развертываний
6.1.0
Дата: 2024-10-31
Улучшения и доработки
-
MatrixShift
- Оптимизация mxshift: можно пропустить создание внешней таблицы при миграции данных из gp6
- Оптимизация mxshift: при автоматическом отображении типа сжатия из zlib в zstd параметр compresslevel принудительно устанавливается в 1
-
Аварийное восстановление
- Удалён неиспользуемый параметр конфигурации slot в конфигурационном файле подписчика
- Уточнено содержание журнала
Исправление ошибок
- Исправлены некоторые известные проблемы
6.0.0
Дата: 2024-10-11
Новый функционал
-
Добавлена функция потоковых вычислений (Документация)
- Поддержка расширенных вычислений по измерениям, агрегированных вычислений, многоуровневых потоковых вычислений, корреляционных вычислений между двумя потоками и т.д. (Документация)
- Поддержка различных возможностей конфигурации и управления (документация)
-
Интегрированная архитектура потоковой и пакетной обработки
- База данных объединяет преимущества потоковой и пакетной обработки, поддерживая параллельную обработку данных в реальном времени и исторических данных.
-
Добавлен кластер аварийного восстановления (Документация)
- Поддержка передачи и синхронизации данных между центрами обработки данных
- Поддержка мониторинга состояния работы кластера аварийного восстановления
- Поддержка ручного переключения резервного кластера в рабочий режим, все приложения могут быть переключены на этот кластер для нормальной работы
- Показатели аварийного восстановления для данного кластера:
- RPO (Recovery Point Objective, целевая точка восстановления)
Пользователь может указать подходящее значение, при котором целевой показатель достигается на уровне минут без влияния на производительность исходного кластера.
- RTO (Recovery Time Objective, целевое время восстановления)
Поддерживается режим горячего резерва базы данных, при котором RTO составляет от нескольких секунд до минут.
Повышение производительности
-
Повышение производительности TP
- Добавлена поддержка размера блока 8 Кб; конфигурируемый блок данных (block) составляет 8 Кб, что значительно повышает производительность при обработке транзакций с небольшими объёмами данных.
-
Улучшение хранилища MARS3
- Добавлена поддержка уникальных ключей, операций upsert и блокировок на уровне строк.
-
Улучшение векторизационного движка
- Добавлена поддержка векторизации оконных функций (Window Function).
Известные проблемы
-
При большом количестве секций запрос может вызвать нехватку памяти (OOM) в базе данных.
-
В сценарии KILL QUERY процесс восстановления может привести к сбою.