Release notes

Содержание раздела
  1. Версия 6.6 (04.10.2023)
    1. Новая функциональность
    2. Изменения
    3. Исправления
    4. Известные проблемы
    5. Новая функциональность, изменения и исправления связанных компонентов
  2. Версия 6.5 (11.08.2023)
    1. Новая функциональность
    2. Изменения
    3. Исправления
    4. Известные проблемы
    5. Новая функциональность, изменения и исправления связанных компонентов
  3. Версия 6.4 (31.05.2023)
    1. Новая функциональность
    2. Изменения
    3. Известные проблемы
  4. Версия 6.3 (04.04.2023)
    1. Новая функциональность
    2. Изменения
    3. Исправления
    4. Известные проблемы
    5. Особенности миграции
  5. Версия 6.2.1 (03.03.2023)
  6. Версия 6.2 (14.02.2023)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  7. Версия 6.1.1 (13.01.2023)
  8. Версия 6.1 (21.12.2022)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  9. Версия 6.0 (31.10.2022)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  10. Известные проблемы
  11. Версия 5.8 (25.08.2022)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  12. Известные проблемы
  13. Версия 5.7 (23.06.2022)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  14. Версия 5.6.1 (07.06.2022)
  15. Версия 5.6 (19.05.2022)
    1. Новая функциональность
    2. Изменения
    3. Исправления
    4. Известные проблемы
  16. Версия 5.5 (06.04.2022)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  17. Версия 5.4 (21.02.2022)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  18. Версия 5.3 (14.01.2022)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  19. Версия 5.2 (26.10.2021)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  20. Версия 5.1 (27.08.2021)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  21. Версия 5.0 (12.08.2021)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  22. Версия 4.1 (26.07.2021)
    1. Новая функциональность
    2. Изменения
  23. Версия 4.0 (12.07.2021)
    1. Новая функциональность
    2. Изменения
    3. Исправления
  24. Версия 3.7.3 (30.06.2021)
    1. Новая функциональность
    2. Изменения

Версия 6.6 (04.10.2023)

Новая функциональность

  • Асинхронные запросы по REST API.
  • Прокси-таблицы.
  • Запрос CREATE PROXY TABLE.
  • Удаление записей из всех задействованных партиций запросом DELETE к партиционированной таблице.
  • INSERT SELECT FROM external_table:
    • загрузка данных с применением WHERE, LIMIT и/или OFFSET;
    • ключевое слово RETRY.
  • Метод setMaxRows в JDBC-интерфейсе Statement.

Изменения

  • Синтаксис запросов:
    • Запрос CREATE TABLE расширен ключевым словом OPTIONS.
    • Запросы GET_DELTA_* расширены параметром, задающим имя логической базы данных.
    • Запрос RECOVER_DATASOURCE расширен параметром, задающим количество восстанавливаемых операций записи за один проход.
  • REST API:
    • Добавлены методы управления асинхронными операциями.
    • Тело запроса query расширено опциональным флагом async.
    • Список кодов ответа расширен кодом 404.
  • Конфигурация:
    • Значение параметра конфигурации ADB_MPPW_FDW_TIMEOUT_MS увеличено до 1200.
    • Удалена неиспользуемая секция параметров core:plugins:category:autoSelect.
  • Компоненты:
    • Функции сервиса мониторинга статусов Kafka (status monitor) включены в состав сервиса исполнения запросов (query execution core).
    • Оптимизирована загрузка данных в партиции с помощью коннектора Kafka Jet writer.
  • Добавлено ограничение на одновременную запись данных в партиционированную таблицу и ее партиции.
  • Отключен неиспользуемый механизм определения подкатегории запроса на основе количества задействованных узлов.
  • Системное представление information_schema.tables расширено столбцом definition.
  • Набор возможных типов физических таблиц расширен новым типом — таблицей, соответствующей прокси-таблице.
  • В список зарезервированных слов добавлены proxy и sys_<any_string>.

