Релизы YMatrix 4

Примечания!
Экспериментальные функции — это функции, присутствующие в определённой версии, но ещё не официально выпущенные. Их синтаксис или реализация может быть изменён или удалён без предварительного уведомления. Пожалуйста, используйте их с осторожностью.

4.8.12


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

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

4.8.11


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

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

4.8.10


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

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

4.8.9


Улучшения и дополнения

Enhancements and Improvements

  1. MatrixGate:
    • Поддержка включения или отключения автоматической настройки количества слотов для указанных задач, а также поддержка запроса статуса настройки всех задач или указанных задач. (Документация)
    • Введён параметр --abort-by-pause-timeout в категории [writer.stream]. Поддерживает отказ от данных, накопленных в памяти, когда задача (Job) переходит в состояние паузы, на основе тайм-аута, указанного этим параметром. (Документация)
    • Поддержка пакетной записи данных типа JSON через HTTP. (Документация)

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

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

4.8.8


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

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

4.8.7


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

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

4.8.6


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

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

4.8.5


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

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

4.8.4


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

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

4.8.3


Выпуск функций

  1. Улучшения функциональности mxshift (документация):
    • В категорию [database.source] файла конфигурации добавлен параметр install-dir. Этот параметр заменяет исходный параметр gphome в категории [scope] и используется для настройки пути установки базы данных.
    • В категорию [database.source] файла конфигурации добавлена новая опция конфигурации hostname-to-ip, поддерживающая указание IP-адреса, соответствующего имени хоста.

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

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

4.8.2


Выпуск функций

  1. Обновление MatrixGate:
    • Поддержка наблюдения за полным процессом записи данных, используется для отладки производительности передачи данных от MatrixGate к Segment. (Документ)
    • Поддержка горячего обновления уровней логирования MatrixGate. (Документ)
    • [Экспериментальные функции] Предоставлена поддержка разбора и сопоставления данных в формате JSON для всех типов источников данных (http/stdin/kafka/transfer/grpc) в параметре --source. (Документ)
    • [Экспериментальные функции] Параметр --dml-template поддерживает прием данных в формате TEXT/CSV. (Документ)
    • После ручного переключения Master на Standby, информация метрик, записываемая в MatrixGate, будет переключена на Standby.
    • Скорость значительно увеличилась при транзакции, не выполняющей операцию записи данных.
  2. Улучшение функций mxshift (документ):
    • Реализация миграции DDL таблиц данных в единицах базы данных, с возможностью выбора миграции только DDL.
    • [Экспериментальные функции] Поддержка экспорта DDL таблиц данных в файлы.
    • [Экспериментальные функции] Поддержка прямого импорта файлов DDL таблиц данных или их модификации с последующим параллельным импортом в базу данных.
  3. Обновление графического интерфейса:
    • Страница развертывания полностью обновлена, шаги стали проще. (Документ)
    • Страница расширения полностью обновлена, шаги стали легче. (Документ)
    • Добавлена функция проверки статуса высокой доступности Segment. (Документ)
    • Обновление страницы мониторинга состояния для оптимизации внешнего вида страницы. (Документ)
    • Обновление документации для быстрого старта, добавлены страницы тестов записи и запросов. (Документ)
  4. Улучшение мониторинга:
    • Поддержка пользовательских скриптов мониторинга: позволяет пользователям изменять скрипты мониторинга при развертывании Grafana/Prometheus через mxmgr_init_local() или mxmgr_init_exporter() для самостоятельной разработки проектов мониторинга. (Документ)

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

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

4.8.1


Выпуск функций

  1. Добавлен новый диагностический инструмент хранения Datainspect. Этот инструмент доступен только для таблиц MARS2. (Документ)
  2. Улучшены функции JAVA SDK MatrixGate, значительно повышена производительность записи. (Документ)
  3. Обновление графического интерфейса:
    • На странице мониторинга запросов добавлена функция мониторинга блокирующих сеансов. (Документ)
    • Страница управления кластером полностью обновлена, разделена на три секции: просмотр показателей, просмотр экземпляров и просмотр списка. (Документ)

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

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

4.8.0


Выпуск функций

  1. Обновление MatrixGate:
    • Поддержка передачи сжатых данных ZSTD в Segment. (Документ)
    • Поддержка упрощённого кода записи данных через интегрированный JAVA SDK. (Документ)
  2. Новый графический интерфейс:
    • Интерфейс мониторинга состояния, позволяет своевременно получать письма с оповещениями, настроив свой адрес электронной почты. (Документ)
    • Функция тёплого обновления, поддерживает отдельное обновление графических интерфейсов. (Документ)
  3. mxbackup поддерживает плагин объектного хранилища S3 для загрузки данных в объектное хранилище S3. (Документ)
  4. Улучшение функций mxshift. (Документ)
  5. Добавлены инструменты сбора и упаковки журналов mxpacklogs. (Документ)
  6. Поддержка платформы Ubuntu20. (Документ)
  7. Улучшение элементов мониторинга Grafana. (Документ)

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

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

