Todos os produtos
Search
Central de documentação

PolarDB:Arquivar para o formato X-Engine

Última atualização: Sep 18, 2026

À medida que os dados corporativos crescem, armazenar tudo — incluindo dados mornos e frios com acesso pouco frequente — em tabelas InnoDB padrão faz com que os custos de armazenamento aumentem continuamente. Por outro lado, arquivar esses dados em um armazenamento externo sacrifica o acesso analítico e as operações de leitura e escrita online. O PolarDB for MySQL oferece camadas de dados baseadas no X-Engine. É possível converter uma tabela inteira ou partições específicas para o X-Engine, que possui alta compactação. Assim, o InnoDB (dados quentes) e o X-Engine (dados mornos ou frios) coexistem na mesma tabela. Isso reduz os custos de armazenamento e mantém o acesso online aos dados, enquanto os dados no X-Engine continuam a suportar gravações DML e alterações de esquema DDL online.

Como funciona

O recurso de particionamento híbrido do PolarDB for MySQL permite que diferentes partições dentro de uma única tabela particionada usem mecanismos de armazenamento distintos. O funcionamento é o seguinte:

  • Camadas de dados: mantenha as partições de dados "quentes" com acesso frequente no mecanismo InnoDB para obter o melhor desempenho de leitura e escrita. Migre as partições de dados "mornos" ou "frios" com acesso menos frequente para o mecanismo X-Engine.

  • Roteamento inteligente: ao consultar a tabela, o PolarDB roteia a solicitação automaticamente para a partição correta e seu respectivo mecanismo de armazenamento, com base nas condições da consulta. Todo o processo é transparente para a camada de aplicação.

  • Alta taxa de compactação: o mecanismo X-Engine utiliza algoritmos avançados de compactação e o formato opcional {{XREF_0}} para entregar uma taxa de compactação de dados extremamente alta. Isso reduz significativamente o uso de armazenamento físico e diminui os custos.

Escopo de aplicação

Antes de usar este recurso, verifique se o seu cluster PolarDB for MySQL atende aos seguintes requisitos de versão.

  • Arquivar uma tabela padrão:

    • MySQL 8.0.1 com revisão 8.0.1.1.31 ou posterior.

    • MySQL 8.0.2 com revisão 8.0.2.2.12 ou posterior.

  • Arquivar uma tabela particionada: MySQL 8.0.2 com revisão 8.0.2.2.12 ou posterior.

  • Arquivar em um {{XREF_1}}: MySQL 8.0.2 com revisão 8.0.2.2.34.1 ou posterior.

Preparativos

Antes de começar a arquivar os dados, conclua os seguintes preparativos.

  1. {{XREF_2}}: torne-o disponível como opção de mecanismo de armazenamento para tabelas ou partições.

  2. Para arquivar uma tabela particionada como um {{XREF_3}}, as seguintes condições devem ser atendidas:

    • MySQL 8.0.2 com versão secundária 8.0.2.2.34.1 ou posterior. É necessário {{XREF_4}} o parâmetro loose_polar_allow_create_hybrid_partition como ON.

    • MySQL 8.0.2 com versão secundária anterior a 8.0.2.2.34.1. Atualize para uma versão secundária mais recente.

Arquivar tabelas padrão

Converta os dados e o mecanismo de armazenamento de uma tabela inteira não particionada de InnoDB para X-Engine.

Sintaxe

ALTER TABLE table_name ENGINE=engine_name[ TABLE_FORMAT=COLUMN];

Parâmetros

Parâmetro

Descrição

table_name

O nome da tabela a ser arquivada no X-Engine.

engine_name

O nome do mecanismo de armazenamento.

  • XEngine: arquiva no formato de armazenamento em linha do X-Engine.

  • InnoDB: reverte para o mecanismo InnoDB.

TABLE_FORMAT

Opcional. O formato de armazenamento de dados do X-Engine.

  • ROW (padrão): tabela orientada a linhas.

  • COLUMN: tabela orientada a colunas.

Exemplos

  • Arquive uma tabela padrão t1 para uma tabela orientada a linhas do X-Engine:

    ALTER TABLE t1 ENGINE=XEngine;
  • Arquive uma tabela padrão t1 para uma tabela orientada a colunas do X-Engine:

    ALTER TABLE t1 ENGINE=XEngine TABLE_FORMAT=COLUMN;
  • Reverta uma tabela padrão t1 de volta para o mecanismo InnoDB:

    ALTER TABLE t1 ENGINE=InnoDB;

Arquivar tabelas particionadas

Arquivar uma partição especificada

Arquive uma partição específica em uma tabela particionada — geralmente uma partição mais antiga que armazena dados frios — no X-Engine. Isso implementa o armazenamento em camadas de dados quentes e frios, e a tabela resultante se torna uma tabela particionada híbrida.

Sintaxe

ALTER TABLE table_name CHANGE PARTITION part_name ENGINE = XEngine[ TABLE_FORMAT=COLUMN];

Parâmetros

Parâmetro

Descrição

table_name

O nome da tabela a ser arquivada no X-Engine.

part_name

O nome da partição a ser arquivada no X-Engine.

TABLE_FORMAT

Opcional. O formato de armazenamento de dados do X-Engine.

  • ROW (padrão): armazenamento em linha.

  • COLUMN: tabela orientada a colunas.

Exemplos

  • Arquive a partição p1 de uma tabela particionada t1 para o formato de armazenamento em linha do X-Engine:

    ALTER TABLE t1 CHANGE PARTITION p1 ENGINE = XEngine;
  • Arquive a partição p1 de uma tabela particionada t1 para uma tabela orientada a colunas do X-Engine:

    ALTER TABLE t1 CHANGE PARTITION p1 ENGINE = XEngine TABLE_FORMAT=COLUMN;

Reverter para o mecanismo InnoDB

Sintaxe

ALTER TABLE table_name REORGANIZE PARTITION part_name INTO (partition_definition);

Parâmetros

Parâmetro

Descrição

table_name

O nome da tabela particionada híbrida.

part_name

O nome da partição a ser revertida para o mecanismo InnoDB.

partition_definition

Deve ser consistente com a partition_definition da partição a ser revertida.

Nota

A cláusula ENGINE na definição da partição é opcional. Se nenhum nome de mecanismo for especificado, o mecanismo padrão será o InnoDB, o mesmo da tabela. Se ENGINE=InnoDB for especificado, o mecanismo InnoDB será usado.

Exemplo

Reverta os dados armazenados na partição p1 de uma tabela particionada t1 que foram arquivados no X-Engine de volta para o mecanismo InnoDB.

ALTER TABLE t1 REORGANIZE PARTITION p1 INTO(PARTITION p1 VALUES LESS THAN(100));

Aplicar em produção

  • Melhor prática: arquive apenas dados mornos e frios com baixa frequência de acesso no X-Engine para alcançar o melhor equilíbrio entre custo e desempenho de consulta. Para dados com gravação intensiva e alto potencial de compactação (como logs e dados de instrumentação), prefira o formato de armazenamento em colunas do X-Engine (TABLE_FORMAT=COLUMN).

  • Mitigação de riscos: a migração de dados (ALTER TABLE) é uma operação que consome muitos recursos. Embora seja executada online, recomendamos executá-la fora dos horários de pico para evitar flutuações de desempenho nas cargas de trabalho de produção.

  • Monitoramento e alertas: durante o arquivamento, execute SHOW FULL PROCESSLIST; para acompanhar o progresso das operações DDL. Ao mesmo tempo, monitore de perto métricas importantes, como uso de CPU, IOPS e espaço em disco do cluster no console.