Исправления

  • Запуск без брокера сообщений Kafka.
  • Переподключение к ZooKeeper при потере соединения.
  • Обращение к сущностям информационной схемы с именами, начинающимися на SYS.

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

  • В версиях 6.6 и ниже недоступна одновременная загрузка данных из одного топика Kafka в разные таблицы ADG.

Новая функциональность, изменения и исправления связанных компонентов

Версия 6.5 (11.08.2023)

Новая функциональность

  • Восстановление датасорсов с помощью запросов:
    • DISABLE_DATASOURCE,
    • ENABLE_DATASOURCE,
    • RECOVER_DATASOURCE.
  • Материализованные представления на основе партиционированных таблиц.
  • Загрузка данных из Kafka с помощью внешних readable-таблиц.
  • Поддержка кластера коннекторов Kafka-Postgres reader и Kafka-Postgres writer.

Изменения

Конфигурация:

  • Увеличено значение параметра ADB_MPPW_DEFAULT_MESSAGE_LIMIT.
  • Добавлены секции параметров core.jet, core.kafka.consumer и springdoc.
  • Для параметров загрузки и выгрузки из ADP добавлена поддержка списка из нескольких коннекторов.

REST API:

  • Запрос метода /datamarts[/{datamart}]/query расширен опциональным параметром maxRowsToRead.
  • Ответ метода /datamarts/{datamart}/entities/{entity} расширен опциональным параметром lastCn.
  • Ответ метода /versions расширен строкой с версией коннектора Kafka Jet writer.

Другие изменения:

  • Запрос CREATE READABLE EXTERNAL TABLE расширен ключевым словом FORMAT и параметрами ключевого слова OPTIONS.
  • Запрос INSERT SELECT FROM external_table расширен поддержкой внешних readable-таблиц.
  • Ответ COMMIT DELTA расширен полями delta_num, cn_from и cn_to.
  • Ответ CHECK_VERSIONS расширен строкой с версией коннектора Kafka Jet writer.
  • Для СУБД ADB и ADP изменен формат имен индексов первичных ключей.
  • Отмена операции загрузки данных расширена проверкой на остановку загрузки из Kafka.

Исправления

  • Конфликт номеров операций записи при одновременном закрытии дельты и выполнении операции вне дельты.
  • Ошибка в SELECT-запросах с WITH в подзапросе.
  • Ошибка в ADQM при выполнении ALTER TABLE RENAME.
  • Переименование индексов физических таблиц в ADB и ADP при выполнении ALTER TABLE RENAME.

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

  • В версиях 6.5 и ниже недоступна одновременная загрузка данных из одного топика Kafka в разные таблицы ADG.

Новая функциональность, изменения и исправления связанных компонентов

Версия 6.4 (31.05.2023)

Новая функциональность

  • Разграничение доступа по ролям.
  • Партиционирование данных в СУБД ADP.
  • Логирование IP-адресов отправителей запросов.

Изменения

  • В конфигурацию добавлен параметр CORE_DEFAULT_ROLES.

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

  • В версиях 6.4 и ниже недоступна одновременная загрузка данных из одного топика Kafka в разные таблицы ADG.

Версия 6.3 (04.04.2023)

Новая функциональность

  • Retention-правила.
  • Аутентификация по JWT.
  • Материализованные представления ADP -> ADG.
  • REST-метод /swagger-ui.
  • Запросы:
    • CHECK_JWKS,
    • ALTER TABLE ADD RETENTION,
    • ALTER TABLE DROP RETENTION.

Изменения

  • Синтаксис CREATE TABLE расширен ключевым словом RETENTION.
  • Ответ GET_ENTITY_DDL расширен информацией о retention-правилах.
  • В запросы REST API добавлен заголовок Authorization.
  • В ответах REST API изменен формат метаданных логических сущностей.
  • Физическая схема данных расширена таблицами <table_name>_history_<source>.
  • JSON-логи расширены идентификаторами владельцев JWT.
  • Для ADB и ADP добавлен индекс на столбец sys_to физических таблиц *_actual.
  • Для ADB изменен алгоритм обработки запросов с Round Robin на очередь.

