Dokumen ini menjelaskan kinerja pemrosesan analitik daring (online analytical processing/OLAP) kluster PolarDB for MySQL 8.0.1 Cluster Edition dengan fitur In-Memory Column Index (IMCI) yang diaktifkan. Kinerja diuji menggunakan benchmark TPC-H.
Pengenalan IMCI untuk PolarDB for MySQL
PolarDB for MySQL menggunakan fitur In-Memory Column Index (IMCI) untuk meningkatkan kinerja kueri kompleks pada set data besar dalam skenario pemrosesan analitik daring (OLAP). Dengan IMCI, PolarDB for MySQL menyediakan Solusi pemrosesan transaksi/analitik hibrida (HTAP) terpadu guna mendukung pemrosesan transaksi real-time dan analitik data.
Gambar berikut menunjukkan arsitektur fitur IMCI di PolarDB for MySQL.
Untuk informasi lebih lanjut, lihat In-Memory Column Index.
Catatan
Anda dapat mengaktifkan fitur IMCI sesuai kebutuhan. Fitur ini mengisolasi sumber daya komputasi untuk pemrosesan transaksi daring (OLTP) dan OLAP dalam kluster yang sama. Setelah mengaktifkan IMCI, tambahkan node penyimpanan kolom read-only untuk melayani permintaan kueri OLAP. Untuk informasi selengkapnya tentang cara menambahkan node penyimpanan kolom read-only, lihat Tambahkan node penyimpanan kolom read-only untuk IMCI.
Untuk menguji kinerja IMCI PolarDB, Anda dapat membuat Titik akhir proxy database read-only khusus yang mengarah ke node penyimpanan kolom read-only dan menggunakan titik akhir tersebut untuk pengujian. Untuk informasi selengkapnya, lihat Rutekan traffic secara manual antara node row store dan column store dalam skenario pemisahan layanan OLTP dan OLAP.
Untuk pengujian kinerja IMCI, Anda tidak perlu membuat indeks sekunder pada tabel TPC-H.
Pengujian kinerja
TPC-H 100 GB
Lingkungan pengujian 1: node 32-core 256 GB
Pengujian ini membandingkan kinerja kueri penyimpanan kolom (IMCI diaktifkan) dan penyimpanan baris (IMCI dinonaktifkan) menggunakan set data TPC-H 100 GB pada node dengan 32 core dan memori 256 GB.
Tabel berikut menunjukkan waktu kueri. Waktu yang ditampilkan bukan dari eksekusi pertama.
Kueri SQL | Menonaktifkan fitur IMCI (1 mesin, detik) | Mengaktifkan fitur IMCI (1 mesin, detik) | Aktifkan IMCI (2 mesin, detik) | Mengaktifkan fitur IMCI Waktu kueri 3 mesin (detik) | Mengaktifkan fitur IMCI Waktu kueri 4 mesin (detik) | Rasio akselerasi (Kolom vs. Baris) | Faktor skala multi-node |
Q1 | 2495,05 | 1,846 | 0,986 | 0,836 | 0,642 | 1.351,60 | 0,72 |
Q2 | 13,18 | 0,191 | 0,146 | 0,142 | 0,117 | 69,01 | 0,41 |
Q3 | 345,56 | 0,482 | 0,292 | 0,192 | 0,165 | 716,93 | 0,73 |
Q4 | 63,78 | 0,364 | 0,163 | 0,141 | 0,098 | 175,22 | 0,93 |
Q5 | 251,48 | 0,475 | 0,383 | 0,256 | 0,227 | 529,43 | 0,52 |
Q6 | 241,7 | 0,209 | 0,123 | 0,115 | 0,097 | 1156,46 | 0,54 |
Q7 | 174,91 | 0,513 | 0,356 | 0,232 | 0,195 | 340,96 | 0,66 |
Q8 | 560,82 | 0,454 | 0,279 | 0,234 | 0,196 | 1235,29 | 0,58 |
Q9 | 450,68 | 1,875 | 0,914 | 0,708 | 0,542 | 240,36 | 0,86 |
Q10 | 895,75 | 1,361 | 0,684 | 0,71 | 0,488 | 658,16 | 0,70 |
Q11 | 30,03 | 0,19 | 0,148 | 0,119 | 0,105 | 158,05 | 0,45 |
Q12 | 266,14 | 0,626 | 0,388 | 0,265 | 0,206 | 425,14 | 0,76 |
Q13 | 780,74 | 1,505 | 1,022 | 0,935 | 0,616 | 518,76 | 0,61 |
Q14 | 72,04 | 0,307 | 0,263 | 0,165 | 0,135 | 234,66 | 0,57 |
Q15 | 261,77 | 0,428 | 0,363 | 0,32 | 0,275 | 611,61 | 0,39 |
Q16 | 40,69 | 0,569 | 0,384 | 0,312 | 0,249 | 71,511 | 0,57 |
Q17 | 57,75 | 0,544 | 1,388 | 1,195 | 1,054 | 106,16 | 0,13 |
Q18 | 257,66 | 1,43 | 0,955 | 0,649 | 0,499 | 180,18 | 0,72 |
Q19 | 19,17 | 1,076 | 0,581 | 0,53 | 0,405 | 17,816 | 0,66 |
Q20 | 143,97 | 0,372 | 0,37 | 0,32 | 0,282 | 387,02 | 0,33 |
Q21 | 293,99 | 1,142 | 0,56 | 0,463 | 0,356 | 257,43 | 0,80 |
Q22 | 18,81 | 0,352 | 0,382 | 0,358 | 0,306 | 53,44 | 0,29 |
TOTAL | 7735,67 | 16,311 | 11,13 | 9,197 | 7,255 | 474,26 | 0,56 |
Gambar berikut membandingkan waktu kueri sebelum dan setelah IMCI diaktifkan.

