Todos os produtos
Search
Central de documentação

AnalyticDB:Armazenamento em camadas de dados quentes e frios

Última atualização: Jun 27, 2026

O AnalyticDB for MySQL permite armazenar partições quentes e frias em mídias separadas: SSDs para dados quentes e Object Storage Service (OSS) para dados frios. Assim, você obtém alta performance de consulta onde é essencial e mantém os custos de armazenamento baixos.

Importante

O armazenamento em camadas aplica-se apenas a tabelas particionadas por data ou hora. O cluster deve executar a versão secundária 3.1.3.3 ou posterior e pertencer a uma das seguintes edições: Enterprise Edition, Basic Edition, Data Lakehouse Edition ou Data Warehouse Edition Elastic mode. Para verificar ou atualizar a versão secundária, faça login no console do AnalyticDB for MySQL e acesse a seção Configuration Information na página Cluster Information.

Escolha uma política de armazenamento

O AnalyticDB for MySQL oferece três políticas de armazenamento. Use a tabela abaixo para selecionar a opção mais adequada à sua carga de trabalho:

Política de armazenamento

Local de armazenamento dos dados

Mais indicado para

Custo

Armazenamento quente

Todos os dados em SSDs

Tabelas consultadas frequentemente com requisitos rigorosos de latência

Mais alto

Armazenamento frio

Todos os dados no OSS (armazenamento com redundância de zona, ZRS)

Dados de arquivamento raramente ou nunca acessados

Mais baixo

Armazenamento misto

Partições quentes em SSDs, partições frias no OSS

Grandes tabelas particionadas por tempo, em que dados recentes são ativos e dados antigos são raramente consultados

Médio

Critérios para escolha da política:

  • Use o armazenamento quente quando a latência de consulta for crítica e você acessar a maior parte dos dados regularmente.

  • Prefira o armazenamento frio para dados arquivados e quase nunca consultados.

  • Adote o armazenamento misto em cargas de trabalho de séries temporais, como tabelas de log, histórico de pedidos e dados de monitoramento. Esta é a escolha mais comum para grandes tabelas particionadas.

Funcionamento do armazenamento misto

Ao escolher o armazenamento misto, especifique o número de partições quentes (N). O AnalyticDB for MySQL classifica todas as partições pelo valor da chave de partição em ordem decrescente: as N principais partições tornam-se partições quentes armazenadas em SSDs, enquanto as demais passam a ser partições frias armazenadas no OSS.

Quando novas partições são adicionadas ou a contagem de partições quentes muda, o sistema reclassifica e migra os dados automaticamente para manter a distribuição correta. Para mais detalhes, consulte Impacto das alterações na contagem de partições.

Defina uma política de armazenamento

Na criação da tabela

Especifique a política usando o parâmetro storage_policy na instrução CREATE TABLE:

CREATE TABLE your_table (
    ...
)
PARTITION BY ...
PROPERTIES (
    "storage_policy" = "MIXED",   -- HOT, COLD, or MIXED
    "hot_partition_count" = "5"   -- Required when storage_policy = MIXED
);

Para uma tabela existente

Use ALTER TABLE para alterar a política de armazenamento. Após executar essa instrução, acompanhe o progresso da migração em Consultar o progresso da alteração da política de armazenamento.

-- Switch to mixed storage with 5 hot partitions
ALTER TABLE your_table
SET PROPERTIES (
    "storage_policy" = "MIXED",
    "hot_partition_count" = "5"
);

Para a referência completa da sintaxe, consulte CREATE TABLE e ALTER TABLE.

Importante

Após definir ou alterar uma política de armazenamento, a migração de dados entre o armazenamento quente e frio exige a conclusão de um job BUILD. Os tamanhos atualizados dos dados frios e quentes ficam visíveis somente após o término do job BUILD. Se não houver alterações nos dados depois de definir a política, o sistema não aciona automaticamente um BUILD. Nesse caso, execute manualmente BUILD TABLE para iniciar a migração dos dados.

Faturamento

Ao ativar o armazenamento em camadas de dados quentes e frios, o armazenamento de dados frios gera cobranças separadas no modelo pagamento conforme o uso, faturadas independentemente do armazenamento de dados quentes. Para detalhes sobre preços, consulte Preços.

Use planos de armazenamento para compensar os custos de armazenamento.

Impacto das alterações na contagem de partições

Quando uma nova partição é inserida

O sistema reclassifica todas as partições para manter exatamente N partições quentes. A partição com o menor valor de chave passa de quente para fria.

Exemplo: hot_partition_count é 5. Uma nova partição 20241226 (maior valor de chave) é inserida. Após um job BUILD, o sistema promove 20241226 para quente e move 20241221 (anterior menor partição quente) para fria.

image

Ao alterar a contagem de partições quentes

  • Aumento de N para M (M > N): M - N partições frias (aquelas com os maiores valores de chave) são promovidas para quentes.

  • Redução de N para M (M < N): N - M partições quentes (aquelas com os menores valores de chave) passam a ser frias.