Конфигурация:

  • добавлена секция datacooling;
  • добавлен параметр AUTH_JWKS_URI;
  • изменено значение параметра ZOOKEEPER_DS_OPTIMISTIC_RETRY_COUNT: 5 -> 20.

Исправления

  • ALTER TABLE ADD/RENAME/DROP COLUMN и ALTER TABLE RENAME с ключевым словом IF EXISTS/IF NOT EXISTS.

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

  • В версиях 6.3 и ниже недоступна одновременная загрузка данных из одного топика Kafka в разные таблицы ADG.

Особенности миграции

  • Перед миграцией на версию 6.3 необходимо выключить все ноды Prostore.

Версия 6.2.1 (03.03.2023)

  • Исправлена ошибка при старте системы, связанная с JSON-логированием.

Версия 6.2 (14.02.2023)

Новая функциональность

  • COMMIT DELTA IMMEDIATE.
  • WITH в SELECT-запросах и подзапросах.
  • SELECT-запросы и подзапросы без FROM для ADB, ADP и ADQM.
  • Материализованные представления ADP_n -> ADP_n и ADP_n -> ADP_m.
  • INSERT SELECT ADP_n -> ADP_m.
  • Поддержка внешних таблиц в запросе GET_ENTITY_DDL и API-методе /datamarts/{datamart}/entities/{entity}/ddl.
  • Ключевое слово IF NOT EXISTS в запросах:
    • CREATE DATABASE,
    • CREATE TABLE,
    • CREATE MATERIALIZED VIEW,
    • CREATE DOWNLOAD EXTERNAL TABLE,
    • CREATE UPLOAD EXTERNAL TABLE,
    • CREATE WRITABLE EXTERNAL TABLE,
    • CREATE READABLE EXTERNAL TABLE.
  • Ключевое слово IF EXISTS в запросах:
    • DROP DATABASE,
    • ALTER VIEW,
    • DROP VIEW,
    • DROP DOWNLOAD EXTERNAL TABLE,
    • DROP UPLOAD EXTERNAL TABLE,
    • DROP WRITABLE EXTERNAL TABLE,
    • DROP READABLE EXTERNAL TABLE.
  • INSERT INTO download_external_table как подготовленный запрос (prepared statement).

Изменения

  • Для CREATE READABLE/WRITABLE EXTERNAL TABLE ключевые слова PRIMARY KEY и DISTRIBUTED BY стали опциональными при размещении standalone-таблиц в ADB или ADP.
  • В ответах GET_CHANGES и GET_ENTITY_DDL унифицированы имена датасорсов.
  • В SELECT-запросах изменен порядок следования OFFSET и FETCH.
  • Добавлен параметр конфигурации ZOOKEEPER_DS_MAX_SEQUENCE_SIZE.
  • Для ADB и ADP добавлена поддержка аутентификации SCRAM-SHA-256.
  • В логи добавлен текст ошибки ADB.

Исправления

  • Исправлена ошибка, приводившая в некоторых случаях к утечке памяти при загрузке данных в ADP.

Версия 6.1.1 (13.01.2023)

  • Исправлена ошибка, возникавшая при загрузке данных в ADB.

Версия 6.1 (21.12.2022)

Новая функциональность

  • REST API.
  • INSERT SELECT ADB -> ADP.
  • TRUNCATE ACTUAL и ERASE DELTA для ADG.

Изменения

  • В ответ CHECK_MATERIALIZED_VIEW добавлен столбец is_sync_lock_exists; из ответа удален столбец sync_period.
  • В ответ CHECK_VERSIONS добавлена строка с версией REST API.
  • В ответы GET_ENTITY_DDL, CHECK_MATERIALIZED_VIEW, GET_CHANGES и GET_WRITE_OPERATIONS добавлена поддержка переносов строк.
  • В ответе SELECT... ESTIMATE_ONLY в текст обогащенного запроса добавлены символы \n.
  • Для ROLLBACK DELTA удалены ограничение на отмену повторных изменений в ADG и необходимость повторения запроса.
  • Для GET_ENTITY_STATISTICS оптимизирован алгоритм расчета ROWS_COUNT и ROWS_COUNT_DELTA, и хранение этих значений перенесено в Zookeeper.
  • Для SELECT, INSERT SELECT и DELETE удалено ограничение на символы переноса в условии WHERE.
  • Для CHECK_SUM удалено ограничение на количество столбцов в запросе.
  • Для TRUNCATE ACTUAL и ERASE DELTA снято ограничение на удаление изменений, внесенных отдельными операциями записи.
  • Добавлена поддержка параметра конфигурации ADG_CONSUMER_GROUP.
  • Добавлены параметры конфигурации ZOOKEEPER_DS_CONNECTION_RETRY_COUNT и ZOOKEEPER_DS_OPTIMISTIC_RETRY_COUNT.
  • Для функции TIMESTAMPDIFF изменен расчет разницы между указанными метками времени.
  • Изменена обработка escape-последовательностей в запросах.

