Todos os produtos
Search
Central de documentação

PolarDB:Teste TPC-H para índice colunar clusterizado (100 GB)

Última atualização: Jul 01, 2026

Este tópico descreve o design, o procedimento e os resultados de um teste de benchmark TPC-H para o índice colunar clusterizado (CCI) do PolarDB-X.

Contexto

O TPC-H é um benchmark de suporte à decisão estabelecido pelo Transaction Processing Performance Council (TPC) para avaliar a capacidade de consulta analítica de bancos de dados. A carga de trabalho do TPC-H consiste em oito tabelas e 22 consultas SQL complexas. A maioria inclui junções de tabelas, subconsultas e agregações GROUP BY.

Nota

A implementação do TPC-H descrita neste tópico baseia-se no benchmark oficial do TPC-H. No entanto, o teste não atende a todos os requisitos oficiais e os resultados não são comparáveis aos resultados de benchmarks TPC-H publicados.

Design do teste

Tamanho do conjunto de dados

Este teste utiliza um conjunto de dados de 100 GB (Scale Factor = 100). As principais tabelas incluem:

  • LINEITEM: aproximadamente 600 milhões de linhas

  • ORDERS: 150 milhões de linhas

  • PART_SUPP: 80 milhões de linhas

Especificações da instância de teste

Especificação do nó

Número de nós

Tamanho do conjunto de dados

8c32g

2/4

100 GB

16c64g

2/3/4/6

100 GB

Especificação da instância de teste de estresse

ecs.g7.4xlarge (16 vCPU, 64 GB de memória)

Procedimento

Etapa 1: Preparar a instância ECS de teste de estresse

Prepare uma instância ECS. Use essa instância para todas as operações subsequentes, como importação de dados e execução do teste de estresse.

Nota
  • Implante a instância ECS em uma VPC. Anote o nome e o ID da VPC, pois todas as instâncias subsequentes devem ser implantadas na mesma VPC.

  • Recomendamos usar o sistema operacional CentOS na instância ECS e atribuir um endereço IP público a ela.

Etapa 2: Preparar a instância PolarDB-X****

Crie uma instância PolarDB-X. Para obter instruções detalhadas, consulte Criar uma instância.

Nota
  • Certifique-se de que a instância PolarDB-X e a instância ECS de teste de estresse estejam na mesma VPC.

  • Adicione o endereço IP interno da instância ECS de teste de estresse à lista de permissões da instância PolarDB-X.

Etapa 3: Ajustar parâmetros da instância

Nota

Para obter desempenho ideal no teste de estresse, ajuste os parâmetros dos nós de computação do PolarDB-X.

  1. Defina o parâmetro XPROTO_MAX_DN_CONCURRENT como 4000. Para obter instruções detalhadas, consulte Configurações de parâmetros.

  2. Conecte-se à instância PolarDB-X por meio de uma interface de linha de comando (CLI). Na mesma sessão, execute as seguintes instruções SQL para desativar o log de SQL, a amostragem de CPU e a coleta automática de estatísticas.

    set global RECORD_SQL = false;
    set global MPP_METRIC_LEVEL = 0;
    set global ENABLE_CPU_PROFILE = false;
    set global ENABLE_BACKGROUND_STATISTIC_COLLECTION=false;
    set global ENABLE_STATISTIC_FEEDBACK=false;

Etapa 4: Instale a ferramenta Benchmark Boot

  1. Abra a porta 4121 no grupo de segurança da instância ECS de teste de estresse. Para mais informações, consulte Adicionar uma regra de grupo de segurança.

  2. Faça login na instância ECS de teste de estresse e execute o comando bash -c "$(curl -fsSL https://benchmark-boot.oss-cn-hangzhou.aliyuncs.com/setup.sh)" para instalar o Benchmark Boot. Para mais informações, consulte Baixe e instale o Benchmark Boot.

  3. No navegador, acesse http://{endereço IP público da instância de teste de estresse}:4121. A página inicial do Benchmark Boot será exibida, confirmando a instalação bem-sucedida.

