Este tópico descreve o conceito de tabela particionada do PolarDB-X, seus benefícios e as diferenças em relação às tabelas particionadas do MySQL.
Em um banco de dados PolarDB-X no modo AUTO, uma tabela lógica com grande volume de dados é dividida em várias tabelas físicas menores conforme regras de particionamento específicas. A tabela lógica recebe o nome de tabela particionada, e cada tabela física menor corresponde a uma partição da tabela maior. O PolarDB-X oferece diversas regras de particionamento, como KEY, HASH, RANGE, LIST e COHASH. É possível combinar essas regras flexivelmente para criar regras de particionamento híbrido de nível 2. Essa abordagem permite gerenciar dados com eficiência e mantém alta compatibilidade com a sintaxe de particionamento do MySQL, proporcionando uma experiência operacional prática e familiar aos usuários.
O PolarDB-X também disponibiliza recursos que facilitam a operação e manutenção (O&M) e o gerenciamento, incluindo divisão de partições, mesclagem, migração de dados e agendamento. Os usuários gerenciam seus dados com flexibilidade e eficiência. Por exemplo, podem isolar os dados de uma partição específica em um nó de armazenamento independente ou subdividir uma partição grande em subpartições menores.
Benefícios
Oferece suporte às regras de particionamento RANGE, RANGE COLUMN, KEY, LIST, LIST COLUMN e COHASH, além de qualquer combinação dessas regras para partições de nível 2 com ou sem modelo, tornando a governança de dados mais flexível.
Compatível com Global Secondary Indexes (GSIs), que facilitam a indexação para consultas em diferentes dimensões.
Suporta poda de partições (partition pruning), permitindo que os otimizadores filtrem partições fora das condições de consulta especificadas. Consequentemente, menos partições são verificadas durante as consultas, o que reduz a carga de trabalho do mecanismo.
Implementa PartitionWise Joins. Esse recurso alivia significativamente a carga das consultas e melhora o desempenho ao abstrair tabelas particionadas em vínculos de partição e excluir eficientemente as partições que não atendem aos critérios de particionamento.
Permite consultas paralelas, multiplicando o desempenho em grandes tabelas particionadas.
Possibilita o agendamento flexível de partições para simplificar o isolamento de dados baseado em partições.
Comparação com tabelas particionadas do MySQL
Item | Tabela particionada do PolarDB-X | Tabela particionada do MySQL | |
Localização da partição | As partições são distribuídas automaticamente entre diferentes nós de dados para eliminar o gargalo de recursos de um único nó. | Todas as partições residem no nó primário e compartilham os recursos desse nó. | |
Regras de particionamento suportadas |
|
| |
Funções de particionamento suportadas Para obter mais informações, consulte Funções de particionamento. | Use funções para expressar regras HASH, RANGE ou LIST. As funções a seguir estão disponíveis tanto no PolarDB-X quanto no MySQL:
As funções abaixo são exclusivas do PolarDB-X:
| Use funções para expressar regras de particionamento HASH, RANGE ou LIST. Para obter informações sobre as funções aplicáveis ao particionamento de tabelas MySQL, consulte Partitioning Limitations Relating to Functions. O MySQL não suporta funções de particionamento que usam entradas do tipo caractere, como | |
Regras de particionamento hash | HASH |
|
|
KEY |
|
| |
CO_HASH |
| CO_HASH não é suportado. | |
Regras de particionamento por intervalo | RANGE | Aceita funções de particionamento que usam entradas do tipo caractere, como right/left/substr. Para obter mais informações, consulte Particionamento RANGE. | Não aceita funções de particionamento que usam entradas do tipo caractere, como right/left/substr. |
RANGE COLUMNS | Suporta, por padrão, até cinco colunas de chave de partição na definição da partição. Ajuste os parâmetros conforme necessário. Para obter mais informações, consulte Particionamento RANGE COLUMNS. | Não limita o número de colunas de chave de partição. | |
Regras de particionamento por lista | LIST |
|
|
LIST COLUNNS |
|
| |
Regras de particionamento secundário | Regras híbridas | É possível usar até 49 regras híbridas com base em sete regras ortométricas de particionamento de nível 1 e regras de particionamento de nível 2. |
|
Com e sem modelo | Todas as regras híbridas funcionam com ou sem modelo. Para obter mais informações, consulte Particionamento secundário. |
| |
Distribuição de localização |
| A localidade no nível da partição não é suportada. | |
Alterações no nível da partição |
| As tabelas particionadas do MySQL suportam as seguintes alterações nas definições de partição:
A maioria das alterações no nível da partição bloqueia tabelas. | |
Redefinição de tabela particionada |
|
| |
Restrições de coluna de chave de partição | No PolarDB-X, as tabelas particionadas não exigem que a chave primária e a chave única contenham todas as colunas de chave de partição (incluindo partições de nível 1 e nível 2). | No MySQL, as tabelas particionadas exigem que a chave primária e a chave única contenham todas as colunas de chave de partição (incluindo partições de nível 1 e nível 2). | |
Índices globais |
| Índices globais não são suportados. | |