Логи:

  • Для JSON-логов добавлена поддержка идентификаторов REST-запросов.
  • Логи расширены информацией о задействованных датасорсах.
  • Из JDBC-драйвера удален Logback.xml.

Исправления

  • Потеря соединения с Zookeeper.
  • GET_ENTITY_STATISTICS для логических таблиц, созданных с указанием LOGICAL_ONLY.
  • Разница в работе функции TIMESTAMP_DIFF для разных СУБД.
  • Ошибка инициализации ADB.
  • ROLLBACK DELTA для дельты, открытой после отдельной операции записи.
  • Сравнение в условии WHERE со строковой константой, содержащей символы новой строки.
  • Формат даты, времени и метки в ответе GET_WRITE_OPERATIONS.

Версия 6.0 (31.10.2022)

Новая функциональность

  • Поддержка нескольких СУБД одного типа.
  • Загрузка и обновление данных без открытия дельты.
  • Запросы:
    • ALTER TABLE RENAME,
    • ALTER TABLE ADD COLUMN,
    • ALTER TABLE RENAME COLUMN,
    • ALTER TABLE DROP COLUMN.
  • Функции TIMESTAMPADD и TIMESTAMPDIFF.
  • Выражения для логических таблиц:
    • FOR SYSTEM_TIME AS OF CN sys_cn,
    • FOR SYSTEM_TIME STARTED CN (sys_cn1, sys_cn2),
    • FOR SYSTEM_TIME FINISHED CN (sys_cn1, sys_cn2).
  • JVM-метрики.
  • Расчет контрольной суммы в горячей дельте с помощью CHECK_SUM и CHECK_SUM_SNAPSHOT.

Изменения

  • Для ERASE DELTA добавлено ограничение, что перед дельтой не должно быть отдельных операций записи.
  • Для ERASE DELTA удалена поддержка метки времени.
  • Для ROLLBACK DELTA добавлено ограничение на отмену повторных изменений операции в ADG.
  • Для TRUNCATE ACTUAL удалено ограничение на логические таблицы, связанные с несинхронизированными материализованными представлениями.
  • Для DDL- и SELECT-запросов унифицированы значения DATASOURCE_TYPE.
  • В ответ CHECK_VERSIONS добавлены имена датасорсов.
  • В ответы запросов загрузки и обновления данных добавлен номер операции записи.
  • В ответе SELECT... ESTIMATE_ONLY переименован параметр plugin -> datasource.
  • В ответе CHECK_DATA изменены формулировки про расхождения в данных.
  • Для CHECK_DATA изменена проверка без столбцов.
  • Для ADB и ADP расширена поддержка функций CURRENT_DATE, CURRENT_TIME и CURRENT_TIMESTAMP.

Конфигурация:

  • добавлен параметр PROMETHEUS_ENABLED;
  • добавлены параметры name и env в секцию datasource;
  • удален параметр ADB_WITH_HISTORY_TABLE;
  • удалена секция circuitbreaker для ADG;
  • заменены секции tarantool и db -> datasource для ADG;
  • секция datasource превращена в массив элементов.

Логические типы данных:

  • для типа BIGINT добавлен алиас INT64,
  • тип INT32 переименован в INTEGER и для него добавлен алиас INT32,
  • тип INT больше не используется.

