Release notes
Содержание раздела
- Версия 7.1 (17.02.2025)
- Версия 7.0 (16.12.2024)
- Версия 6.12.2 (28.02.2025)
- Версия 6.12.1 (17.10.2024)
- Версия 6.12 (03.10.2024)
- Версия 6.11 (20.08.2024)
- Версия 6.10 (25.06.2024)
- Версия 6.9 (02.05.2024)
- Версия 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.
Версия 7.1 (17.02.2025)
Новая функциональность
- Автоматическое управление неуспешными операциями записи и дельтами.
- GET-методы
/tsи/cnв HTTP API. - Временные прокси-таблицы.
- Кортежи в условиях SELECT.
- Системное представление
information_schema.statistics.
Изменения
- HTTP API:
- Добавлены конечные точки:
- (GET)
/api/v1/datamarts/{datamart}/entities/{entity}/cn/{ts}, - (GET)
/api/v1/datamarts/{datamart}/entities/{entity}/cn, - (GET)
/api/v1/datamarts/{datamart}/cn, - (GET)
/api/v1/datamarts/{datamart}/entities/{entity}/ts/{cn}, - (GET)
/api/v1/datamarts/{datamart}/entities/{entity}/ts, - (GET)
/api/v1/datamarts/{datamart}/ts.
- (GET)
- В
/{entity}добавлено полеdateTimeStart, содержащее значение с микросекундной точностью.
- Добавлены конечные точки:
SELECT:- Расширена поддержка индексированных и именованных параметров в выражениях.
- Для
CASEдобавлена поддержка именованных и индексированных параметров и констант.
ERASE DELTAиROLLBACK DELTA:- Механизм
ROLLBACK DELTAрасширен автоматическим повтором отката дельты в случаях, когда ее не получилось откатить с первой попытки. - Возвращена поддержка
ERASE DELTA, удаленная в прошлой версии. - В
ERASE DELTAиROLLBACK DELTAдобавлены взаимные блокировки на исполнение.
- Механизм
GET_CNиGET_TS:- Добавлена поддержка индексированных и именованных параметров, а также простых логических представлений, построенных на базе логической таблицы.
- Добавлена возможность запроса номера/метки операции последней операции в логической таблице или логической БД.
- Номер/метка времени операции и имя таблицы стали опциональными в запросе.
- Конфигурация:
- Добавлены параметры:
ENTITY_TTL_CHECK_PERIOD_MS,WRITE_OPERATION_ACTIVITY_CHECK_PERIOD_MS,WRITE_OPERATION_ACTIVITY_CHECK_TIMEOUT_MS.
- Изменены значения параметров:
DELTA_ROLLBACK_RETRY_COUNT(3 → 0);WRITE_OPERATION_ROLLBACK_RETRY_COUNT(3 → 0);KAFKA_JET_RETRY_COUNT(1 → 100);ADP_MPPW_CONNECTOR_RETRY_COUNT(1 → 100).
- Добавлены параметры:
- Другие изменения:
- В
CHECK_SUMиCHECK_SUM_SNAPSHOTдобавлена поддержка индексированных и именованных параметров. - Для SELECT-запросов к
information_schemaдобавлена возможность указывать имена системных представлений с произвольными префиксами, которые игнорируются при обработке запроса.
- В
Дополнительные действия при обновлении
При обновлении с версии 6.12 и ниже на версию 7.1 выполните все действия по обновлению, указанные для версии 7.0.
Новая функциональность, изменения и исправления связанных компонентов
- DTM Tools 1.21.
- Минимальная версия Java для работы с Prostore переведена с 8 на 17.
- Обновлена версия библиотеки
org.apache.calcite/calcite-core(1.30.0 -> 1.37.0). - В коннекторах Kafka-Postgres reader, Kafka-Postgres writer, Kafka Jet writer, Kafka-Clickhouse reader и Kafka-Clickhouse writer минимальная версия Java обновлена до 17.
Версия 7.0 (16.12.2024)
Новая функциональность
- Работа кластера с использованием алгоритма консенсуса Raft.
Изменения
Кластер:
- Удален leaderless-режим (режим без лидера).
- Удалено автоматическое возобновление незавершенных операций записи при перезапуске ноды.
HTTP API:
- Обновлен ответ метода entity:
- удалены поля
lastDelta,historyInTslogOnly,lastTslogPage; - добавлены поля
plainViewTableNameиplainViewFiltered.
- удалены поля
- В идентификаторах
x-request-idасинхронных запросов удалены ограничения на символы, которые были связаны с использованием ZooKeeper. - Заголовок
Authorizationпереведен в статус не рекомендуемого для использования (deprecated). - Расширено понятие готовности ноды к обработке запросов: теперь метод readiness возвращает ошибку
OUT_OF_SERVICE, если ведомая нода запустилась, но еще не синхронизировалась с лидером.
Аутентификация:
- Аутентификация запросов средствами системы и разграничение доступа по ролям переведены в статус не рекомендуемых для использования (deprecated).
Кластер Prostore должен быть развернут в защищенном контуре, доступ к которому должен быть разграничен внешними средствами.
Операции и дельты:
- Из журнала операций по изменению схемы исключены отмененные операции.
- Из запроса
GET_CHANGESудален флаг показа отмененных операций. - Удалено ограничение на закрытие дельт не чаще раза в секунду: теперь минимальная разница между закрытием дельт равна микросекунде.
- Удалено ограничение на количество отдельных операций записи, выполненных вне дельты.
Статистика:
- Изменен триггер пересчета значений
ROWS_COUNTиROWS_COUNT_DELTA: теперь значения пересчитываются с заданной периодичностью при наличии новых закрытых дельт, а не по каждой закрытой дельте. - Удалена возможность отложенного расчета
ROWS_COUNTиROWS_COUNT_DELTA.
SELECT-запросы к простым логическим представлениям:
- Добавлена поддержка ключевых слов
FOR SYSTEM_TIME AS OF LATEST_UNCOMMITTED_DELTA,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). - Ускорено исполнение запросов.
Конфигурация:
- Добавлена секция параметров
raft. - Добавлены параметры:
CORE_STATISTICS_DATA_COUNT_CHECK_PERIOD_MS,DTM_CORE_WEBCLIENT_PRIOR_KNOWLEDGE,DTM_CORE_WEBCLIENT_LEADER_PRIOR_KNOWLEDGE.
- Сделаны опциональными параметры:
ADP_REST_START_LOAD_URL,ADP_REST_STOP_LOAD_URL,ADP_MPPW_CONNECTOR_VERSION_URL,ADP_MPPW_GET_ENDPOINT,ADP_KAFKA_CONSUMER_GROUP,ADP_MPPR_QUERY_URL,ADP_MAX_POOL_SIZE,ADP_EXECUTORS_COUNT.
- Удалены секции параметров:
pnode,tslog,zookeeper,auth,restoration.
- Удалены параметры:
CORE_STATISTICS_DATA_COUNT_PERIOD_MS,CORE_DDL_QUEUE_ENABLED,DATA_COOLING_CHECK_QUERIES_PERIOD_MS,DATA_COOLING_CHECK_TRIM_PERIOD_MS,ADG_CB_FUNC_IDLE.
Другие изменения:
- Запрос
CHECK_JWKSпереведен в статус не рекомендуемого для использования (deprecated). - Параметр
subjectIdв логах переведен в статус не рекомендуемого для использования (deprecated). - Расширено назначение запроса
SYNC: теперь он не только обнуляет кэш ноды, но и синхронизирует ее состояние с другими нодами кластера. - В системном представлении
tablesрасширен список возможных значений поляdefinition: добавлены значенияVIEW.PLAIN.FILTEREDиVIEW.PLAIN.UNFILTEREDдля простых логических представлений. - Из ответа
CHECK_MATERIALIZED_VIEWудален флагis_sync_lock_exists. - Точность метки времени дельты, которую автоматически устанавливает запрос
COMMIT DELTA, увеличена до микросекунд. - Изменен порядок работы
DROP TABLEиDROP DATABASEс ключевым словомLOGICAL_ONLY: теперь команды удаляют журналы tslog таблиц, что приводит к недоступности данных таблиц после пересоздания таблиц. Вернуть доступ можно только к данным текущей версии, выполнив операцию записи в каждой таблице; исторические данные остаются недоступны. - Prometheus-метрики ноды расширены такими метриками Raft, как номер ноды, номер лидера кластера, статус ноды (лидер, ведомая нода или кандидат в лидеры) и др.
Исправления
- Исправлена ошибка, из-за которой HTTP-уведомления о системных событиях не отправлялись, если регистрация таких событий в сигнальном топике Kafka была отключена в конфигурации.
Известные проблемы
- Не поддерживается запрос
ERASE DELTA.
Дополнительные действия при обновлении
- Необходимо перенести сервисную БД из ZooKeeper в одну или несколько СУБД, совместимых с PostgreSQL, с помощью команды ZK2PG.
Подробнее о количестве СУБД с сервисными БД см. разделе Схемы развертывания.
Новая функциональность, изменения и исправления связанных компонентов
- DTM Tools 1.20.
- Изменен порядок развертывания сервисной БД:
- вместо ZooKeeper теперь должна использоваться СУБД, совместимая с PostgreSQL;
- вместо общей сервисной БД для всех нод теперь каждая нода должна иметь свою сервисную БД.
- Брокер сообщений Kafka и коннекторы переведены в категорию опциональных компонентов.
- Исправлена ошибка в JDBC-драйвере, вызывавшая редкие секундные задержки исполнения SELECT-запросов с параметрами.
Версия 6.12.2 (28.02.2025)
Исправления
- Отключена валидация пересечения имен прокси- и standalone-таблиц, приводившая под нагрузкой к ошибке создания прокси-таблиц.
Версия 6.12.1 (17.10.2024)
Изменения
- Доработана команда
ERASE_WRITE_OPERATIONс флагомforce, имеющим значениеtrue: теперь для отмены операции не требуется работоспособность коннекторов.
Исправления
- Механизм работы
RESUME_WRITE_OPERATIONрасширен остановкой операции в коннекторах. - Исправлена недоступность списка логических БД и дочерних сущностей, отображаемых в дереве сущностей SQL-клиентов.
- Исправлена невозможность исполнения запросов с использованием JDBC-драйвера версии ниже 6.12.
- Исправлено зависание параметризованных запросов при вставке объема данных, кратного размеру буфера на вставку.
- Исправлен возврат неактуальных значений
ROWS_COUNTиROWS_COUNT_DELTAстатистики, который мог происходить после смены лидера кластера.
По-прежнему рекомендуется использовать Prostore и JDBC-драйвер с одинаковыми номерами версий, так как совместимость разных версий не гарантируется.
Версия 6.12 (03.10.2024)
Новая функциональность
- Потоковая загрузка данных по HTTP.
- Отправка сообщений о системных событиях по HTTP.
- HTTP-метод для DDL-запросов.
- Числовые последовательности в СУБД ADB и ADP.
- Функции по управлению текстовым поиском в СУБД ADB и ADP.
- Поддержка системных столбцов в SELECT-запросах и SELECT-подзапросах.
Изменения
HTTP API:
- Добавлены методы upload и ddl.
- Изменен ответ HTTP-метода
query:- в ответе Avro-формата изменены значения полей схемы Avro:
- значение поля
nameизменено сresultSetнаQueryResultRow; - значение поля
namespaceизменено сprostoreнаquery.result;
- значение поля
- в ответе JSON-формата поле
queryIdперемещено выше и теперь находится перед блоком данныхresult.
- в ответе Avro-формата изменены значения полей схемы Avro:
Конфигурация:
- Добавлены параметры:
DTM_CORE_PLUGINS_WITHOUT_FROM,DTM_CORE_HTTP2_WINDOW_SIZE,ZOOKEEPER_KAFKA_GET_OFFSETS_RETRY_COUNT,ZOOKEEPER_KAFKA_GET_OFFSETS_RETRY_TIMEOUT_MS,ADP_IDLE_TIMEOUT_MS,ADP_MAX_LIFETIME_TIMEOUT_MS.
- Добавлены секции параметров:
streaming— задает параметры потоковой загрузки данных;csvParser— задает параметры интерпретации загружаемых CSV-файлов;poststatusevent— задает параметры подписчиков, которым отправляются HTTP-уведомления о системных событиях.
Другие изменения:
- Leaderless-режим работы кластера переведен в статус не рекомендуемого для использования (deprecated).
- Добавлена поддержка параметров receiveBufferSize (JDBC) и
windowSize(HTTP/2), которые позволяют регулировать размер буфера данных, получаемых от Prostore, на стороне внешней системы. - Изменена логика обогащения запросов вследствие поддержки системных столбцов в запросах.
- Доработан откат сбойных операций по загрузке данных: теперь операции, которые еще не начали исполняться в коннекторах, откатываются без участия коннекторов.
Дополнительные действия при обновлении
При обновлении с версии ниже 6.7 на версию 6.12 выполните все действия по обновлению, указанные для версии 6.7.
Новая функциональность, изменения и исправления связанных компонентов
Обновлены коннекторы:
- В коннекторы Kafka-Postgres reader, Kafka-Postgres writer, Kafka Jet writer, Kafka-Clickhouse reader и Kafka-Clickhouse writer добавлены зависимости для logback и micrometer.
- Конфигурация коннекторов Kafka-Postgres reader, Kafka-Postgres writer, Kafka Jet writer расширена параметрами
POSTGRES_IDLE_TIMEOUT_MSиPOSTGRES_MAX_LIFETIME_TIMEOUT_MS. - В коннекторе Kafka-Postgres reader устранена проблема утечки памяти.
Версия 6.11 (20.08.2024)
Новая функциональность
- Согласованность данных уровня линеаризуемости в кластере с лидером.
- HTTP-методы по мониторингу состояния нод в кластере:
- Расширенная параметризация запросов:
- именованные параметры,
- системные параметры,
- параметризация значений выражений
FOR SYSTEM_TIME.
Изменения
Работа кластера в основном режиме (с лидером):
- Регистрация изменений данных и схемы данных в сервисной БД переведена на лидера.
- Исполнение
ROLLBACK DELTAиERASE_WRITE_OPERATIONперенесено на лидера. - Обработка retention-правил переведена на лидера.
- Обработка SELECT-запросов к данным прокси-таблиц и standalone-таблиц отвязана от лидера и выполняется даже при недоступности лидера.
Логические типы данных:
- Добавлен алиас
LONGдля типа данныхBIGINT. - Добавлен алиас
STRINGдля типа данныхVARCHAR.
ROLLBACK DELTA и ERASE_WRITE_OPERATION:
- Добавлено время ожидания отмены операций записи, определяемое параметром конфигурации
DELTA_ROLLBACK_OPERATIONS_TIMEOUT_MS:- в
ROLLBACK DELTAвремя ожидания действует для операций, запущенных запросами загрузки и обновления данных; - в
ERASE_WRITE_OPERATIONс флагомforce, имеющим значениеtrue, время ожидания действует для операций, запущенных запросами загрузки.
- в
- Для
ERASE_WRITE_OPERATIONудалено требование предварительно выполнятьRESUME_WRITE_OPERATIONдля операций загрузки данных в случаях, если нода была перезапущена и восстановление ее состояния отключено.
COMMIT DELTA:
- Удалено ограничение для запроса с ключевым словом
SET: теперь дельту можно закрыть с более ранними датой и временем, чем дата и время отдельных операций записи, выполненных после последней закрытой дельты. Это возможно, только если в дельте не обновлялись логические таблицы, обновленные в отдельных операциях записи.
Конфигурация:
- Добавлена секция
management.endpoint.healthс настройками метрик состояния нод. - Добавлена секция
privateapiwebclientс настройками HTTP-клиентов приватного API. - Добавлен параметр
DELTA_ROLLBACK_OPERATIONS_TIMEOUT_MS, определяющие максимальное время ожидания завершения операций при откате дельты. - Удален параметр
PNODE_LEADER_CALL_TIMEOUT_MS.
Исправления
- Удален тайм-аут, из-за которого SELECT-запросы к версионируемым данным и запросы к дельтам могли завершаться неуспешно при медленном соединении между лидером кластера и сервисной БД.
Дополнительные действия при обновлении
При обновлении с версии ниже 6.7 на версию 6.11 выполните все действия по обновлению, указанные для версии 6.7.
Новая функциональность, изменения и исправления связанных компонентов
- DTM Tools 1.19.
- Обновлен коннектор Kafka Jet writer: добавлена поддержка алиасов типов данных
STRINGиLONG. - Обновлены коннекторы Kafka-Postgres reader, Kafka-Postgres writer, Kafka-Clickhouse reader и Kafka-Clickhouse writer: поддержана логика сохранения пути к топику Kafka во внешних таблицах загрузки и выгрузки, обновленная в Prostore 6.10.
Версия 6.10 (25.06.2024)
Новая функциональность
- Запросы:
GET_TS,ALTER TABLE ADD DATASOURCE.
- Возможность подключения произвольных брокеров Kafka для загрузки и выгрузки данных.
Изменения
Запросы ERASE*:
- Для
ERASE_WRITE_OPERATIONдобавлен опциональный флаг принудительной отмены операции. - Для
ERASE DELTAдобавлена блокировка запуска DDL-команд во время исполнения запроса.
Путь к топику Kafka во внешних таблицах:
- Изменена логика сохранения пути к топику Kafka во внешних таблицах загрузки и выгрузки: теперь в путь без указания порта не подставляется номер порта, действующий по умолчанию.
- Добавлена проверка имен топиков, указываемых при создании внешней таблицы.
Конфигурация:
- Удалены неиспользуемые параметры:
ADQM_CONSUMER_GROUP,ADQM_BROKERSиADQM_MPPW_LOAD_TYPE.
Другие изменения:
- Для
RECOVER_DATASOURCEизменен порядок выбора датасорса-источника: теперь приоритетным среди датасорсов подходящего типа считается тот датасорс, который не участвует в retention-правилах восстанавливаемой таблицы. - Оптимизирована скорость вставки данных
INSERT/UPSERT VALUESс помощью запроса prepared statement, содержащего большое количество параметров. - Для
GET_WRITE_OPERATIONSизменен алгоритм расчета хеша, возвращаемого в столбцеqueryпо запросам вставки и удаления данных.
Исправления
- Удалено ограничение, из-за которого внешняя таблица загрузки должна была принадлежать той же логической БД, что и целевая таблица, куда загружаются данные.
- Исключено автоматическое пересоздание сущностей в информационной схеме при отсутствии изменений в метаданных сущности.
Дополнительные действия при обновлении
При обновлении с версии ниже 6.7 на версию 6.10 выполните все действия по обновлению, указанные для версии 6.7.
Новая функциональность, изменения и исправления связанных компонентов
Версия 6.9 (02.05.2024)
Новая функциональность
- Запрос
UPDATEдля обновления значений столбцов таблицы. - Указание логического типа Avro
linkпри выгрузке значений типаLINKиз СУБД ADB, ADP и ADQM. - Обновление записей standalone- и прокси-таблиц, размещенных в ADP, с помощью функции загрузки данных из Kafka.
- Возврат данных HTTP-методом
queryв Avro-формате.
Изменения
HTTP-метод query:
- Расширен формат URL:
- список значений параметра
formatрасширен новыми значениями для работы с Avro-форматом; - добавлен параметр
compressionLevel.
- список значений параметра
- Изменено тело запроса:
- добавлены параметры
fetchSizeиfetchTimeoutMs; - для параметра
maxRowsToReadизменен порядок обработки нулевого и отрицательных значений, а также добавлено возможное значениеnull.
- добавлены параметры
JDBC-драйвер:
- JDBC-драйвер расширен поддержкой методов по управлению курсорами СУБД.
- Изменен порядок обработки тайм-аута
Statement.setQueryTimeoutс времени получения полного ответа на время начала получения ответа. - Изменен порядок работы JDBC-драйвера с сервисом исполнения запросов:
- взаимодействие этих компонентов переведено на публичный HTTP API (с закрытого HTTP API) по протоколу HTTP/2 в Avro-формате;
- добавлена возможность выбора формата обмена данными между этими компонентами.
- Добавлена возможность задавать максимальное количество запросов, синхронно исполняемых в одном подключении.
Конфигурация:
- Добавлены параметры:
ZOOKEEPER_KAFKA_CONNECTION_RETRY_COUNT,ZOOKEEPER_DS_WRITE_OPTIMISTIC_RETRY_COUNT,KAFKA_JET_RETRY_COUNT,ADP_MPPW_CONNECTOR_RETRY_COUNT,ADP_MPPR_CONNECTOR_RETRY_COUNT,DELTA_ROLLBACK_RETRY_COUNT,DELTA_ROLLBACK_RETRY_TIMEOUT_MS,WRITE_OPERATION_ROLLBACK_RETRY_COUNT,WRITE_OPERATION_ROLLBACK_RETRY_TIMEOUT_MS.
- Удалены неиспользуемые параметры
ADB_FETCH_SIZEиADP_FETCH_SIZE.
Взаимодействие с СУБД:
- Добавлена проверка актуальности FDW-серверов ADP и механизм их пересоздания в случае неактуальности.
- Улучшена информативность ошибок, возникающих при загрузке данных в ADB.
Версии используемого ПО:
- Рекомендуемая к установке операционная система изменена с Centos 7 на Альт 8 СП (8.4).
- Обновлена версия клиента Vert.x Kafka, используемого системой.
Другие изменения:
- Для операций записи в разных таблицах логической БД добавлена гарантия возрастания меток времени в соответствии с порядком, в котором операции были завершены.
- Механизм отката неуспешных операций загрузки данных расширен возможностью отката операции даже при отсутствии внешней таблицы, использовавшейся в запросе.
- Улучшен механизм восстановления соединения с ZooKeeper при выгрузке данных.
- Улучшена стабильность работы компонентов при проблемах с сетевой инфраструктурой.
Исправления
- Исправлена ошибка, возникавшая при использовании функции
TIMESTAMPDIFFдля данных ADQM. - Исправлено некорректное логирование ошибки, возникавшей при обработке retention-правил, как успешного результата.
- Исправлен расчет статистики для асинхронных запросов по HTTP API.
- Исправлен механизм проверки количества загруженных записей из Kafka, из-за которого операция могла считаться успешной при загрузке разного количества записей в целевые датасорсы.
- Исправлен некорректный возврат дубликатов записей при запросе к партиционной таблице с неравномерно разложенными данными.
- Исправлена ошибка, приводившая к невозможности выполнения
RETRY INSERT SELECTв виде preparedStatement в случаях, если в SELECT-подзапросе было указано ключевое словоDATASOURCE_TYPE.
Дополнительные действия при обновлении
При обновлении с версии ниже 6.7 на версию 6.9 выполните все действия по обновлению, указанные для версии 6.7.
Новая функциональность, изменения и исправления связанных компонентов
- DTM Tools 1.17.
- Версия ADP, рекомендуемая к установке, изменена с 13.5 на 13.14.
- Обновлена версия клиента Vert.x Kafka для коннекторов: Kafka-Postgres reader, Kafka-Postgres writer, Kafka Jet writer, Kafka-Clickhouse reader и Kafka-Clickhouse writer.
- В конфигурацию коннекторов Kafka-Postgres writer и Kafka Jet writer добавлены параметры
POSTGRES_CONNECT_RETRY_COUNTиPOSTGRES_CONNECT_RETRY_TIMEOUT_MS.
Версия 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расширен и теперь может содержать несколько строк — по количеству задействованных датасорсов.
HTTP 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).
HTTP 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)
Новая функциональность
- Асинхронные запросы по HTTP.
- Прокси-таблицы.
- Запрос
CREATE PROXY TABLE. - Удаление записей из всех задействованных партиций запросом
DELETEк партиционированной таблице. INSERT SELECT FROM external_table:- загрузка данных с применением
WHERE,LIMITи/илиOFFSET; - ключевое слово
RETRY.
- загрузка данных с применением
- Метод
setMaxRowsв JDBC-интерфейсеStatement.
Изменения
- Синтаксис запросов:
- Запрос
CREATE TABLEрасширен ключевым словомOPTIONS. - Запросы
GET_DELTA_*расширены параметром, задающим имя логической базы данных. - Запрос
RECOVER_DATASOURCEрасширен параметром, задающим количество восстанавливаемых операций записи за один проход.
- Запрос
- HTTP 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 добавлена поддержка списка из нескольких коннекторов.
HTTP 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.
- HTTP-метод
/swagger-ui. - Запросы:
CHECK_JWKS,ALTER TABLE ADD RETENTION,ALTER TABLE DROP RETENTION.
Изменения
- Синтаксис
CREATE TABLEрасширен ключевым словомRETENTION. - Ответ
GET_ENTITY_DDLрасширен информацией о retention-правилах. - В запросы HTTP API добавлен заголовок
Authorization. - В ответах HTTP 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как параметризованный запрос.
Изменения
- Для
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)
Новая функциональность
- HTTP API.
INSERT SELECTADB -> ADP.TRUNCATE ACTUALиERASE DELTAдля ADG.
Изменения
- В ответ
CHECK_MATERIALIZED_VIEWдобавлен столбецis_sync_lock_exists; из ответа удален столбецsync_period. - В ответ
CHECK_VERSIONSдобавлена строка с версией HTTP 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-логов добавлена поддержка идентификаторов HTTP-запросов.
- Логи расширены информацией о задействованных датасорсах.
- Из 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.