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

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

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

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

Добавление правил для новой таблицы

Чтобы добавить retention-правила для новой логической таблицы, в запросе CREATE TABLE укажите для каждого правила ключевое слово RETENTION с необходимыми параметрами.

Для каждого датасорса, в котором планируется размещать данные таблицы, можно настроить свое retention-правило.

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

Чтобы добавить retention-правила для существующей логической таблицы, выполните ALTER TABLE ADD RETENTION для каждого из правил.

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

Чтобы удалить retention-правила для логической таблицы, выполните ALTER TABLE DROP RETENTION для каждого из правил.

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

Примеры

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

Ниже показан пример запроса на создание логической таблицы с двумя retention-правилами, согласно которым неактуальные версии данных старше месяца будут перемещаться из adp1 в 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 ('adp1', 'adp2')
RETENTION ('adp1', 2678400, 'adp_archive')
RETENTION ('adp2', 2678400)

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

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

ALTER TABLE marketing.clients_adp1
ADD RETENTION ('adp1', 604800, 'adp_archive')

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

ALTER TABLE marketing.clients_adp1
DROP RETENTION 'adp1'