4.7.5


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

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

4.7.4


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

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

4.7.3


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

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

4.7.2


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

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

4.7.1


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

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

4.7.0


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

  1. Поддержка синтаксиса CREATE INDEX CONCURRENTLY. (Документация)
  2. Добавлен новый инструмент миграции данных — mxshift. (Документация)

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

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

4.6.1


  1. Обновление MatrixGate:
    • Для JSON-данных, подключённых через Kafka, добавлена поддержка пользовательского сопоставления полей JSON с колонками данных с помощью параметра dml-template.
    • Добавлен механизм аутентификации Kafka. Реализована поддержка SCRAM через фреймворк SASL.
  2. Исправлены известные ошибки.

4.6.0


  1. Производительность агрегирующих запросов в хранилище MARS2 значительно оптимизирована.
  2. Полное обновление графического интерфейса:
    • Обновлён внешний вид, улучшен визуальный опыт.
    • Добавлена удобная функция однократного запуска типовых бизнес-сценариев. (Документация)
    • Запись потока данных из Kafka поддерживает автоматическое создание таблиц MARS2. (Документация)
    • Добавлено расширение графического интерфейса. (Документация)
  3. Обновление MatrixGate:
    • Добавлена возможность параллельного изменения параметров записи без остановки сервиса. (Документация)
    • Добавлена возможность обновления структуры таблицы без остановки сервиса. (Документация)
    • Режим миграции больше не требует большого количества последовательных портов.
    • Поддержка вызова внутри UDF.
  4. Обновление страницы мониторинга Grafana, добавлена поддержка мониторинга данных Prometheus. (Документация)
  5. Поддержка отечественных платформ: операционная система Galaxy Kirin V10 + платформа ARM.
  6. Исправлены известные ошибки.

4.5.0


  1. Официальный выпуск движка хранения MARS2, значительная оптимизация сценария UPSERT, фоновое автоматическое сжатие, исключён процесс ротации таблиц. (Документация)
  2. Добавлен компонент статистики запросов, позволяющий отслеживать время выполнения и потребление ресурсов. (Документация)
  3. Обновление MatrixGate (документация):
    • Поддержка преобразования произвольных столбцов в timestamp.
    • Добавлена функция просмотра метрик в реальном времени и за исторический период для данных, записываемых через MatrixGate.
    • Поддержка типа boolean в операциях UPSERT.
  4. Обновление mxbench: пользователи могут гибко настраивать типы показателей, частоту сбора, долю NULL-значений, степень случайности и т.д. (Документация)
  5. Добавлена поддержка скользящего окна для потоковых вычислений, анализа и мониторинга потоковых данных, включая подписку и публикацию. (Документация)
  6. Поддержка Kubernetes: кластеры MatrixDB теперь можно развернуть на k8s. (Документация)

4.4.0


  1. Обновление MatrixGate (документация)
    • Поддержка дедупликации в операциях UPSERT.
    • Добавлены параметры --insert-timeout и --request-timeout для управления таймаутами, предотвращающими лавинообразные сбои при высокой нагрузке.
  2. Переработан процесс доступа к данным Kafka, добавлена поддержка двух форматов данных и настройка соответствия полей: CSV и JSON. (Документация)
  3. Обновление страницы автоматического управления секциями. (Документация)
  4. Оператор INSERT INTO SELECT поддерживает параллельное сканирование.
  5. Обновлена страница мониторинга Grafana: панель разделена на системную и базовую, добавлены описания на китайском языке. (Документация)
  6. PXF обновлён до версии 6.2.1, пропускная способность увеличилась в 2–5 раз при работе с большим количеством мелких файлов.

4.3.10


В версии 4.3.10 исправлены следующие ошибки:

  1. Проблема невозможности запуска зеркала после сбоя Segment.
  2. В некоторых случаях доступ UDF к каталогу приводит к сбою QD.
  3. Сбой при добавлении фильтра при доступе PXF к Hive ORC.

4.3.0


  1. Непрерывная агрегация
    • Непрерывная агрегация в режиме реального времени синхронизирует данные исходной таблицы через материализованные представления, выполняя сортировку и слияние, что делает агрегирующие запросы более эффективными. (См. Документацию)
  2. Поддержка пространственных типов данных
    • Разработана усовершенствованная версия компонента PostGIS, обеспечивающая полноценную поддержку хранения и обработки пространственных данных. (См. Документацию)
  3. Обновление MatrixGate
    • Улучшен механизм отказоустойчивости при доступе к данным: единичная ошибка формата данных не влияет на остальные данные в пакете. (См. Документацию)
    • Управление журналами MatrixGate: поддержка автоматического архивирования и очистки.
    • Добавлен режим миграции для эффективной синхронизации таблиц из других кластеров Greenplum5, Greenplum6 и YMatrix Database. (См. Документацию)
  4. Визуализация таблиц данных
    • На странице управления добавлен визуальный раздел таблиц данных, позволяющий легко просматривать состояние баз данных и таблиц кластера. (См. Документацию)
  5. Графическое управление автоматическим секционированием
    • Возможность настройки секционированных таблиц и стратегий автоматического управления через графический интерфейс. (См. Документацию)
  6. Обновление движка хранения MARS
    • tag_id поддерживает дополнительные типы данных: text, varchar, name и numeric, помимо целочисленных; поддерживается несколько ключей группировки, то есть использование нескольких столбцов в качестве tag_id.
    • Движок MARS поддерживает операцию merge scan, позволяя обновлять существующие данные через слияние.

