Управление retention-правилами

Содержание раздела
  1. Добавление правил для новой сущности
  2. Добавление правил для существующей сущности
  3. Удаление правил
  4. Примеры
    1. Создание таблицы с двумя retention-правилами
    2. Добавление retention-правила для существующей таблицы
    3. Удаление retention-правила

Retention-правила поддерживаются для логических таблиц, снапшот-таблиц и материализованных представлений. Для каждой из этих сущностей можно настроить несколько правил: по одному на каждый ее датасорс.

Retention-правила доступны для СУБД ADB и ADP.

Добавление правил для новой сущности

Чтобы настроить retention-правила сущности сразу при ее создании, в запросе на создание сущности (CREATE TABLE/CREATE MATERIALIZED VIEW) укажите ключевое слово RETENTION для каждого датасорса сущности, данные которого требуется остужать или удалять.

Добавление правил для существующей сущности

Чтобы добавить retention-правила для существующей сущности, выполните следующий запрос для каждого ее датасорса, данные которого требуется остужать или удалять:

Удаление правил

Чтобы удалить retention-правила сущности, выполните следующий запрос для каждого из правил в отдельности:

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

Примеры

Создание таблицы с двумя retention-правилами

Ниже показан пример запроса на создание логической таблицы с двумя retention-правилами:

  • для остужения исторических данных старше месяца и их перемещения из adp в adp_archive;
  • для удаления исторических данных старше месяца из adp2.
CREATE TABLE marketing.clients_all_adp (
  id BIGINT NOT NULL,
  first_name VARCHAR(256) NOT NULL,
  last_name VARCHAR(256) NOT NULL,
  patronymic_name VARCHAR(256),
  birth_date DATE,
  PRIMARY KEY (id)
) DISTRIBUTED BY (id)
DATASOURCE_TYPE ('adp', 'adp2')
RETENTION ('adp', 2678400, 'adp_archive')
RETENTION ('adp2', 2678400)

Добавление retention-правила для существующей таблицы

Ниже показан пример запроса на добавление retention-правила для существующей таблицы, согласно которому исторические данные старше недели перемещаются из датасорса adp в датасорс adp_archive, служащий хранилищем холодных данных.

ALTER TABLE marketing.clients_adp
ADD RETENTION ('adp', 604800, 'adp_archive')

Удаление retention-правила

ALTER TABLE marketing.clients_adp
DROP RETENTION 'adp'