Исправления

  • RESET_STATISTICS без параметров.
  • Количество запросов чтения в GET_ENTITY_STATISTICS для логических представлений на основе COUNT.
  • SELECT-запросы без алиасов логических представлений.
  • RETRY DELETE для ADG.
  • Значения sys_close_date в ADQM для дат в далеком будущем.
  • Обновленные записи в материализованных представлениях.
  • Признак nullable-столбца, возвращаемый по JDBC.

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

  • В условии WHERE запросов SELECT, INSERT SELECT и DELETE недоступно сравнение со строковыми константами, содержащими переносы строки.
  • В запросе CHECK_SUM недоступен расчет контрольной суммы для более чем 50 столбцов.

Версия 5.8 (25.08.2022)

Новая функциональность

  • Запросы RESET_STATISTICS и SYNC.
  • Загружаемый тип данных uuid.

Изменения

  • Для ROLLBACK DELTA добавлено ограничение на параллельное выполнение запросов.
  • Для CHECK_SUM добавлено ограничение на расчет контрольной суммы в открытой дельте.
  • Для SELECT-запросов удалена поддержка COLLATE.
  • Добавлено ограничение на символы в алиасах сущностей и столбцов.
  • В ответ GET_ENTITY_STATISTICS добавлены параметры ROWS_COUNT и ROWS_COUNT_DELTA.
  • Добавлены параметры конфигурации: CORE_STATISTICS_DATA_COUNT_ENABLED, TARANTOOL_QUERY_REST_ENDPOINT и DTM_DELTA_WATCHER_POOL_SIZE

Для ADG добавлена поддержка:

  • INSERT VALUES, INSERT SELECT, DELETE и CHECK_SUM_SNAPSHOT;
  • CHECK_SUM для логических представлений на основе на данных ADG;
  • readable- и writable-таблиц без поля bucket_id.

Для ADG удалена поддержка:

  • NATURAL JOIN, RIGHT JOIN, LEFT JOIN, FULL JOIN и CROSS JOIN;
  • LIMIT и OFFSET;
  • функций и арифметических операторов.

Исправления

  • Приведение к JDBC-типу в SELECT-запросах к внешним readable-таблицам.
  • Кэш материализованного представления.
  • Верхний регистр в значении параметра LOCATION внешней readable-таблицы.
  • Ответ CHECK_VERSIONS при сбое компонента.

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

  • Материализованные представления на основе одной логической таблицы без группировки и агрегации данных доступны, только если таблица и представление расположены в одной логической БД.

Версия 5.7 (23.06.2022)

Новая функциональность

  • Запросы:
    • TRUNCATE ACTUAL,
    • ERASE DELTA,
    • GET_ENTITY_STATISTICS.
  • Материализованные представления ADB -> ADP.
  • Очередь DDL-запросов.

Изменения

  • Журнал расширен отмененными DDL-операциями.
  • Синтаксис GET_CHANGES расширен флагом для вывода отмененных операций.
  • Для SELECT-запросов изменен порядок выбора записей с FOR SYSTEM_TIME.

Конфигурация:

  • для параметра DTM_METRICS_SCOPE удалено значение requests;
  • секция metrics заменена на секцию statistics;
  • добавлен параметр ADP_POOL_REQUEST_TIMEOUT.

Исправления

  • Выбор устаревших данных.
  • Переключение между нодами ADQM при выполнении одной операции записи.
  • Валидация LOCATION в CREATE READABLE EXTERNAL TABLE и CREATE WRITABLE EXTERNAL TABLE.
  • Синхронизация материализованных представлений с логическими БД, чьи дельты закрыты с будущими датой и временем.
  • Ошибка ERASE_CHANGE_OPERATION is not an EDDL statement в ERASE_CHANGE_OPERATION.
  • Приведение BOOLEAN-значения к JDBC-типу в запросах INSERT INTO для ADQM.
  • Блокировка DDL-операций после выполнения DROP TABLE с указанием несуществующей СУБД.
  • SELECT-запросы с FOR SYSTEM_TIME STARTED IN и FOR SYSTEM_TIME FINISHED IN к standalone-таблицам.