Exemplo — aumento de 5 para 6: A partição 20241220 (maior chave de partição fria) passa de fria para quente.

image

Exemplo — redução de 5 para 4: A partição 20241221 (menor chave de partição quente) passa de quente para fria.

image

Visualize a política de armazenamento

Consulta para todas as tabelas

SELECT * FROM information_schema.table_usage;

Consulta para uma tabela específica

SELECT * FROM information_schema.table_usage
WHERE table_schema = '<schema_name>' AND table_name = '<table_name>';

Parâmetros de resposta

Parâmetro

Descrição

table_schema

Nome do banco de dados

table_name

Nome da tabela

storage_policy

Política de armazenamento: HOT, COLD ou MIXED

hot_partition_count

Número de partições quentes (após união dos shards; pode exceder o valor configurado — veja nota abaixo)

cold_partition_count

Número de partições frias

rt_total_size

Tamanho total dos dados em tempo real (rt_data_size + rt_index_size). Unidade: bytes

rt_data_size

Tamanho dos dados em tempo real. Unidade: bytes

rt_index_size

Tamanho dos dados de chave primária e índice nos dados em tempo real. Unidade: bytes

hot_total_size

Tamanho total dos dados nas partições quentes (hot_data_size + hot_index_size). Unidade: bytes

hot_data_size

Tamanho dos dados nas partições quentes. Unidade: bytes

hot_index_size

Tamanho dos dados de chave primária e índice nas partições quentes. Unidade: bytes

cold_total_size

Tamanho total dos dados nas partições frias (cold_data_size + cold_index_size). Unidade: bytes

cold_data_size

Tamanho dos dados nas partições frias. Unidade: bytes

cold_index_size

Tamanho dos dados de chave primária e índice nas partições frias. Unidade: bytes

Notas de uso:

  • Todos os valores de tamanho (rt_*, hot_*, cold_*) variam conforme a execução de operações INSERT, UPDATE, DELETE e BUILD.

  • Se hot_total_size e cold_total_size forem ambos 0 após a gravação de dados, significa que os dados estão sincronizados em tempo real. O valor de rt_total_size reflete o tamanho atual. Execute uma instrução BUILD para converter dados em tempo real em dados históricos. Somente então hot_total_size e cold_total_size serão preenchidos.

  • O parâmetro hot_partition_count configurado especifica o número de partições quentes por shard. Já o valor consultado de hot_partition_count representa a união entre todos os shards e pode ser maior se a distribuição de partições diferir entre eles.

Exemplo — hot_partition_count consultado vs. valor configurado:

A Tabela A possui dois shards e hot_partition_count está configurado como 2.

  • Shard 1: P4 e P5 são quentes; P1, P2 e P3 são frias.

  • Shard 2: P3 e P4 são quentes; P1 e P2 são frias.

O valor consultado corresponde à união: {P4, P5} ∪ {P3, P4} = {P3, P4, P5}, portanto hot_partition_count retorna 3.

image

Visualize o progresso da alteração da política de armazenamento

Após executar ALTER TABLE para mudar uma política de armazenamento, acompanhe o progresso da migração em information_schema.storage_policy_modify_progress.

Consulta para todas as tabelas

SELECT * FROM information_schema.storage_policy_modify_progress;

Consulta para uma tabela específica

SELECT * FROM information_schema.storage_policy_modify_progress
WHERE table_schema = '<schema_name>' AND table_name = '<table_name>';

Parâmetros de resposta

Parâmetro

Descrição

table_schema

Nome do banco de dados

table_name

Nome da tabela

task_id

ID do job de alteração da política de armazenamento

source_storage_policy

Política de armazenamento original: HOT, COLD ou MIXED

source_hot_partition_count

Número de partições quentes antes da alteração

dest_storage_policy

Nova política de armazenamento: HOT, COLD ou MIXED

dest_hot_partition_count

Número de partições quentes após a alteração

hot_to_cold_partition_count

Quantidade de partições movidas de quente para frio

cold_to_hot_partition_count

Quantidade de partições movidas de frio para quente

hot_to_cold_data_size

Volume de dados movidos de quente para frio. Unidade: bytes

cold_to_hot_data_size

Volume de dados movidos de frio para quente. Unidade: bytes

hot_data_size_before_change

Tamanho dos dados quentes antes da alteração. Unidade: bytes

cold_data_size_before_change

Tamanho dos dados frios antes da alteração. Unidade: bytes

hot_data_size_after_change

Tamanho dos dados quentes após a alteração. Unidade: bytes

cold_data_size_after_change

Tamanho dos dados frios após a alteração. Unidade: bytes

start_time

Início do intervalo de tempo em que a política de armazenamento é alterada

update_time

Fim do intervalo de tempo em que a política de armazenamento é alterada

progress

Progresso da alteração. Unidade: %

status

Status da alteração: INIT (não iniciado), RUNNING (em andamento) ou FINISH (concluído)