ALTER MATERIALIZED VIEW ADD RETENTION

Содержание раздела
  1. Связанные запросы
  2. Поддерживаемые датасорсы
  3. Как работает запрос
    1. Регистрация запроса
    2. Обработка запроса
    3. Успешный результат
    4. Неуспешный результат
  4. Синтаксис
  5. Варианты ответа
  6. Ограничения
  7. Примеры
    1. Retention-правило для остужения данных
    2. Retention-правило для удаления данных

Поддерживается в версиях: 7.7.

Запрос добавляет retention-правило для материализованного представления.

Retention-правило невозможно изменить, но можно удалить и создать заново. При удалении правил также удаляются накопленные по ним холодные данные.

Поддерживаемые датасорсы

Retention-правила поддерживаются для датасорсов типа ADB и ADP. Остужение данных доступно для представлений:

  • в пределах одного датасорса (например, adp2adp2);
  • между разными датасорсами одного типа (например, adp2adp3).

Каждый датасорс представления может иметь свое retention-правило.

Как работает запрос

Регистрация запроса

Каждое добавление retention-правила записывается в журнал, доступный с помощью запроса GET_CHANGES.

Обработка запроса

Запрос попадает в очередь операций и обрабатывается в порядке его поступления в очередь.

Успешный результат

При успешном выполнении запроса система создает:

  • retention-правило;
  • [для правила остужения данных] физическую таблицу для хранения холодных данных в датасорсе-приемнике.

Неуспешный результат

При ошибке исполнения корректного запроса система блокирует все последующие DDL-запросы в логической БД. О снятии такой блокировки см. в разделе Снятие блокировки DDL-запросов.

Синтаксис

ALTER MATERIALIZED VIEW [db_name.]materialized_view_name
ADD RETENTION ('source_datasource', retention_period[, 'archive_datasource'])

Параметры:

db_name

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

materialized_view_name

Имя материализованного представления, для которого добавляется retention-правило.

source_datasource

Имя датасорса-источника — датасорса, исторические данные которого должны остужаться или удаляться по истечении срока их хранения. Должно соответствовать конфигурации.

retention_period

Срок хранения исторических данных в датасорсе-источнике. Указывается в секундах.

Если равен 0, данные остужаются или удаляются при каждом исполнении правила.

archive_datasource

Имя датасорса-приемника для данных, остужаемых правилом. Должно соответствовать конфигурации.

Если отсутствует, правило удаляет данные, а не остужает.

Варианты ответа

В ответе возвращается:

  • пустой объект ResultSet при успешном выполнении запроса;
  • исключение при неуспешном выполнении запроса.

Ограничения

Примеры

Retention-правило для остужения данных

Создание retention-правила для остужения исторических данных старше двух недель и их перемещения из adp в adp2:

ALTER MATERIALIZED VIEW matview_db.sales_august_2020
ADD RETENTION ('adp', 1209600, 'adp2')

Retention-правило для удаления данных

Создание retention-правила для удаления исторических данных старше двух недель из adp:

ALTER MATERIALIZED VIEW matview_db.sales_august_2020
ADD RETENTION ('adb', 1209600)