Política de retenção
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer
A política de retenção controla o mecanismo que remove automaticamente os dados de tabelas ou exibições materializadas. É útil remover dados que fluem continuamente para uma tabela e cuja relevância é baseada na idade. Por exemplo, a política pode ser usada para uma tabela que contém eventos de diagnóstico que podem se tornar desinteressantes após duas semanas.
A política de retenção pode ser configurada para uma tabela específica ou exibição materializada, ou para um banco de dados inteiro. Em seguida, a política aplica-se a todas as tabelas no banco de dados que não a substituem. Quando a política é configurada no nível do banco de dados e da tabela, a política de retenção na tabela tem precedência sobre a política de banco de dados.
A configuração de uma política de retenção é importante ao ingerir dados continuamente, o que limitará os custos.
Os dados que estão "fora" da política de retenção são elegíveis para remoção. Não há nenhuma garantia específica quando a remoção ocorre. Os dados podem "permanecer" mesmo se a política de retenção for acionada.
A política de retenção é mais comumente definida para limitar a idade dos dados desde a ingestão. Para obter mais informações, consulte SoftDeletePeriod.
Observação
- O tempo de eliminação é impreciso. O sistema garante que os dados não serão excluídos antes que o limite seja excedido, mas a exclusão não é imediata após esse ponto.
- Um período de exclusão suave de 0 pode ser definido como parte de uma política de retenção no nível da tabela, mas não como parte de uma política de retenção no nível do banco de dados.
- Quando isso é feito, os dados ingeridos não serão comprometidos com a tabela de origem, evitando a necessidade de persistir os dados. Como resultado,
Recoverability
só pode ser definido comoDisabled
. - Tal configuração é útil principalmente quando os dados são ingeridos em uma tabela.
Um de política de atualização de
transacional é usado para transformá-lo e redirecionar a saída para outra tabela. - A política de retenção em um modo de exibição materializado afeta apenas o modo de exibição, não a tabela de origem. Os dados de origem permanecem inalterados.
O objeto político
Uma política de retenção inclui as seguintes propriedades:
-
SoftDeletePeriod:
- Período de tempo durante o qual é garantido que os dados são mantidos disponíveis para consulta. O período é medido a partir do momento em que os dados foram ingeridos.
- O padrão é
1,000 years
. - Ao alterar o período de exclusão suave de uma tabela ou banco de dados, o novo valor se aplica a dados novos e existentes.
-
de capacidade de recuperação:
- Capacidade de recuperação de dados (Habilitado/Desativado) depois que os dados foram excluídos.
- O padrão é
Enabled
. - Se definido como
Enabled
, os dados serão recuperáveis por 14 dias após terem sido excluídos suavemente. - Não é possível configurar o período de recuperabilidade.
Observação
Os dados que são excluídos usando de exclusão suave ou de limpeza não são recuperáveis, independentemente de quaisquer configurações de retenção ou recuperabilidade.
Comandos de gestão
- Use
.show policy retention
para mostrar a política de retenção atual para um banco de dados, tabela ou exibição materializada. - Use
.alter policy retention
para alterar a política de retenção atual de um banco de dados, tabela ou exibição materializada.
Incumprimentos
Por padrão, quando um banco de dados ou uma tabela é criado, ele não tem uma política de retenção definida. Normalmente, o banco de dados é criado e, em seguida, imediatamente tem sua política de retenção definida pelo seu criador de acordo com os requisitos conhecidos.
Quando você executa um comando .show
para a política de retenção de um banco de dados ou tabela que não teve sua política definida, Policy
aparece como null
.
A política de retenção padrão, com os valores padrão mencionados acima, pode ser aplicada usando o comando a seguir.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
O comando resulta no seguinte objeto de política aplicado ao banco de dados ou à tabela.
{
"SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}
A limpeza da política de retenção de um banco de dados ou tabela pode ser feita usando o comando a seguir.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Exemplos
Para um ambiente que tenha um banco de dados chamado MyDatabase
, com tabelas MyTable1
, MyTable2
e MySpecialTable
.
Período de exclusão suave de sete dias e capacidade de recuperação desabilitada
Defina todas as tabelas no banco de dados para ter um período de exclusão suave de sete dias e capacidade de recuperação desabilitada.
Opção 1 (Recomendado): defina uma política de retenção no nível do banco de dados e verifique se não há políticas no nível da tabela definidas.
.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
Opção 2: Para cada tabela, defina uma política de retenção no nível da tabela, com um período de exclusão suave de sete dias e capacidade de recuperação desabilitada.
.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
Período de exclusão suave de sete dias e capacidade de recuperação ativada
Defina tabelas
MyTable1
eMyTable2
para ter um período de exclusão suave de sete dias e a capacidade de recuperação desabilitada.Defina
MySpecialTable
para ter um período de exclusão suave de 14 dias e a capacidade de recuperação ativada.Opção 1 (Recomendado): defina uma política de retenção no nível do banco de dados e defina uma política de retenção no nível da tabela.
.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
Opção 2: Para cada tabela, defina uma política de retenção no nível da tabela, com o período de exclusão suave relevante e a capacidade de recuperação.
.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
Período de exclusão suave de sete dias, e MySpecialTable
mantém seus dados indefinidamente
Defina tabelas MyTable1
e MyTable2
para ter um período de exclusão suave de sete dias e ter MySpecialTable
manter seus dados indefinidamente.
Opção 1: defina uma política de retenção no nível do banco de dados e defina uma política de retenção no nível da tabela, com um período de exclusão suave de 1.000 anos, a política de retenção padrão, para
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
Opção 2: Para tabelas
MyTable1
eMyTable2
, defina uma política de retenção no nível da tabela e verifique se a política no nível do banco de dados e no nível da tabela paraMySpecialTable
não está definida..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
Opção 3: Para tabelas
MyTable1
eMyTable2
, defina uma política de retenção no nível da tabela. Para a tabelaMySpecialTable
, defina uma política de retenção no nível da tabela com um período de exclusão suave de 1.000 anos, a política de retenção padrão..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"