Release notes
Содержание раздела
- Версия 6.8.1 (21.02.2024)
- Версия 6.8 (13.02.2024)
- Версия 6.7 (22.11.2023)
- Версия 6.6 (04.10.2023)
- Версия 6.5 (11.08.2023)
- Версия 6.4 (31.05.2023)
- Версия 6.3 (04.04.2023)
- Версия 6.2.1 (03.03.2023)
- Версия 6.2 (14.02.2023)
- Версия 6.1.1 (13.01.2023)
- Версия 6.1 (21.12.2022)
- Версия 6.0 (31.10.2022)
- Известные проблемы
- Версия 5.8 (25.08.2022)
- Известные проблемы
- Версия 5.7 (23.06.2022)
- Версия 5.6.1 (07.06.2022)
- Версия 5.6 (19.05.2022)
- Версия 5.5 (06.04.2022)
- Версия 5.4 (21.02.2022)
- Версия 5.3 (14.01.2022)
- Версия 5.2 (26.10.2021)
- Версия 5.1 (27.08.2021)
- Версия 5.0 (12.08.2021)
- Версия 4.1 (26.07.2021)
- Версия 4.0 (12.07.2021)
- Версия 3.7.3 (30.06.2021)
Даунгрейд на более старую версию Prostore не поддерживается.
Допустимо объединять в кластер только одинаковые версии Prostore.
Версия 6.8.1 (21.02.2024)
- Исправлена ошибка, возникавшая при исполнении SELECT-запросов с выражением
FOR SYSTEM_TIME STARTED/FINISHEDдля standalone-таблиц с помощью preparedStatement (включая параметризованный запрос REST API).
Версия 6.8 (13.02.2024)
Новая функциональность
- Запросы:
CREATE INDEX,DROP INDEX,GET_INDEXES.
- Режим работы кластера с автоматически выбираемым лидером.
INSERT SELECTADP → ADG.- Материализованные представления с источником и приемником в одном датасорсе.
- Чтение и выгрузка данных из всех задействованных партиций партиционированной таблицы.
Изменения
Формат запросов:
- Для запроса
CREATE MATERIALIZED VIEWдобавлена возможность не указывать ключевое словоDATASOURCE_TYPEс датасорсом-источником.
Формат ответов:
- Ответы запросов на загрузку и обновление данных расширены столбцом
rowsAffected. - Массив в столбце
write_op_finishedответаGET_DELTA_HOTрасширен атрибутомrowsAffected. - Ответ SELECT-запроса с ключевым словом
ESTIMATE_ONLYрасширен и теперь может содержать несколько строк — по количеству задействованных датасорсов.
REST API:
- Массив
delta_hot.writeOperationsFinished.cnListв ответах методов, возвращающих информацию об открытой дельте, расширен свойствомrowsAffected. - В ответы методов, возвращающих информацию о сущностях, добавлен массив
materializedCnList.
Сигнальный топик Kafka:
- Формат даты и времени в поле
datetimeключа сообщения расширен и теперь может содержать от 0 до 6 знаков долей секунды. - Для событий
DATAMART_SCHEMA_CHANGEDв сигнальном топике Kafka расширен список полей и добавлена поддержка внешних таблиц. - Для событий
WRITE_OKв сигнальном топике Kafka добавлена регистрация количества затронутых строк таблицы в полеrowsAffected.
Конфигурация:
- Добавлен параметр
KAFKA_STATUS_EVENT_EXTERNAL_DDL_ENABLED. - Добавлены секции параметров
pnodeиwebclient. - Удалены параметры
ADG_WEB_CLIENT_MAX_POOL_SIZEиADQM_WEB_CLIENT_MAX_POOL_SIZE.
ROLLBACK DELTA:
- Для
ROLLBACK DELTAдобавлена возможность откатывать дельту при наличии незавершенных операций записи, начатых до открытой дельты. - Для
ROLLBACK DELTAдобавлена блокировка новых операций записи во время отката дельты.
Другие изменения:
- Изменен порядок запуска некоторых процессов в кластере: теперь в режиме работы кластера, действующем по умолчанию, синхронизацией материализованных представлений и расчетом значения
ROWS_COUNTв статистике занимается только нода-лидер. - Для команд
RESUME_WRITE_OPERATION,ROLLBACK CRASHED_WRITE_OPERATIONS,ERASE_WRITE_OPERATIONиROLLBACK DELTAдобавлена возможность прерывать выполняемые операции загрузки данных в СУБД ADB. - Для команд
ALTER TABLE ...добавлена возможность изменять логические таблицы при наличии в них завершенных операций записи, выполненных в открытой дельте. - Команды
ENABLE_DATASOURCE,DISABLE_DATASOURCEиDROP DATABASEрасширены механизмом, повторяющим попытку обновления динамической конфигурации в ZooKeeper в случае внутренней ошибки. - Команда
ERASE DELTAрасширена механизмом, перезапускающим синхронизацию материализованных представлений, которые принадлежат целевой логической БД, но построены на данных других логических БД, начиная с нулевой дельты. - Лог-сообщения по обработке данных согласно retention-правилам расширены идентификаторами незавершенных операций записи, препятствующих запуску retention-правил.
- Для функции, вычисляющей контрольную сумму в командах
CHECK_DATA,CHECK_SUMиCHECK_SUM_SNAPSHOT, удалено свойствоLEAKPROOF. - Изменен текст ошибки для запросов вида
<таблица,_не_существующая_в_датасорсе_исполнения_запроса> FOR SYSTEM_TIME AS OF DELTA_NUM <номер_несуществующей_дельты>: теперь возвращается текстDelta does not existвместоQueried entity is missing for the specified DATASOURCE_TYPE....
Исправления
- Исправлена ошибка
CHECK_VERSIONS, возникавшая при сетевой недоступности компонента. - Исправлена ошибка
TRUNCATE ACTUAL, приводившая к пересчету значения параметра статистикиROWS_COUNTвместо его обнуления. - Исправлена ошибка, возникавшая при вставке данных из логической таблицы в standalone-таблицу, когда standalone-таблица и данные логической таблицы находились в разных физических схемах.
- Исправлена неконсистентность данных, которая возникала в материализованных представлениях, построенных на данных нескольких логических БД, в случае закрытия дельт с явной установкой времени в нескольких связанных логических БД.
- Исключена вероятность частичной видимости изменений в последней закрытой дельте.
Дополнительные действия при обновлении
При обновлении с версии ниже 6.7 на версию 6.8 выполните все действия по обновлению, указанные для версии 6.7.
Новая функциональность, изменения и исправления связанных компонентов
- DTM Tools 1.16.
- Версия ADB обновлена до 6.26.0.
- Обновлены версии следующих коннекторов: Kafka-Postgres reader, Kafka-Postgres writer и Kafka Jet writer.
Версия 6.7 (22.11.2023)
Новая функциональность
- Запросы:
GET_CN,ENABLE_STATISTICS_ROWS_COUNT,DISABLE_STATISTICS_ROWS_COUNT.
- Выражения
FOR SYSTEM_TIME STARTED TS (datetime1, datetime2)иFOR SYSTEM_TIME FINISHED TS (datetime1, datetime2)в SELECT-запросах. - Типы событий
WRITE_OKиWRITE_CANCELв сигнальном топике Kafka. - Доступность записей, добавленных и удаленных вне дельты, сразу после завершения операций записи.
- Оптимизированный инкрементальный расчет
ROWS_COUNTиROWS_COUNT_DELTAв статистике обработки запросов.
Изменения
Формат ответов:
- Из ответов
GET_DELTA_*иCOMMIT DELTAудален столбецcn_to. - Ответы запросов на загрузку и обновление данных расширены столбцом
ts. - Из ответа
CHECK_VERSIONSудалена информация о коннекторе Kafka-Greenplum reader (PXF).
REST API:
- Добавлены поля
id,lastTs,lastTslogPage,statisticsRowsCountEnabledиhistoryInTslogOnlyв ответ/datamarts/{datamart}/entities/{entity}; - Поле
writeOperationsFinished.cnListв ответах/datamarts/{datamart}/deltas/latestи/datamarts/{datamart}/deltas/latest_hotпреобразовано из списка значений в список объектов. - Удалено поле
cnToиз ответов методов по дельтам.
Ограничения:
- Удалено ограничение в
COMMIT DELTA IMMEDIATEна отсутствие незавершенных операций записи, начатых до открытия дельты. - Добавлена возможность запуска системы при недоступности некоторых или всех СУБД хранилища.
- Добавлено ограничение на
RECOVER_DATASOURCEпри наличии открытой дельты или незавершенных операций записи. - Добавлено ограничение на
UPSERT VALUESс внешней writable-таблицей без первичного ключа.
Конфигурация:
- Добавлена секция параметров
tslog. - Добавлен параметр
KAFKA_STATUS_EVENT_WRITE_OPERATIONS_ENABLED. - Добавлен параметр
CORE_STATISTICS_DATA_COUNT_PERIOD_MS. - Значение параметра
ADB_MPPW_USE_ADVANCED_CONNECTORизменено наtrue.
Расширение формата метки времени в запросах:
CHECK_SUM_SNAPSHOT,TRUNCATE HISTORY,TRUNCATE ACTUAL,COMMIT DELTA,GET_DELTA_BY_DATETIME.
Изменения в работе с ADB:
- Рекомендуемая версия ADB изменена с 6.17.5 на 6.25.1.
- Изменен коннектор, используемый для загрузки данных в ADB.
- Изменен шаблон имен консьюмер-групп, которые формирует улучшенный PXF-коннектор при загрузке данных в ADB.
- Изменен порядок выбора первого сообщения при загрузке данных в ADB с помощью новой внешней таблицы загрузки.
Другие изменения:
- Список зарезервированных слов расширен словом
ts. - Изменен механизм отбора записей в запросах:
CHECK_SUM_SNAPSHOTс меткой времени,TRUNCATE HISTORYс меткой времени,TRUNCATE ACTUAL.
Исправления
- Исправлена проблема загрузки данных, которая возникала при использовании одинаковых имен окружений в нескольких СУБД.
Известные проблемы
- Возможна нецелостная синхронизация материализованных представлений, если дельты закрываются с явной установкой даты и времени дельты в прошлом или будущем.
- Запросы
SELECT... FOR SYSTEM_TIME...к данным материализованных представлений, синхронизированным до версии 6.7, возвращают результаты, смещенные примерно на дельту назад. - Недоступна одновременная загрузка данных из одного топика Kafka в разные таблицы ADG.
Дополнительные действия при обновлении
- До обновления на версию 6.7 закройте дельты и дождитесь синхронизации материализованных представлений во всех логических базах данных окружения.
- Если планируется закрывать дельты командой
COMMIT DELTA IMMEDIATE, после обновления на версию 6.7 в каждой логической таблице сделайте пустую операцию записи (например, запросомINSERT INTO tbl SELECT * FROM tbl WHERE 1=0).
Новая функциональность, изменения и исправления связанных компонентов
- DTM Tools 1.16.
- Обновлены версии PXF-коннекторов: Kafka-Greenplum reader, Kafka-Greenplum writer, Greenplum-Clickhouse и Greenplum-Tarantool.
Версия 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.
- Функции сервиса мониторинга статусов Kafka (
- Добавлено ограничение на одновременную запись данных в партиционированную таблицу и ее партиции.
- Отключен неиспользуемый механизм определения подкатегории запроса на основе количества задействованных узлов.
- Системное представление
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 SELECTADP_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 SELECTADB -> 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 SELECTADB -> 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.