A otimização de armazenamento do DLF simplifica a manutenção de tabelas Paimon por meio de compactação adaptativa, limpeza de snapshots expirados, gerenciamento do ciclo de vida de partições e remoção de arquivos órfãos. Este guia aborda as estratégias de otimização disponíveis e como o DLF as executa.
Estratégias de otimização de armazenamento
|
Tipo de estratégia |
Descrição |
Mecanismo de execução do DLF |
|
Mescla arquivos pequenos em arquivos maiores, reduzindo a quantidade de arquivos, a sobrecarga de metadados e os custos de busca durante consultas. Melhora o desempenho de consultas em tabelas Paimon. |
O DLF aciona a compactação automaticamente ao confirmar gravações de dados. |
|
|
Snapshots protegem arquivos de dados referenciados contra exclusão, preservando estados históricos. Conforme os snapshots se acumulam, o consumo de armazenamento aumenta. Expirar snapshots desnecessários libera espaço de armazenamento. |
O DLF aciona a limpeza de snapshots expirados automaticamente durante jobs de otimização de armazenamento. O tempo de expiração padrão é de uma hora, ajustável por meio de parâmetros da tabela Paimon. Para mais informações, consulte Limpar dados expirados. |
|
|
Muitos cenários exigem apenas dados recentes. Particione dados por tempo e defina regras de expiração para excluir automaticamente partições antigas, liberando armazenamento. Configure camadas inteligentes de armazenamento para mover dados pouco acessados da classe Standard para classes de custo mais baixo (Infrequent Access, Archive ou Cold Archive). |
Configure o tempo de expiração por meio de parâmetros da tabela Paimon em Definir tempo de expiração de partição. Após a configuração, a limpeza é acionada automaticamente durante jobs de otimização de armazenamento do DLF. Use camadas inteligentes de armazenamento para mover dados de partições elegíveis para classes de armazenamento de menor custo, ou altere manualmente a classe de armazenamento na página Table Details. A página Storage Overview mostra a distribuição de camadas entre catálogos, bancos de dados e tabelas. |
|
|
Arquivos órfãos existem no caminho de armazenamento da tabela, mas nenhum snapshot os referencia. Geralmente resultam de jobs de gravação interrompidos, falhas em commits ou resíduos deixados por processos de limpeza anormais. Como nenhum snapshot os referencia, a expiração de snapshots não pode removê-los, exigindo limpeza periódica. |
Acione a limpeza de arquivos órfãos manualmente pelo console ou ative a limpeza automática. Os arquivos órfãos limpos são movidos temporariamente para a lixeira ( |
Ativar ou desativar a otimização inteligente de armazenamento
A aba Storage Optimization aparece apenas para tabelas Paimon.
Faça login no console do DLF
Na página Catalogs, clique em nome do catálogo.
Na aba Database, clique em nome do banco de dados desejado para visualizar suas tabelas.
Na lista Tables, clique em nome da tabela desejada para visualizar as informações de schema.
Clique em aba Storage Optimization. O interruptor de otimização inteligente de armazenamento vem ativado por padrão. Para desativá-lo, clique em interruptor
.
Visualizar e configurar estratégias de otimização de armazenamento
Compactação
Na aba Storage Optimization, clique em Compaction para visualizar o status de execução, registros de redimensionamento e histórico de execução.
Edite o modo de política conforme suas necessidades:
Modo de recursos dinâmicos (recomendado)
O sistema dimensiona automaticamente os recursos de computação com base na carga de trabalho em tempo real, eliminando o planejamento manual de capacidade. Indicado para tráfego flutuante. Três preferências de configuração estão disponíveis:
Balanced: Equilibra velocidade de compactação e consumo de recursos (padrão).
Low latency: Aloca mais recursos para compactação mais rápida, reduzindo o atraso na visibilidade dos dados.
-
Low resource usage: Limita o uso de recursos para reduzir custos de computação, resultando em maior tempo de compactação.
Modo de recursos fixos
Especifique manualmente os recursos de computação para compactação. Adequado para tráfego estável ou controle rigoroso de custos.
Requisitos de configuração: Mínimo de 2 CU.
Configurações de parâmetros: Personalize o intervalo de acionamento da compactação e a contagem de buckets.
Visualizar status de execução
Visualize o status de execução da otimização para a tabela atual e configure assinaturas de alertas do CloudMonitor por meio de Monitorar otimização do lakehouse.
Visualizar registros de redimensionamento
Registra eventos de redimensionamento de buckets para uma tabela ou partições específicas, refletindo alterações na estrutura física de armazenamento. O redimensionamento resolve problemas de desempenho decorrentes de mudanças no volume de dados. Use esses registros para verificar se uma tabela está passando por redimensionamento, o que impede a compactação.
Visualizar histórico de execução
Visualize o histórico de execução de compactação da tabela atual. Utilize esses registros para:
Confirmar execução de tarefas: Verifique se as tarefas de compactação em segundo plano estão sendo executadas corretamente e evite o acúmulo de arquivos pequenos.
Avaliar eficiência da compactação: Compare a quantidade e o tamanho dos arquivos antes e depois da compactação para avaliar a eficácia da estratégia.
Limpeza de snapshots expirados
Na aba Storage Optimization, clique em Expired Snapshot Cleanup para configurar regras de limpeza e visualizar resultados.
-
Configure regras de limpeza de snapshots
Clique em Modify, defina o Snapshot Retention Period (o padrão é 1 hora) e clique em Save.
-
Visualize resultados da limpeza de snapshots
Contagem atual de snapshots: Quantidade de snapshots restantes.
Informações do snapshot mais antigo: Detalhes do snapshot mais antigo, incluindo ID do snapshot, horário do commit, tipo de commit, contagem total de linhas e linhas adicionadas no commit.
Gerenciamento do ciclo de vida de partições
Na aba Storage Optimization, clique em Partition Lifecycle para configurar regras de limpeza, visualizar resultados e definir camadas de armazenamento.
Regras de limpeza de partições
Clique em interruptor
ao lado de Expired Partition Cleanup para ativá-lo.-
Configure as seguintes regras de limpeza e clique em Save.
Também é possível definir essas configurações por meio de pares chave-valor nas opções da tabela.
Parâmetro
Descrição
Expiration Policy
(partition.expiration-strategy)
Selecione uma das seguintes estratégias de expiração:
-
Baseada no último acesso (access-time): Expira partições com base no horário do último acesso.
-
Baseada no valor da partição (values-time): Permite configurar o formato e o padrão do timestamp da partição.
-
Formato do timestamp (partition.timestamp-formatter): Configure formatos como
yyyy-MM-dd,yyyyMdd,dd/MM/yyyyedd.MM.yyyy. -
Padrão do timestamp (partition.timestamp-pattern): Por padrão, o primeiro campo de partição é utilizado. Configure padrões como
$dtou$year-$month-$day.
-
-
Baseada na última atualização (update-time): Expira partições com base no horário da última atualização.
Partition Retention Period
(partition.expiration-time)
Unidade: dias. Exemplo:
30d. O valor máximo é 999.999 dias. O período de retenção começa com base na estratégia de expiração selecionada. -
(Opcional) Após salvar, clique em Cleanup Rule Settings ao lado de Modify para modificar as configurações.
Para reter partições permanentemente, não configure regras de expiração. O sistema não limpa dados de partições por padrão.
Resultados da limpeza de partições
Clique em View Partitions para visualizar a lista de partições, incluindo nome da partição, contagem de linhas, arquivos referenciados, tamanho do arquivo, criador, classe de armazenamento, último modificador, timestamps e ações.
Camadas de armazenamento
|
Parâmetro |
Descrição |
|
Intelligent Tiering |
Nota
|
|
Tiering Strategy |
|
|
Tiering Rule |
Os requisitos mínimos de duração de armazenamento variam conforme a classe de armazenamento. Configure as regras de camadas:
|
Além das camadas inteligentes de armazenamento, você pode alterar manualmente a classe de armazenamento na página de detalhes da tabela. A página Storage Overview mostra a distribuição de camadas entre catálogos, bancos de dados e tabelas.
Limpeza de arquivos órfãos
Na aba Storage Optimization, clique em Orphan file cleanup para acionar manualmente a limpeza de arquivos órfãos.
Para ativar a limpeza automática, adicione auto-orphan-files-clean.enabled = true à configuração do catálogo. Os arquivos órfãos limpos são movidos temporariamente para a lixeira (system.trash). Ajuste o tempo de permanência dos arquivos na lixeira com a configuração de catálogo dlf.trashed-file-retained-days.
Alterar manualmente a classe de armazenamento
Na lista Database, clique em nome de um banco de dados para visualizar a lista de tabelas.
Na lista Tables, clique em nome de uma tabela para visualizar seu schema.
-
Clique em aba Table Details para alterar manualmente a classe de armazenamento de tabelas particionadas e não particionadas.
Tabelas particionadas
Na aba Partitions, altere a classe de armazenamento das partições.
-
Para partições nas classes de armazenamento Standard, Infrequent Access ou Archive:
Na coluna Actions, clique em Modify Storage Class para alterar para qualquer outra classe de armazenamento.
-
Para partições na classe de armazenamento Cold Archive:
Restaure os dados primeiro e depois altere a classe de armazenamento:
-
Clique em Restore e configure a Restored Copy Availability Duration. Selecione várias partições para uma restauração em lote.
Intervalo de valores: Um número inteiro de 1 a 365 (unidade: dias).
Valor padrão: 1 dia.
Quando os dados entrarem no estado restaurado, clique em Modify Storage Class na coluna Actions para alterar a classe de armazenamento.
-
Tabelas não particionadas
Na seção Basic Information da tabela, modifique a Storage Class.
-
Para classes de armazenamento Standard, Infrequent Access ou Archive:
Clique em Edit ao lado de Storage Class para alterar para qualquer outra classe de armazenamento.
-
Para a classe de armazenamento Cold Archive:
Restaure os dados primeiro e depois altere a classe de armazenamento:
-
Clique em Restore ao lado de Storage Class e configure a Restored Copy Availability Duration.
Intervalo de valores: Um número inteiro de 1 a 365 (unidade: dias).
Valor padrão: 1 dia.
Quando a Storage Class mudar para Cold Archive (Restored), clique em Edit ao lado de Storage Class. Em seguida, altere para qualquer outra classe de armazenamento.
-
NotaTempo de restauração: O Cold Archive suporta apenas prioridade de restauração padrão, que leva de 2 a 5 horas.
Horário de início do estado restaurado: Quando o primeiro objeto Cold Archive em uma partição entra no estado restaurado após a conclusão da restauração.
Duração de disponibilidade da cópia restaurada: Tempo durante o qual os dados permanecem acessíveis após a restauração do Cold Archive. Após a expiração, a partição retorna ao estado congelado. Envie uma nova solicitação de restauração para acessá-la novamente.
Procedimento de restauração
O objeto inicia no estado congelado.
Após enviar uma solicitação de restauração, o objeto entra no estado de restauração. O tempo de restauração varia.
-
Após a conclusão da restauração, o objeto entra no estado restaurado. Para camadas de armazenamento no nível da tabela, a partição torna-se acessível depois que todos os objetos forem restaurados.
Estenda o estado restaurado ajustando a duração de disponibilidade da cópia restaurada, até o máximo permitido para a classe de armazenamento.
Após a expiração da duração de disponibilidade da cópia restaurada, o objeto retorna ao estado congelado. Envie uma nova solicitação de restauração para acessá-lo novamente.
-
Quando ativado, o sistema aplica camadas de armazenamento automaticamente para todas as tabelas no catálogo com base nas regras de ciclo de vida configuradas. Especifique a estratégia e as regras conforme necessário.