4.2.0


  1. Оптимизация движка MARS
    • Введён интеллектуальный алгоритм сжатия, который определяет необходимость сжатия на основе типа и характеристик данных. После применения нового кодирования и сжатия объём хранилища сократился на 70%.
    • Повышена производительность запросов: для запросов, отсортированных по временным меткам, задержка сократилась в тысячи раз — с уровня секунд до миллисекунд.
    • Значительно снижено потребление памяти при выполнении запросов: использование памяти в операторе SELECT снизилось на 90%.
  2. MatrixGate поддерживает UPSERT, что актуально для следующих сценариев (см. Документацию):
    • Устройства могут повторно отправлять данные или корректировать временные метки с ошибками.
    • Пакетная отправка данных разных категорий с возможностью автоматического объединения.
  3. Поддержка слияния и сжатия при переходе между «горячими» и «холодными» уровнями: для упрощения конвертации «горячих» данных в «холодные» в секционированных таблицах возможно объединение нескольких секций. Это снижает нагрузку на управление секциями и упрощает администрирование. См. Документацию
  4. Впервые представлены инструменты параллельного резервного копирования и восстановления: YMatrix Database представляет два новых инструмента — mxbackup и mxrestore. По сравнению с pg_dump и pg_restore из PostgreSQL они поддерживают параллельную обработку и обеспечивают более высокую эффективность резервного копирования и восстановления. См. Документацию


  1. Добавлен пользовательский тип данных mxkv для хранения пар «ключ-значение», что упрощает расширение дополнительных полей и обеспечивает лучшую производительность по сравнению с типом JSON.
  2. Поддержка доступа к данным Kafka и графического интерфейса управления.
  3. Предоставлены функции автоматического управления секциями. Пользователи могут настраивать политики секционирования, а фоновые процессы автоматически выполняют управление секциями.

4.0.3


  1. Добавлена визуальная установка многомашинного кластера.
  2. Исправлена ошибка MARS при увеличении числа секций.

4.0.2


  1. Сжатие MARS включено по умолчанию.
  2. Обеспечен плавный переход файла supervisor.conf после обновления.
  3. Параллельная оптимизация gapfill.

4.0.1


  1. Исправлена ошибка, связанная с отсутствием экранирования имён столбцов в функции building_timeseries_table.
  2. Оптимизация движка MARS.

4.0.0


YMatrix Database 4.0.0 официально выпущен. Новая версия включает следующие новые функции:

  1. Движок MARS MARS — это собственный движок хранения, обладающий следующими возможностями:
    • Хранение в столбцах
    • Кодирование и сжатие данных
    • Оптимизация push-down агрегаций
    • Оптимизация сканирования без индексов

Подходит для хранения исторических «холодных» данных в сценариях работы с временными рядами, обеспечивая чрезвычайно высокую производительность агрегирующих запросов по временным меткам.

На данный момент MARS поддерживает только операции вставки, обновление и удаление не поддерживаются.

  1. Автоматическое развёртывание многонодового кластера
    На основе автоматического развёртывания однодоменного кластера YMatrix Database 3 реализовано автоматическое развёртывание многонодового кластера. Включает:
    • Добавление узлов кластера
    • Настройку количества сегментов на каждом узле
    • Настройку включения автоматического зеркалирования данных

Развёртывание кластера занимает менее 5 минут.

Подробности см. в Развертывание кластера YMatrix Database 4. 3. UDF для горячего и холодного хранения Для упрощения создания секций для таблиц временных рядов, управления ими и конвертации «горячих» и «холодных» данных реализован полный набор интерфейсов управления: создание шаблонов секций, создание секций, замена «горячих» и «холодных» секций.

Подробности см. в Горячее и холодное раздельное хранение.

  1. time_bucket_gapfill
    В компоненте временных рядов MatrixTS добавлена функция time_bucket_gapfill, основанная на time_bucket. Позволяет заполнять пропущенные временные интервалы по заданным правилам.

Поддерживаются два правила заполнения:

  • locf: заполнение значениями, которые встречались ранее в группе агрегации.
  • interpolate: линейная интерполяция пропущенных значений.