Use a Limpeza de Dados Históricos no DMS para remover periodicamente dados antigos de tabelas grandes, liberar armazenamento e melhorar o desempenho das consultas.
Pré-requisitos
O banco de dados é MySQL.
A instância de banco de dados usa o control mode Stable Change ou Security Collaboration.
Procedimento
Faça login no DMS 5.0.
-
Na barra de navegação superior, escolha .
NotaNo modo simples do DMS, clique em
no canto superior esquerdo e selecione . -
Na página de solicitação de ticket de Data Change, configure os parâmetros e clique em Submit.
Principais parâmetros:
Parâmetro
Descrição
Database
Selecione um banco de dados com permissão de alteração. Permissões somente leitura ou apenas no nível de tabela são insuficientes. View My Permissions.
Deletion Settings
Insira o Table Name, Time Field, Time Accuracy, Retention Period (Days) e Filter Condition (Nullable). O sistema gera automaticamente um script de limpeza com base nessas informações.
Nota-
Para tabelas lógicas, insira o nome da tabela lógica.
-
O período de retenção define quando o sistema exclui os dados automaticamente. Por exemplo, um período de 7 dias remove dados anteriores a esse prazo.
Exemplo: Se Table Name for
api_call_record_11, Time Field forgmt_create, Retention Period for7e Filter Condition forstatus = 1 or status=2, o sistema gera a seguinte instrução SQL:DELETE FROMapi_call_record_11WHEREgmt_create< SUBDATE(CURDATE(),INTERVAL 7 DAY) AND (status = 1 or status=2);Schedule
O DMS remove dados em lotes com base na chave primária ou em uma chave única não nula. Agende a limpeza em horários de baixa atividade e com baixa frequência para minimizar o impacto no desempenho.
Nota-
A execução real pode variar em até um minuto do horário agendado.
-
O intervalo mínimo para execução agendada é de uma hora. Por padrão, a tarefa roda diariamente às 02:00.
Policy Configuration
Especifique uma duração de execução. A tarefa pausa automaticamente após o tempo definido para evitar impactos nos serviços durante horários de pico.
-
Execute Task Without End Time.
-
Specify End Time (Hours): Defina um limite de duração para evitar afetação de pipelines de sincronização downstream (como DTS ou AnalyticDB).
Após especificar a duração, ative a opção Periodically Optimize Table (desfragmentação), desativada por padrão. Essa função executa OPTIMIZE TABLE após um número específico de ciclos de limpeza. Padrão: a cada 60 ciclos.
Nota-
O recurso
OPTIMIZE TABLEtem suporte apenas para bancos de dados RDS for MySQL e PolarDB for MySQL. -
A operação
OPTIMIZE TABLErespeita a duração de execução definida na configuração da política e interrompe-se ao término desse período.
Change Stakeholder
Os stakeholders especificados podem visualizar e colaborar no ticket. Caso contrário, apenas administradores e DBAs terão acesso.
-
-
Após enviar o ticket, ative a verificação de atraso de replicação, defina um limiar ou modifique o SQL.
-
(Opcional) Ative a verificação de atraso de replicação para evitar que atrasos excessivos afetem os failovers entre primário e standby.
Na seção Basic Information, clique em chunk option para definir um limiar de atraso de replicação em segundos. A execução do SQL será interrompida se o atraso exceder esse limiar.
NotaAtualmente, este recurso tem suporte apenas para bancos de dados ApsaraDB RDS for MySQL.
-
(Opcional) Modifique o SQL.
O sistema executa automaticamente uma pré-verificação de SQL. Se a pré-verificação falhar, modifique o SQL conforme o motivo da falha e tente novamente.
NotaAntes de enviar para aprovação, modifique as configurações de execução em lote e agendamento. Após o envio, essas configurações tornam-se imutáveis.
-
Clique em Submit. No modo Security Collaboration, o sistema envia o ticket para aprovação conforme as regras configuradas. No modo Stable Change, a aprovação ocorre automaticamente.
-
Após a aprovação, o sistema gera uma tarefa agendada e envia um e-mail ao proprietário do ticket. Na seção Basic Information, clique em View Scheduled Tasks para visualizar os detalhes do agendamento. Você também pode:
-
Pausar agendamento
NotaPara desativar permanentemente o agendamento, abra a página de detalhes do ticket, clique em Close Ticket no canto superior direito, insira um motivo e clique em Submit.
-
Retomar agendamento
NotaDepois de fechar um ticket, envie um novo ticket para retomar o agendamento.
-
Alterar proprietário do ticket
O solicitante é o proprietário do ticket por padrão. Apenas o proprietário pode pausar ou retomar o agendamento, e as notificações de execução são enviadas exclusivamente a ele.
-
O sistema executa o SQL de limpeza conforme a política de agendamento. Visualize os detalhes do agendamento e o histórico de execução no ticket.
NotaSe uma tarefa de limpeza já estiver em execução no horário agendado, o sistema não criará uma nova tarefa. Configure a frequência de execução adequadamente.
-
P: A execução de
OPTIMIZE TABLEcomo parte de uma tarefa de Limpeza de Dados Históricos impacta o negócio?R: Depende. Com o Lock-free Schema Change ativado,
OPTIMIZE TABLEnão impacta o negócio. Sem ele, executeOPTIMIZE TABLEdurante horários de baixa atividade. Para ativar o Lock-free Schema Change, consulte Enable and disable lock-free schema change. -
P: Como parar uma operação
OPTIMIZE TABLEque está demorando muito?R: Acesse a página Ticket Details e pause a tarefa na seção Execute.
-
P: Devo pausar a Limpeza de Dados Históricos enquanto executo
OPTIMIZE TABLEfora do DMS?R: Sim, pause a tarefa primeiro.
OPTIMIZE TABLEconsome temporariamente de duas a três vezes o tamanho da tabela. Executar uma limpeza baseada em DELETE simultaneamente aumenta a pressão no disco e pode causar falha na tarefa. Certifique-se de que a instância tenha espaço livre em disco equivalente ao espaço da tabela a ser recuperado e executeOPTIMIZE TABLEdurante horários de baixa atividade. Retome a Limpeza de Dados Históricos após a conclusão da operação.
Perguntas frequentes
-