Политика хранения
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Политика хранения управляет механизмом автоматического удаления данных из таблиц или материализованных представлений. Полезно удалять данные, которые постоянно передаются в таблицу и релевантность которых зависит от возраста. Например, политику можно использовать для таблицы, содержащей диагностика события, которые могут стать неинтересными через две недели.
Политику хранения можно настроить для определенной таблицы или материализованного представления или для всей базы данных. Затем политика применяется ко всем таблицам в базе данных, которые не переопределяют ее. Если политика настроена как на уровне базы данных, так и на уровне таблицы, политика хранения в таблице имеет приоритет над политикой базы данных.
Настройка политики хранения важна при непрерывном приеме данных, что ограничивает затраты.
Данные, которые находятся вне политики хранения, могут быть удалены. При удалении не существует определенной гарантии. Данные могут задерживаться, даже если политика хранения активируется.
Политика хранения чаще всего ограничивает возраст данных с момента приема. Дополнительные сведения см. в статье SoftDeletePeriod.
Примечание.
- Время удаления является неточным. Система гарантирует, что данные не будут удалены до превышения ограничения, но удаление не произойдет немедленно после этого момента.
- Период обратимого удаления 0 можно задать как часть политики хранения на уровне таблицы, но не в рамках политики хранения на уровне базы данных.
- После этого прием данных не будет зафиксирован в исходной таблице, избегая необходимости сохранять данные. В результате
Recoverability
можно задатьDisabled
только значение . - Такая конфигурация полезна главным образом при приеме данных в таблицу. Политика обновления транзакций используется для преобразования и перенаправления выходных данных в другую таблицу.
- Политика хранения в материализованном представлении влияет только на представление , а не на исходную таблицу. Исходные данные остаются не затронутыми.
Объект политики
Политика хранения включает следующие свойства:
- SoftDeletePeriod:
- Период времени, для которого гарантируется, что данные хранятся в запросе. Период измеряется начиная с момента приема данных.
- По умолчанию —
1,000 years
. - При изменении периода обратимого удаления таблицы или базы данных новое значение применяется как к существующим, так и к новым данным.
- Возможность восстановления:
- Возможность восстановления данных (включена или отключена) после удаления данных.
- По умолчанию —
Enabled
. - Если задано значение
Enabled
, данные будут восстанавливаться в течение 14 дней после его обратимого удаления. - Невозможно настроить период восстановления.
Команды управления
- Используется
.show policy retention
для отображения текущей политики хранения для базы данных, таблицы или материализованного представления. - Используется
.alter policy retention
для изменения текущей политики хранения базы данных, таблицы или материализованного представления.
Defaults
По умолчанию при создании базы данных или таблицы она не определяет политику хранения. Как правило, база данных создается, а затем сразу же устанавливается ее создателем в соответствии с известными требованиями.
При выполнении .show
команды для политики хранения базы данных или таблицы, которая не имела его набора политик, Policy
отображается как null
.
Политика хранения по умолчанию с указанными выше значениями по умолчанию может применяться с помощью следующей команды.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
Эта команда приводит к применению следующего объекта политики к базе данных или таблице.
{
"SoftDeletePeriod": "365000.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. Установка политики хранения на уровне базы данных и установка политики хранения на уровне таблицы с периодом обратимого удаления 1000 лет, для политики
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
с периодом обратимого удаления 1000 лет, политика хранения по умолчанию..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"