Версия 5.6.1 (07.06.2022)

  • Добавлен параметр конфигурации CORE_DDL_QUEUE_ENABLED.

Версия 5.6 (19.05.2022)

Новая функциональность

  • Материализованные представления на основе таблиц из разных логических БД.
  • Ключевое слово LISTAGG в SELECT-запросах к ADB и ADP.
  • Расчет контрольной суммы для логических представлений с помощью CHECK_SUM и CHECK_SUM_SNAPSHOT.

Изменения

  • Добавлен параметр конфигурации ADB_MPPR_BUFFER_SIZE.
  • Синтаксис CHECK_SUM_SNAPSHOT расширен меткой времени.
  • Для DELETE добавлена поддержка подзапросов и JOIN-соединений в условии WHERE.
  • Для SELECT-запросов изменен порядок выбора записей с FOR SYSTEM_TIME STARTED/FINISHED IN.
  • Добавлено ограничение на имена столбцов логических таблиц и материализованных представлений, начинающиеся со служебных слов.

Исправления

  • INSERT SELECT с подзапросом, содержащим CURRENT_DATE, CURRENT_TIME или CURRENT_TIMESTAMP и DATASOURCE_TYPE = 'ADB'.
  • FOR SYSTEM_TIME для логических представлений.
  • DELETE в ADQM.
  • DELETE с алиасом в подзапросе.
  • ERASE_WRITE_OPERATION для отменяемых операций загрузки данных.
  • Дубликаты записей при выполнении INSERT VALUES в ADQM.
  • Материализованные представления, связанные с логическими таблицами в других логических БД.

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

  • Есть небольшая вероятность кэширования шаблона запроса предыдущей дельты.

Версия 5.5 (06.04.2022)

Новая функциональность

  • Поддержка standalone-таблиц.
  • Запросы:
    • CREATE WRITABLE EXTERNAL TABLE,
    • DROP WRITABLE EXTERNAL TABLE,
    • CREATE READABLE EXTERNAL TABLE,
    • DROP READABLE EXTERNAL TABLE,
    • ERASE_CHANGE_OPERATION,
    • ERASE_WRITE_OPERATION.
  • Ключевое слово RETRY для перезапуска операций по обновлению данных.

Изменения

  • Синтаксис CREATE UPLOAD EXTERNAL TABLE расширен ключевым словом OPTIONS.
  • Добавлены параметры конфигурации TARANTOOL_DB_SYNC_BUFFER_SIZE и ADQM_BUFFER_SIZE.

Исправления

  • DROP TABLE с указанием СУБД.
  • Формат поля changeDateTime в системной топике Kafka.
  • Порядок столбцов ключей шардирования в INFORMATION_SCHEMA.
  • DROP TABLE и DROP MATERIALIZED VIEW для сущностей неподходящих типов.

Версия 5.4 (21.02.2022)

Новая функциональность

  • Запросы UPSERT VALUES и CHECK_SUM_SNAPSHOT.

Изменения

  • Изменено начало строки подключения: jdbc:adtm -> jdbc:prostore.
  • Переименованы запросы: UPSERT VALUES -> INSERT VALUES, UPSERT SELECT -> INSERT SELECT.
  • Добавлено ограничение на символы в именах логических сущностей и их столбцов.

Конфигурация:

  • добавлен параметр KAFKA_STATUS_EVENT_TOPIC;
  • значение параметра ADQM_DB_NAME изменено на default, параметра ADQM_CLUSTER — на default_cluster;
  • значения параметра ADQM_SHARDING_EXPR изменены: cityHash64 -> CITY_HASH_64, intAdd -> INT_ADD;
  • изменено начало путей во всех вхождениях: io.arenadata -> ru.datamart.