Gambar berikut membandingkan waktu kueri pada beberapa mesin setelah IMCI diaktifkan.

Lingkungan pengujian 2: node 8-core 32 GB
Pengujian ini mengukur kinerja kueri penyimpanan kolom dengan fitur IMCI yang diaktifkan menggunakan set data TPC-H 100 GB pada empat mesin dengan node 8-core dan 32 GB memori.
Tabel berikut menunjukkan waktu kueri.
Kueri SQL | Waktu kueri (detik) |
Q1 | 3,014 |
Q2 | 0,239 |
Q3 | 0,605 |
Q4 | 0,316 |
Q5 | 0,636 |
Q6 | 0,326 |
Q7 | 0,66 |
Q8 | 0,596 |
Q9 | 2,464 |
Q10 | 1,715 |
Q11 | 0,257 |
Q12 | 0,895 |
Q13 | 2,516 |
Q14 | 0,39 |
Q15 | 0,736 |
Q16 | 0,69 |
Q17 | 2,689 |
Q18 | 3,395 |
Q19 | 1,521 |
Q20 | 0,811 |
Q21 | 1,335 |
Q22 | 0,747 |
TOTAL | 26,553 |
TPC-H 1 TB
Lingkungan pengujian 1: node 32-core 256 GB
Pengujian ini mengukur kinerja kueri penyimpanan kolom dengan fitur IMCI yang diaktifkan menggunakan set data TPC-H 1 TB pada beberapa mesin dengan node 32-core dan 256 GB memori.
Tabel berikut menunjukkan waktu kueri. Waktu yang ditampilkan bukan dari eksekusi pertama.
Kueri SQL | Waktu kueri pada satu mesin (detik) | Waktu kueri pada dua mesin (detik) | Waktu kueri pada tiga mesin (detik) | Waktu kueri pada empat mesin (detik) | Faktor skala multi-node |
Q1 | 37,887 | 25,495 | 8,189 | 6,061 | 1,56 |
Q2 | 1,357 | 0,725 | 0,567 | 0,416 | 0,82 |
Q3 | 20,379 | 11,478 | 1,784 | 2,653 | 1,92 |
Q4 | 13,766 | 1,542 | 1,38 | 0,741 | 4,64 |
Q5 | 19,317 | 4,003 | 2,268 | 1,69 | 2,86 |
Q6 | 13,496 | 6,372 | 2,359 | 0,591 | 5,71 |
Q7 | 23,388 | 10.523 | 2,068 | 1,595 | 3,67 |
Q8 | 21,443 | 10,82 | 1,593 | 1,143 | 4,69 |
Q9 | 53,665 | 28,061 | 10,761 | 18,661 | 0,72 |
Q10 | 34,708 | 11,243 | 10,054 | 4,728 | 1,84 |
Q11 | 1,543 | 0,866 | 0,795 | 0,628 | 0,61 |
Q12 | 26,284 | 13,178 | 7,595 | 1,829 | 3,59 |
Q13 | 25,986 | 12,942 | 10,848 | 6,639 | 0,98 |
Q14 | 16,745 | 8,641 | 3,023 | 1,028 | 4,07 |
Q15 | 28,147 | 3,201 | 2,286 | 1,853 | 3,80 |
Q16 | 5,703 | 3,788 | 2,253 | 1,767 | 0,81 |
Q17 | 22,433 | 14,715 | 11,651 | 10.131 | 0,55 |
Q18 | 89,751 | 41,766 | 25,612 | 18,365 | 1,22 |
Q19 | 36,414 | 20,41 | 11,557 | 8,752 | 1,04 |
Q20 | 16,353 | 3,44 | 2,739 | 2,429 | 1,68 |
Q21 | 43,945 | 6,768 | 4,82 | 3,299 | 3,33 |
Q22 | 3,475 | 3,775 | 3,141 | 2,637 | 0,33 |
TOTAL | 556,185 | 243,752 | 127,343 | 97,636 | 1,42 |
Graf berikut membandingkan waktu kueri:
Lingkungan pengujian 2: node 8-core 32 GB
Pengujian ini mengukur kinerja kueri penyimpanan kolom dengan fitur IMCI yang diaktifkan menggunakan set data TPC-H 1 TB pada empat mesin dengan node 8-core dan 32 GB memori.
Kueri SQL | Waktu kueri (detik) |
Q1 | 55,545 |
Q2 | 1,386 |
Q3 | 31,712 |
Q4 | 16.113 |
Q5 | 30.062 |
Q6 | 23,215 |
Q7 | 30,432 |
Q8 | 32,907 |
Q9 | 104,637 |
Q10 | 44,04 |
Q11 | 2,139 |
Q12 | 28,469 |
Q13 | 35,825 |
Q14 | 21,549 |
Q15 | 42,483 |
Q16 | 7,906 |
Q17 | 52,072 |
Q18 | 64,924 |
Q19 | 48,368 |
Q20 | 26,958 |
Q21 | 55,754 |
Q22 | 8,436 |
TOTAL | 764,932 |
TPC-H 3 TB
Lingkungan pengujian: node 32-core 256 GB
Pengujian ini mengukur kinerja kueri penyimpanan kolom dengan fitur IMCI yang diaktifkan menggunakan set data TPC-H 3 TB pada beberapa mesin dengan node 32-core dan 256 GB memori.
Tabel berikut menunjukkan waktu kueri.
Kueri SQL | Waktu kueri pada dua mesin (detik) | Waktu kueri pada empat mesin (detik) | Waktu kueri pada enam mesin (detik) | Waktu kueri pada delapan mesin (detik) | Waktu kueri pada 12 mesin (detik) |
Q1 | 207,5972 | 114,1061 | 73,47038 | 57,16459 | 15,99434 |
Q2 | 16,59763 | 9,126449 | 6,531764 | 5,256679 | 8,056107 |
Q3 | 129,0127 | 70,05587 | 50,75962 | 20,77513 | 15,96027 |
Q4 | 87,88678 | 48,23547 | 11,22043 | 9,06577 | 6,153393 |
Q5 | 145,3669 | 80,90937 | 55,35411 | 20,8387 | 16,81331 |
Q6 | 64,77278 | 33,61284 | 3,626543 | 3,1164 | 2,393298 |
Q7 | 158,332 | 82,21748 | 57,402 | 19,28089 | 14,15242 |
Q8 | 171,7152 | 89,18184 | 61,07931 | 47,21762 | 11,49657 |
Q9 | 695,1544 | 291,9174 | 190,4007 | 143,2241 | 70,81171 |
Q10 | 318,9998 | 260,2054 | 263,955 | 209,1835 | 207,9049 |
Q11 | 26,04949 | 20,9185 | 18,32898 | 17,69759 | 16,45135 |
Q12 | 120,3137 | 62,77258 | 42,20166 | 11,08824 | 7,982793 |
Q13 | 388,5152 | 320,5632 | 151,0701 | 90,68545 | 96,00401 |
Q14 | 93,1189 | 58,5961 | 22,68045 | 21,14225 | 19,99422 |
Q15 | 150,9475 | 79,81816 | 18,32744 | 16,26336 | 11,92104 |
Q16 | 72,26089 | 36,46251 | 24,70481 | 18,45767 | 12,8234 |
Q17 | 233,1315 | 196,8246 | 112,588 | 113,5308 | 109,7312 |
Q18 | 1163,623 | 537,1255 | 305,1325 | 237,8622 | 69,33614 |
Q19 | 152,0749 | 81,25671 | 54,06552 | 41,54125 | 26,91918 |
Q20 | 118,8899 | 77,28576 | 55,68256 | 30,76349 | 30,0725 |
Q21 | 336,2304 | 177,2311 | 52,50164 | 41,73258 | 29,24006 |
Q22 | 52,38819 | 50,87576 | 40,99282 | 37,71081 | 37,43663 |
TOTAL | 4902,97928 | 2779,29879 | 1672,07638 | 1213,59912 | 837,648829 |
Graf berikut membandingkan waktu kueri: