Управление retention-правилами
Содержание раздела
Retention-правила поддерживаются для логических таблиц, снапшот-таблиц и материализованных представлений. Для каждой из этих сущностей можно настроить несколько правил: по одному на каждый ее датасорс.
Retention-правила доступны для СУБД ADB и ADP.
Добавление правил для новой сущности
Чтобы настроить retention-правила сущности сразу при ее создании, в запросе на создание сущности (CREATE TABLE/CREATE MATERIALIZED VIEW) укажите ключевое слово RETENTION для каждого датасорса сущности, данные которого требуется остужать или удалять.
Добавление правил для существующей сущности
Чтобы добавить retention-правила для существующей сущности, выполните следующий запрос для каждого ее датасорса, данные которого требуется остужать или удалять:
- [логические и снапшот-таблицы] ALTER TABLE ADD RETENTION;
- [материализованные представления] ALTER MATERIALIZED VIEW ADD RETENTION.
Удаление правил
Чтобы удалить retention-правила сущности, выполните следующий запрос для каждого из правил в отдельности:
- [логические и снапшот-таблицы] ALTER TABLE DROP RETENTION;
- [материализованные представления] ALTER MATERIALIZED VIEW DROP 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'