Исправления

  • Приведение INT-BOOLEAN в JOIN-соединениях запроса CREATE MATERIALIZED VIEW.
  • Возможность создания нескольких дельт в одну секунду.
  • GET_ENTITY_DDL для системных представлений INFORMATION_SCHEMA.
  • Агрегация данных с помощью COUNT в запросах на выгрузку из ADQM.
  • Тип данных UUID в условии типа WHERE uuid_col IN ('uuid_value').
  • Обработка некорректного имени поля в топике Kafka.
  • Агрегационные запросы к логическим таблицам, размещенным в ADQM и имеющим первичный ключ типа UUID.
  • Ошибка при определении категории и подкатегории SELECT-запроса.
  • JDBC-сериализация значений NULL.
  • Ответ GET_CHANGES при отсутствии журнала.

Версия 5.3 (14.01.2022)

Новая функциональность

  • Материализованные представления ADB -> ADQM.
  • UPSERT SELECT ADB -> ADQM.
  • Запросы:
    • CHECK_MATERIALIZED_VIEW,
    • DENY_CHANGES,
    • ALLOW_CHANGES,
    • GET_CHANGES,
    • GET_ENTITY_DDL.
  • Журнал DDL-операций.
  • Выбор оптимальной СУБД хранилища для выгрузки данных.
  • Перезапуск незавершенных операций по обновлению данных.

Изменения

  • Для ключей шардирования логических таблиц удалено требование на столбцы целочисленного типа.
  • Системное представление tables расширено новым типом сущности — MATERIALIZED VIEW.

Конфигурация:

  • добавлены параметры ADQM_SHARDING_EXPR и ADB_MPPW_USE_ADVANCED_CONNECTOR;
  • удален параметр EDML_DATASOURCE;
  • изменен путь до параметра ADB_WITH_HISTORY_TABLE: adb:mppw:with-history-table -> adb:with-history-table;
  • из пути до параметров ADG_MAX_MSG_PER_PARTITION и ADG_CB_FUNC_IDLE удалена секция kafka.

Исправления

  • SELECT-запросы:
    • обработка IN;
    • сравнение с константами в условии WHERE;
    • разница в количестве параметров между запросом и шаблоном;
    • LIMIT в подзапросах;
    • дублирование алиаса сущности в подзапросе;
    • запрос с ключевым словом ORDER BY, указанным после DATASOURCE_TYPE.
  • Подготовленный запрос (prepared statement) с динамическими и статическими типами данных.
  • Дублирование параметров в CONFIG_SHOW.
  • Создание логического представления с DATASOURCE_TYPE.
  • Пересоздание материализованного представления с тем же именем.
  • Ошибка инициализации при наличии в хранилище только СУБД ADP.
  • Ответ GET_WRITE_OPERATIONS для UPSERT VALUES.
  • UPSERT SELECT без списка столбцов целевой таблицы.
  • ADQM:
    • первичные ключи с типом DATE;
    • записи горячей дельты в материализованных представлениях;
    • исторические записи после UPSERT VALUES;
    • RESUME_WRITE_OPERATIONS и CHECK_TABLE.

Версия 5.2 (26.10.2021)

Новая функциональность

  • Запросы:
    • UPSERT VALUES,
    • UPSERT SELECT,
    • DELETE,
    • CONFIG_SHOW,
    • GET_WRITE_OPERATIONS,
    • RESUME_WRITE_OPERATION.
  • Ключевое слово COLLATE в SELECT-запросах к ADG.
  • Выгрузка данных из материализованных представлений.
  • Маршрутизация на основе набора целевых узлов кластера.

Изменения

  • Для INFORMATION_SCHEMA добавлено ограничение на DDL-запросы.
  • Для ROLLBACK DELTA изменен перечень отменяемых операций.

Конфигурация:

  • добавлены параметры AUTO_RESTORE_STATE, ADB_MAX_RECONNECTIONS, ADB_QUERIES_BY_CONNECT_LIMIT и ADB_RECONNECTION_INTERVAL;
  • добавлена секция autoSelect;
  • удален параметр CORE_TIME_ZONE;
  • изменен путь к параметру DTM_METRICS_PORT: management.server.port -> server.port;
  • изменен путь к параметру DTM_CORE_METRICS_ENABLED: core.metrics.isEnabled -> core.metrics.еnabled.

