Partilhar via


Política de retenção

Aplica-se a: ✅Microsoft FabricAzure 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 como Disabled.
  • 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

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, MyTable2e 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 e MyTable2 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 e MyTable2, 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 para MySpecialTable 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 e MyTable2, defina uma política de retenção no nível da tabela. Para a tabela MySpecialTable, 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 "{}"