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.
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.
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.
Ao alterar a contagem de partições quentes
Aumento de N para M (M > N):
M - Npartições frias (aquelas com os maiores valores de chave) são promovidas para quentes.Redução de N para M (M < N):
N - Mpartiçõ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.
Exemplo — redução de 5 para 4: A partição 20241221 (menor chave de partição quente) passa de quente para fria.
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 |
|
|
Nome do banco de dados |
|
|
Nome da tabela |
|
|
Política de armazenamento: |
|
|
Número de partições quentes (após união dos shards; pode exceder o valor configurado — veja nota abaixo) |
|
|
Número de partições frias |
|
|
Tamanho total dos dados em tempo real ( |
|
|
Tamanho dos dados em tempo real. Unidade: bytes |
|
|
Tamanho dos dados de chave primária e índice nos dados em tempo real. Unidade: bytes |
|
|
Tamanho total dos dados nas partições quentes ( |
|
|
Tamanho dos dados nas partições quentes. Unidade: bytes |
|
|
Tamanho dos dados de chave primária e índice nas partições quentes. Unidade: bytes |
|
|
Tamanho total dos dados nas partições frias ( |
|
|
Tamanho dos dados nas partições frias. Unidade: bytes |
|
|
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_sizeecold_total_sizeforem ambos 0 após a gravação de dados, significa que os dados estão sincronizados em tempo real. O valor dert_total_sizereflete o tamanho atual. Execute uma instrução BUILD para converter dados em tempo real em dados históricos. Somente entãohot_total_sizeecold_total_sizeserão preenchidos.O parâmetro
hot_partition_countconfigurado especifica o número de partições quentes por shard. Já o valor consultado dehot_partition_countrepresenta 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.
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 |
|
|
Nome do banco de dados |
|
|
Nome da tabela |
|
|
ID do job de alteração da política de armazenamento |
|
|
Política de armazenamento original: |
|
|
Número de partições quentes antes da alteração |
|
|
Nova política de armazenamento: |
|
|
Número de partições quentes após a alteração |
|
|
Quantidade de partições movidas de quente para frio |
|
|
Quantidade de partições movidas de frio para quente |
|
|
Volume de dados movidos de quente para frio. Unidade: bytes |
|
|
Volume de dados movidos de frio para quente. Unidade: bytes |
|
|
Tamanho dos dados quentes antes da alteração. Unidade: bytes |
|
|
Tamanho dos dados frios antes da alteração. Unidade: bytes |
|
|
Tamanho dos dados quentes após a alteração. Unidade: bytes |
|
|
Tamanho dos dados frios após a alteração. Unidade: bytes |
|
|
Início do intervalo de tempo em que a política de armazenamento é alterada |
|
|
Fim do intervalo de tempo em que a política de armazenamento é alterada |
|
|
Progresso da alteração. Unidade: % |
|
|
Status da alteração: |