全部产品
Search
文档中心

PolarDB:Uji TPC-H untuk CCIs berdasarkan 100 GB data

更新时间:Jul 06, 2025

Topik ini menjelaskan desain, prosedur, dan hasil uji TPC Benchmark-H (TPC-H) untuk PolarDB-X Clustered Columnar Indexes (CCIs).

Informasi latar belakang

TPC-H adalah benchmark yang banyak digunakan untuk mengevaluasi kemampuan kueri analitik database. Benchmark ini dikembangkan oleh Transaction Processing Performance Council (TPC). Dalam TPC-H, 22 kueri SQL kompleks dijalankan pada delapan tabel. Sebagian besar kueri melibatkan join antar-tabel, subkueri, dan klausa GROUP BY.

Catatan

Uji TPC-H dalam topik ini didasarkan pada benchmark TPC-H tetapi tidak memenuhi semua persyaratannya. Oleh karena itu, hasil uji ini tidak dapat dibandingkan dengan hasil publikasi dari benchmark TPC-H.

Desain pengujian

Jumlah data pengujian

Pengujian ini menggunakan 100 GB data, yang menunjukkan faktor skalar sebesar 100. Berikut adalah jumlah data di setiap tabel utama:

  • Tabel LINEITEM berisi sekitar 600 juta baris data.

  • Tabel ORDERS berisi 150 juta baris data.

  • Tabel PART_SUPP berisi 80 juta baris data.

Spesifikasi instance untuk uji TPC-H

Spesifikasi node

Jumlah node

Ukuran set data

8 core dan 32 GB memori

2 atau 4

100 GB

16 core dan 64 GB memori

2, 3, 4, atau 6

100 GB

Tipe instance ECS untuk uji stres

ecs.g7.4xlarge (16 vCPU dan 64 GB memori)

Prosedur

Langkah 1: Buat instance ECS untuk uji stres

Buat instance Elastic Compute Service (ECS) untuk menyiapkan data dan menjalankan uji stres.

Catatan
  • Instance ECS harus berada dalam virtual private cloud (VPC). Catat nama dan ID VPC untuk digunakan selanjutnya. Semua instance database yang dijelaskan dalam langkah-langkah berikutnya juga harus berada dalam VPC ini.

  • Disarankan untuk membuat instance ECS dengan sistem operasi CentOS dan mengaktifkan alamat IP publik.

Langkah 2: Buat instance PolarDB-X untuk uji stres

Buat instance PolarDB-X. Untuk informasi lebih lanjut, lihat Buat Instance PolarDB-X.

Catatan
  • Pastikan bahwa instance PolarDB-X dan instance ECS berada dalam VPC yang sama.

  • Tambahkan titik akhir internal instance ECS ke daftar putih instance PolarDB-X.

Langkah 3: Sesuaikan parameter instance

Catatan

Untuk mencapai performa optimal dalam uji stres, sesuaikan beberapa parameter node komputasi instance PolarDB-X.

  1. Atur parameter XPROTO_MAX_DN_CONCURRENT menjadi 4000. Untuk informasi lebih lanjut, lihat Atur Parameter.

  2. Sambungkan ke instance PolarDB-X menggunakan CLI dan jalankan pernyataan SQL berikut dalam sesi yang sama untuk menonaktifkan logging, pengambilan sampel statistik CPU, dan pengumpulan statistik:

    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;

Langkah 4: Instal Benchmark Boot

  1. Aktifkan port 4121 untuk grup keamanan instance ECS. Untuk informasi lebih lanjut, lihat Tambah Aturan Grup Keamanan.

  2. Masuk ke instance ECS dan jalankan perintah bash -c "$(curl -fsSL https://benchmark-boot.oss-cn-hangzhou.aliyuncs.com/setup.sh)" untuk menginstal Benchmark Boot. Untuk informasi lebih lanjut, lihat Unduh dan Instal Benchmark Boot.

  3. Akses http://{Public IP address of the ECS instance}:4121 menggunakan browser. Jika halaman utama Benchmark Boot muncul, instalasi berhasil.

Langkah 5: Persiapkan data

  1. Di halaman utama Benchmark Boot, pilih Stress Test > Database Connection > Configure Database Connection. Di halaman yang muncul, konfigurasikan alamat IP host, port, nama pengguna, kata sandi, dan perpustakaan TPC-H, serta atur mode pembuatan perpustakaan ke AUTO untuk membuat koneksi PolarDB-X. Klik Submit.

  2. Pilih Stress Test > TPCH > Import TPC-H, atur ukuran dataset input menjadi 100 GB dan jumlah shard fisik menjadi 16, lalu klik Submit untuk mengimpor 100 GB data uji ke instance PolarDB-X utama.

    Catatan

    Setelah data diimpor, Benchmark Boot secara otomatis menjalankan pernyataan analyze table untuk mengumpulkan statistik.

  3. Setelah data diimpor, jalankan pernyataan SQL berikut di instance PolarDB-X utama untuk membuat CCI. Untuk informasi lebih lanjut, lihat Buat dan Gunakan CCI.

    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;
    Catatan
    • Anda dapat menjalankan pernyataan show columnar index untuk melihat status CCI. Untuk informasi lebih lanjut, lihat SHOW COLUMNAR INDEX.

    • Dibutuhkan sekitar 45 menit untuk membuat CCI.

Langkah 6: Tambahkan instance penyimpanan kolom baca saja

Tambahkan instance penyimpanan kolom baca saja ke instance PolarDB-X utama. Untuk informasi lebih lanjut, lihat Tambahkan Instance Kolomar Baca Saja.

Catatan

Tambahkan titik akhir internal instance ECS ke daftar putih instance PolarDB-X penyimpanan kolom baca saja.

Langkah 7: Jalankan uji TPC-H

  1. Di halaman utama Benchmark Boot, pilih Stress Test > Database Connection > Configure Database Connection. Di halaman yang muncul, konfigurasikan nama perpustakaan TPC-H dan atur mode pembuatan perpustakaan ke AUTO untuk membuat string koneksi untuk instance penyimpanan kolom baca saja. Klik Submit.

  2. Di halaman utama Benchmark Boot, pilih Stress Test > TPCH > Run TPCH. Di halaman yang muncul, pilih Semua Kueri, tentukan deskripsi tugas, dan klik Submit untuk menjalankan 22 pernyataan kueri untuk uji TPC-H.

  3. Di halaman utama Benchmark Boot, pilih Test Result > TPCH untuk melihat hasil uji.

    Catatan

    Pemanasan diperlukan jika uji TPC-H dijalankan untuk pertama kalinya. Disarankan untuk menjalankan beberapa putaran uji untuk mendapatkan hasil yang stabil.

Hasil uji

Tabel berikut menunjukkan hasil uji. Satuan: detik.

Kueri

2*8 Core, 32 GB

4*8 Core, 32 GB

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

Total durasi

99,82

48,55

50,31

33,00

25,54

20,56