Topik ini menjelaskan cara menggunakan Star Schema Benchmark (SSB) untuk menjalankan pengujian performa pada skenario kueri online analytical processing (OLAP).
Ikhtisar SSB
SSB adalah benchmark yang digunakan untuk mengevaluasi performa gudang data dan sistem OLAP. Benchmark ini mensimulasikan model data skema bintang (star schema) yang terdiri dari lima tabel: Date, Customer, Supplier, Part, dan Lineorder. Selain itu, SSB memungkinkan penyesuaian model data sesuai kebutuhan, misalnya dengan mengubah skema bintang menjadi skema tabel lebar (wide table).
Benchmark SSB mengevaluasi metrik performa gudang data atau sistem OLAP melalui serangkaian pola kueri yang telah ditentukan. Metrik tersebut mencakup waktu respons kueri, kemampuan pemrosesan konkuren, pemuatan data, dan optimasi kueri.
Implementasi SSB dalam topik ini didasarkan pada benchmark SSB. Oleh karena itu, hasilnya tidak dapat dibandingkan dengan hasil benchmark SSB yang telah dipublikasikan.
Deskripsi skenario
Dalam skenario pengujian ini, tool pembuat SSB menggunakan scale factor (SF) untuk mengontrol volume data yang dihasilkan. Satu SF setara dengan 1 GB data.
Volume data ini hanya mengacu pada data mentah dan tidak termasuk ruang untuk indeks. Saat menyiapkan lingkungan, sediakan ruang tambahan.
Persiapan
Siapkan lingkungan dasar yang diperlukan untuk skenario kueri OLAP.
Untuk mengurangi variabel yang dapat memengaruhi hasil pengujian, gunakan instans yang baru dibuat untuk setiap pengujian. Jangan gunakan instans yang telah ditingkatkan atau diturunkan spesifikasinya.
Langkah | Instruksi |
| Masuk ke Konsol Alibaba Cloud dan buat instans Elastic Compute Service (ECS). Instans ini digunakan untuk menghasilkan data, mengimpor data ke StarRocks, dan menjalankan pengujian client. Spesifikasi yang disarankan adalah sebagai berikut:
Untuk informasi selengkapnya tentang cara membuat instans ECS, lihat Create an instance. |
| Untuk pengujian ini, sumber daya komputasi backend (BE) diatur menjadi 8 compute units (CUs), yaitu 8 core dan memori 32 GB. Konfigurasikan sumber daya komputasi sesuai kebutuhan. Masuk ke Alibaba Cloud, buka halaman EMR Serverless StarRocks di E-MapReduce console, lalu klik Create Instance. Untuk informasi selengkapnya tentang cara membuat instans StarRocks, lihat Create an instance. |
| Masuk ke instans ECS yang dibuat pada Langkah 1. Jalankan perintah berikut pada node untuk mengunduh toolkit pengujian. |
Prosedur
Langkah 1: Konfigurasikan toolkit pengujian
Masuk ke instans ECS yang telah dibuat. Untuk informasi selengkapnya, lihat Connect to an ECS instance.
Jalankan perintah berikut untuk masuk ke direktori starrocks-ssb-benchmark-for-serverless.
cd starrocks-ssb-benchmark-for-serverlessJalankan perintah
vim conf/starrocks.confdan ubah parameter berikut sesuai kebutuhan.# for mysql cmd mysql_host: fe-c-7b6f92276******-internal.starrocks.aliyuncs.com mysql_port: 9030 mysql_user: admin mysql_password: 1**** database: ssb_sf # cluster ports http_port: 8030 # Specifies whether to enable the bitmap index. bitmap_index: false # benchmark config scale_factor: 1 dataset_generate_root_path: /mnt/disk1/starrocks-benchmark/datasetsTabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
mysql_host
Titik akhir pribadi frontend (FE) instans StarRocks.
Pada tab Instance Details instans StarRocks, temukan Private Endpoint di bagian FE Details.
PentingJangan gunakan titik akhir publik.
mysql_port
Port kueri FE instans StarRocks. Nilai default-nya adalah 9030.
Pada tab Instance Details instans StarRocks, temukan Query Port di bagian FE Details.
mysql_user
User instans StarRocks. Nilai default-nya adalah admin.
mysql_password
Password untuk user instans StarRocks.
database
Nama database yang dibuat di instans StarRocks. Anda dapat menggunakan nilai default.
scale_factor
Faktor skala set data. Parameter ini mengontrol volume data yang akan dihasilkan. Nilai default-nya adalah 1. Satuannya adalah GB.
PentingSaat membuat instans, pastikan kapasitas disk mencukupi untuk menyimpan set data yang dihasilkan.
dataset_generate_root_path
Jalur penyimpanan set data uji yang dihasilkan. Nilai default-nya adalah /mnt/disk1/starrocks-benchmark/datasets.
bitmap_index
Menentukan apakah fitur Bitmap Index diaktifkan. Nilai yang valid adalah true dan false.
Mengaktifkan fitur Bitmap Index dapat memberikan performa kueri yang lebih efisien, terutama untuk pola kueri tertentu seperti Q2.2, Q2.3, dan Q3.3.
http_port
Port HTTP FE instans StarRocks. Nilai default-nya adalah 8030.
Pada tab Instance Details instans StarRocks, temukan HTTP Port di bagian FE Details.
Langkah 2: Hasilkan data uji
Jalankan perintah berikut untuk memuat data SSB secara otomatis.
sh ssb_dataload.shPerintah ini mengotomatiskan proses pemuatan data SSB, termasuk pembuatan database, tabel, set data, serta pemuatan datanya.
Langkah 3: Jalankan kueri dan lihat hasil pengujian
Jalankan perintah berikut untuk melihat ikhtisar hasil pengujian SSB. File result.csv juga akan dihasilkan di direktori saat ini. Anda dapat membuka file tersebut untuk melihat detail hasil pengujian lebih lanjut.
Kueri tabel lebar SSB.
sh ssb_query.sh ssb-flatInformasi berikut dikembalikan.
SQL Time(ms) Q1.1 26 Q1.2 13 Q1.3 20 Q2.1 46 Q2.2 40 Q2.3 26 Q3.1 40 Q3.2 33 Q3.3 30 Q3.4 23 Q4.1 26 Q4.2 30 Q4.3 20 Total 373Kueri tabel standar SSB.
sh ssb_query.sh ssbInformasi berikut dikembalikan.
SQL Time(ms) Q1.1 26 Q1.2 20 Q1.3 23 Q2.1 103 Q2.2 53 Q2.3 50 Q3.1 86 Q3.2 46 Q3.3 46 Q3.4 36 Q4.1 83 Q4.2 63 Q4.3 53 Total 688