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 das tabelas ou as exibições materializadas. É útil remover dados que fluem continuamente para uma tabela e cuja relevância se baseia 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 se aplica 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 do 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 estão qualificados para remoção. Não há garantia específica quando ocorre a remoção. Os dados podem "permanecer" mesmo que a política de retenção seja 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 exclusã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 reversível 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 for feito, os dados ingeridos não serão confirmados na tabela de origem, evitando a necessidade de persistir os dados. Como resultado,
Recoverability
só pode ser definido comoDisabled
. - Essa configuração é útil principalmente quando os dados são ingeridos em uma tabela. Uma política de atualização transacional é usada para transformá-la e redirecionar a saída para outra tabela.
- A política de retenção em uma exibição materializada afeta apenas a exibição, não a tabela de origem. Os dados de origem permanecem inalterados.
O objeto de política
Uma política de retenção inclui as seguintes propriedades:
- SoftDeletePeriod:
- Período de tempo para o qual é garantido que os dados sejam mantidos disponíveis para consulta. O período é medido a partir do momento em que os dados foram ingeridos.
- Assume o padrão de
1,000 years
. - Ao alterar o período de exclusão reversível de uma tabela ou banco de dados, o novo valor se aplica a dados novos e existentes.
- Capacidade de recuperação:
- Capacidade de recuperação de dados (Habilitado/Desabilitado) depois que os dados foram excluídos.
- Assume o padrão de
Enabled
. - Se definido como
Enabled
, os dados poderão ser recuperados por 14 dias após a exclusão reversível. - Não é possível configurar o período de recuperação.
Comandos de gerenciamento
- 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.
Padrões
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 por seu criador de acordo com os requisitos conhecidos.
Quando você executa um .show
comando 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 tem um banco de dados chamado MyDatabase
, com tabelas MyTable1
, MyTable2
, e MySpecialTable
.
Período de exclusão reversível de sete dias e capacidade de recuperação desativada
Defina todas as tabelas no banco de dados para ter um período de exclusão reversível 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 reversível 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 reversível de sete dias e capacidade de recuperação habilitada
Defina tabelas
MyTable1
eMyTable2
tenha um período de exclusão reversível de sete dias e a capacidade de recuperação desabilitada.Defina
MySpecialTable
para ter um período de exclusão reversível de 14 dias e capacidade de recuperação habilitada.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 reversível e a capacidade de recuperação relevantes.
.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 reversível de sete dias e MySpecialTable
mantém seus dados indefinidamente
Defina tabelas MyTable1
e MyTable2
tenha um período de exclusão reversível de sete dias e mantenha MySpecialTable
seus dados indefinidamente.
Opção 1: definir uma política de retenção no nível do banco de dados e definir uma política de retenção no nível da tabela, com um período de exclusão reversível 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 nãoMySpecialTable
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 tableMySpecialTable
, defina uma política de retenção no nível da tabela com um período de exclusão reversível 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 "{}"