Исправления

  • Микросекунды в условии WHERE в SELECT-запросах.
  • RIGHT JOIN со значениями NULL в запросах на выгрузку данных.
  • Кириллица в условии WHERE запросов CREATE VIEW/ALTER VIEW.

Версия 5.1 (27.08.2021)

Новая функциональность

  • Ключевое слово ESTIMATE_ONLY в SELECT-запросах.
  • Ключевое слово LOGICAL_ONLY в запросах на создание и удаление логической БД, логической таблицы и материализованного представления.

Изменения

  • Для CHECK_DATA и CHECK_SUM добавлен коэффициент нормализации и изменен расчет контрольных сумм.
  • Добавлен параметр конфигурации DTM_VERTX_BLOCKING_STACKTRACE_TIME.

Исправления

  • Имена и размер логических типов данных CHAR и UUID в INFORMATION_SCHEMA.
  • Выгрузка данных с LIMIT.
  • Обогащение запроса на чтение данных для ADQM.
  • JOIN в запросах на чтение данных для ADQM.
  • Запрос CONFIG_STORAGE_ADD.
  • Календарь в JDBC-методах getDate, getTime и getTimestamp.
  • Обновление столбца table_datasource_type в системном представлении INFORMATION_SCHEMA.TABLES.
  • Назначение категории «Другой запрос» (Undefined) для SELECT-запросов.

Версия 5.0 (12.08.2021)

Новая функциональность

  • Поддержка СУБД хранилища нового типа — ADP (на основе PostgreSQL).
  • Выгрузка данных из указанной СУБД хранилища.
  • Расчет контрольной суммы для материализованного представления с помощью CHECK_SUM.

Изменения

  • В системное представление tables добавлен столбец table_datasource_type.

Конфигурация:

  • добавлены параметры для управления СУБД ADP, а также ADB_PREPARED_CACHE_MAX_SIZE, ADB_PREPARED_CACHE_SQL_LIMIT, ADB_PREPARED_CACHE и DTM_LOGGING_LEVEL;
  • значения параметров расширены значением ADP: CORE_PLUGINS_ACTIVE, DTM_CORE_PLUGINS_RELATIONAL, DTM_CORE_PLUGINS_ANALYTICAL, DTM_CORE_PLUGINS_DICTIONARY, DTM_CORE_PLUGINS_UNDEFINED;
  • IP-адреса заменены на localhost.

Исправления

  • Ключевое слово IN с количеством элементов более 20.

Версия 4.1 (26.07.2021)

Новая функциональность

  • Ключевые слова OFFSET и FETCH NEXT <N> ROWS ONLY в SELECT-запросах.

Изменения

  • Для ROLLBACK DELTA расширен список отменяемых операций.

Конфигурация:

  • значение параметра ADB_EXECUTORS_COUNT изменено с 20 на 3, параметра ADB_MAX_POOL_SIZE — с 5 на 3;
  • добавлен параметр DELTA_ROLLBACK_STATUS_CALLS_MS.

Версия 4.0 (12.07.2021)

Новая функциональность

  • Материализованные представления ADB -> ADG.

Изменения

  • Добавлены параметры конфигурации: MATERIALIZED_VIEWS_SYNC_PERIOD_MS, MATERIALIZED_VIEWS_RETRY_COUNT и MATERIALIZED_VIEWS_RETRY_COUNT.

Исправления

  • Ошибка FDW server already exists при загрузке данных.
  • Метаданные, возвращаемые для логических типов LINK и UUID.
  • SELECT-запросы с COUNT и LIMIT/FETCH NEXT N ROWS ONLY.
  • Загрузка данных в логические таблицы, размещенные в ADQM и имеющие первичный ключ типа INT32.

Версия 3.7.3 (30.06.2021)

Новая функциональность

  • Запрос ROLLBACK CRASHED_WRITE_OPERATIONS.

Изменения

Конфигурация:

  • добавлены параметры: DTM_CORE_WORKER_POOL_SIZE, DTM_CORE_EVENT_LOOP_POOL_SIZE и ADB_EXECUTORS_COUNT;
  • изменен путь к параметру ADB_MAX_POOL_SIZE: adb.maxSize -> adb.poolSize.

Table of contents