Todos os produtos
Search
Central de documentação

PolarDB:Particionamento manual

Última atualização: Jun 28, 2026

O particionamento manual no PolarDB for Xscale oferece controle explícito sobre a distribuição de dados entre os nós de dados. Essa abordagem é ideal para aplicações essenciais que exigem alta concorrência e throughput, permitindo que você selecione uma estratégia de partição alinhada aos padrões de leitura e escrita da sua carga de trabalho.

O particionamento manual exige familiaridade com o funcionamento de bancos de dados distribuídos. Antes de projetar os schemas das suas tabelas, determine se sua carga de trabalho é intensiva em leitura, em escrita ou mista — essa definição orienta a escolha do tipo de tabela mais adequado.

Crie um banco de dados AUTO

Para utilizar o particionamento manual, crie um banco de dados no modo AUTO:

CREATE DATABASE autodb1 MODE='auto'

Tipos de tabela

O PolarDB for Xscale suporta três tipos de tabela lógica para particionamento manual. Cada um possui uma topologia física distinta e atende a cargas de trabalho específicas.

Escolha o tipo de tabela com base na sua carga de trabalho principal:

  • Conjuntos de dados pequenos e baixa concorrência — utilize uma tabela não particionada

  • Leitura intensiva e atualizações raras — utilize uma tabela de broadcast

  • Grandes volumes de dados com alta concorrência e throughput — utilize uma tabela particionada

Tipo de tabela

Topologia física

Mais indicado para

Comportamento de leitura e escrita

Tabela não particionada

Uma tabela física em um único nó de dados

Tabelas pequenas com dados limitados e baixa concorrência

Um único nó de dados processa todas as leituras e escritas.

Tabela de broadcast

Uma réplica por nó de dados; as réplicas permanecem sincronizadas

Tabelas de configuração e outros dados lidos frequentemente, mas raramente atualizados

Balanceamento de carga de leitura: as consultas são distribuídas entre os nós de dados. Amplificação de escrita: cada operação de escrita deve ser propagada para todas as réplicas para manter a consistência.

Tabela particionada

Múltiplas partições distribuídas entre os nós de dados; cada partição corresponde a uma tabela física

Grandes conjuntos de dados que demandam alta concorrência e throughput

As operações de leitura e escrita são direcionadas ao nó de dados de destino com base na coluna chave de partição, distribuindo a carga automaticamente.

Aviso

Tabelas de broadcast amplificam cada operação de escrita em todos os nós de dados. Utilize-as apenas para tabelas com alterações pouco frequentes. Para tabelas com escritas frequentes, prefira uma tabela particionada.

Importante

Defina a coluna chave de partição com cuidado antes de criar uma tabela particionada. A chave de partição determina qual nó de dados processará cada consulta: filtros baseados na chave de partição direcionam a execução apenas para as partições relevantes, reduzindo significativamente o volume de dados verificados e melhorando o desempenho. Por exemplo, ao particionar uma tabela de pedidos pela coluna customer_id, uma consulta com WHERE customer_id = 42 acessa somente a partição que contém os dados daquele cliente, em vez de varrer todas as partições.

Crie tabelas

Método 1: Especifique explicitamente o tipo de tabela

Crie uma tabela não particionada

Sintaxe

CREATE TABLE xxx (...)
SINGLE

Exemplo

CREATE TABLE sin_tbl(
 id bigint not null auto_increment,
 bid int,
 name varchar(30),
 birthday datetime,
 primary key(id)
)
single ;

Crie uma tabela de broadcast

Sintaxe

CREATE TABLE xxx (...)
BROADCAST

Exemplo

CREATE TABLE bro_tbl(
 id bigint not null auto_increment,
 bid int,
 name varchar(30),
 birthday datetime,
 primary key(id)
)
broadcast ;

Crie uma tabela particionada

Para consultar a sintaxe completa e as opções disponíveis, consulte Criar manualmente uma tabela particionada (modo AUTO).

Método 2: Desative o particionamento automático globalmente

Por padrão, o PolarDB for Xscale particiona automaticamente novas tabelas. Para criar tabelas não particionadas sem precisar especificar SINGLE a cada vez, desative esse comportamento por meio de uma variável global:

SET GLOBAL AUTO_PARTITION=false;

Após definir essa variável, novas tabelas serão criadas como não particionadas por padrão, tornando opcional o uso da palavra-chave SINGLE.

Referências