Политика хранения
Политика хранения управляет механизмом, который автоматически удаляет данные из таблиц или материализованных представлений. Полезно удалять данные, которые постоянно передаются в таблицу и релевантность которых зависит от возраста. Например, политику можно использовать для таблицы, содержащей диагностика событий, которые могут стать неинтересными через две недели.
Политику хранения можно настроить для определенной таблицы или материализованного представления, а также для всей базы данных. Затем политика применяется ко всем таблицам в базе данных, которые не переопределяют ее. Если политика настроена как на уровне базы данных, так и на уровне таблицы, политика хранения в таблице имеет приоритет над политикой базы данных.
Настройка политики хранения важна для кластеров, которые постоянно получают данные, что ограничивает затраты.
Данные, которые находятся за пределами политики хранения, могут быть удалены. Нет конкретной гарантии при удалении. Данные могут "задерживать", даже если активирована политика хранения.
Политика хранения чаще всего задает ограничение возраста данных с момента приема. Дополнительные сведения см. в разделе SoftDeletePeriod.
Примечание
- Время удаления является неточным. Система гарантирует, что данные не будут удалены до превышения ограничения, но удаление не произойдет немедленно после этого момента.
- Период обратимого удаления 0 можно задать как часть политики хранения на уровне таблицы, но не как часть политики хранения на уровне базы данных.
- После этого данные не будут зафиксированы в исходной таблице, что позволяет избежать необходимости сохранять данные. В результате
Recoverability
можно задать только значениеDisabled
. - Такая конфигурация полезна в основном при приеме данных в таблицу. Политика транзакционного обновления используется для ее преобразования и перенаправления выходных данных в другую таблицу.
Объект политики
Политика хранения включает следующие свойства:
- SoftDeletePeriod:
- Период времени, в течение которого гарантируется, что данные будут доступны для запроса. Период измеряется с момента приема данных.
- По умолчанию —
100 years
. - При изменении периода обратимого удаления таблицы или базы данных новое значение применяется как к существующим, так и к новым данным.
- Возможность восстановления.
- Возможность восстановления данных (включено или отключено) после удаления данных.
- По умолчанию —
Enabled
. - Если задано значение
Enabled
, данные будут восстановлены в течение 14 дней после обратимого удаления. - Невозможно настроить период восстановления.
Команды управления
- Используйте для
.show policy retention
отображения текущей политики хранения для базы данных, таблицы или материализованного представления. - Используйте для
.alter policy retention
изменения текущей политики хранения базы данных, таблицы или материализованного представления.
Умолчания;
По умолчанию при создании базы данных или таблицы не определена политика хранения. Как правило, база данных создается, а затем сразу же имеет политику хранения, заданную ее создателем в соответствии с известными требованиями.
При выполнении .show
команды для политики хранения базы данных или таблицы, для которой не задана политика, Policy
отображается как null
.
Политику хранения по умолчанию со значениями по умолчанию, упомянутыми выше, можно применить с помощью следующей команды.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
Команда приводит к применению следующего объекта политики к базе данных или таблице.
{
"SoftDeletePeriod": "36500.00:00:00", "Recoverability":"Enabled"
}
Очистить политику хранения базы данных или таблицы можно с помощью следующей команды.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Примеры
Для кластера с базой данных с именем MyDatabase
с таблицами MyTable1
, MyTable2
и MySpecialTable
.
Период обратимого удаления в семь дней и возможность восстановления отключена
Задайте для всех таблиц в базе данных период обратимого удаления в семь дней и отключенную возможность восстановления.
Вариант 1 (рекомендуется). Задайте политику хранения на уровне базы данных и убедитесь, что политики табличного уровня не заданы.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge materialized-view ViewName policy retention softdelete = 7d
Вариант 2. Для каждой таблицы задайте политику хранения на уровне таблицы с периодом обратимого удаления в семь дней и отключенной возможностью восстановления.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 7d recoverability = disabled
Период обратимого удаления в семь дней и возможность восстановления включена
Задайте для таблиц
MyTable1
иMyTable2
, чтобы период обратимого удаления в семь дней и возможность восстановления была отключена.Задайте
MySpecialTable
для параметра период обратимого удаления 14 дней и возможность восстановления.Вариант 1 (рекомендуется). Задайте политику хранения на уровне базы данных и политику хранения на уровне таблицы.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
Вариант 2. Для каждой таблицы задайте политику хранения на уровне таблицы с соответствующим периодом обратимого удаления и возможностью восстановления.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
Период обратимого удаления в семь дней и MySpecialTable
сохранение данных на неопределенный срок
Задайте для таблиц MyTable1
и MyTable2
период обратимого удаления, равный семи дням, и сохраняйте MySpecialTable
свои данные на неопределенный срок.
Вариант 1. Задайте политику хранения на уровне базы данных и политику хранения на уровне таблицы с периодом обратимого удаления 100 лет(политика хранения по умолчанию) для
MySpecialTable
..delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}" // this sets the default retention policy
Вариант 2. Для таблиц
MyTable1
иMyTable2
установите политику хранения на уровне таблицы и убедитесь, что политика уровня базы данных и уровня таблицы дляMySpecialTable
не задана..delete database MyDatabase policy retention // optional, only if the database previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d
Вариант 3. Для таблиц
MyTable1
иMyTable2
задайте политику хранения на уровне таблицы. Для таблицыMySpecialTable
задайте политику хранения на уровне таблицы с периодом обратимого удаления 100 лет, что является политикой хранения по умолчанию..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по