Etapa 5: Preparar os dados

  1. No console do Benchmark Boot, acesse Stress Test > Database Connection > Configure Database Connection. Configure a string de conexão do PolarDB-X (endereço IP do host, porta, nome de usuário e senha). Insira o nome do banco de dados TPC-H, selecione AUTO para Database Creation Mode e clique em Submit.

  2. Acesse Stress Test > TPCH > Import TPC-H. Defina Submit como 100 e Submit como 16. Clique em Submit para importar o conjunto de dados TPC-H de 100 GB para a instância primária do PolarDB-X.

    Nota

    Após a importação dos dados, o Benchmark Boot executa automaticamente a instrução ANALYZE TABLE para coletar estatísticas.

  3. Após importar o conjunto de dados TPC-H de 100 GB, execute as seguintes instruções SQL na instância primária do PolarDB-X para criar índices colunares clusterizados (CCIs). Para mais informações, consulte Criar e usar CCIs.

    create clustered columnar index `nation_col_index` on nation(`n_nationkey`) partition by hash(`n_nationkey`) partitions 1;
    
    create clustered columnar index `region_col_index` on region(`r_regionkey`) partition by hash(`r_regionkey`) partitions 1;
    
    create clustered columnar index `customer_col_index` on customer(`c_custkey`) partition by hash(`c_custkey`) partitions 64;
    
    create clustered columnar index `part_col_index` on part(`p_size`) partition by hash(`p_partkey`) partitions 64;
    
    create clustered columnar index `partsupp_col_index` on partsupp(`ps_partkey`) partition by hash(`ps_partkey`) partitions 64;
    
    create clustered columnar index `supplier_col_index` on supplier(`s_suppkey`) partition by hash(`s_suppkey`) partitions 64;
    
    create clustered columnar index `orders_col_index` on orders(`o_orderdate`,`o_orderkey`) partition by hash(`o_orderkey`) partitions 64;
    
    create clustered columnar index `lineitem_col_index` on lineitem(`l_shipdate`,`l_orderkey`) partition by hash(`l_orderkey`) partitions 64;
    Nota
    • Execute a instrução SHOW COLUMNAR INDEX para visualizar o status atual dos CCIs. Para mais informações, consulte SHOW COLUMNAR INDEX.

    • A criação dos CCIs leva cerca de 45 minutos.

Etapa 6: Adicionar uma instância de armazenamento colunar somente leitura

Adicione uma instância de armazenamento colunar somente leitura à instância primária do PolarDB-X. Para obter instruções detalhadas, consulte Adicionar uma instância de armazenamento colunar somente leitura.

Nota

Adicione o endereço IP interno da instância ECS de teste de estresse à lista de permissões da instância de armazenamento colunar somente leitura do PolarDB-X.

Etapa 7: Execute o teste TPC-H

  1. No console do Benchmark Boot, acesse Stress Test > Database Connection > Configure Database Connection. Configure a string de conexão da instância de armazenamento colunar somente leitura, insira o nome do banco de dados TPC-H, selecione AUTO para Database Creation Mode e clique em Submit.

  2. Acesse Stress Test > TPCH > Run TPCH. Selecione Submit, insira uma descrição da tarefa e clique em Submit para executar as 22 instruções de consulta do benchmark TPC-H.

  3. Acesse Test Result > TPCH para visualizar os resultados finais do teste.

    Nota

    A primeira execução do benchmark requer aquecimento. Para obter resultados estáveis, recomendamos executar o teste várias vezes.

Resultados do teste

Todos os tempos de execução estão em segundos (s).

Consulta

8c32g * 2

8c32g * 4

16c64g * 2

16c64g * 3

16c64g * 4

16c64g * 6

Q1

5,9

3,99

4,37

1,6

1,22

0,86

Q2

2,41

1,68

1,63

1,15

1,04

0,86

Q3

4,18

2,13

2,43

1,77

1,20

0,88

Q4

3,72

1,02

0,94

0,78

0,48

0,44

Q5

5,63

3,12

3,27

2,05

1,68

1,4

Q6

0,41

0,38

0,42

0,18

0,15

0,13

Q7

5,47

2,94

2,93

2,08

1,72

1,34

Q8

3,61

2,31

1,98

1,81

1,68

1,51

Q9

13,6

6,91

7,46

4,93

3,85

3,11

Q10

6,36

3,12

3,5

2,31

1,73

1,26

Q11

1,51

0,64

0,74

0,53

0,49

0,35

Q12

1,86

0,82

0,78

0,57

0,40

0,35

Q13

8,85

4,29

4,44

2,6

1,64

1,2

Q14

0,94

0,58

0,7

0,51

0,38

0,31

Q15

1,26

0,76

0,88

0,59

0,47

0,37

Q16

2,3

1

1,19

0,75

0,61

0,46

Q17

1,86

0,75

0,69

0,47

0,43

0,49

Q18

8,43

4,18

4,43

3,16

2,19

1,6

Q19

4,92

2,16

1,86

1,07

1,02

0,73

Q20

1,88

1,34

1,17

0,73

0,78

0,73

Q21

12,05

3,18

3,11

2,38

1,72

1,57

Q22

2,67

1,25

1,39

0,98

0,66

0,61

Tempo total

99,82

48,55

50,31

33,00

25,54

20,56