Star Schema Benchmark (SSB) adalah alat standar industri untuk mengevaluasi kinerja kueri OLAP di gudang data. Topik ini memandu Anda menjalankan uji kinerja SSB pada EMR Serverless StarRocks.
Implementasi SSB dalam topik ini didasarkan pada benchmark SSB. Hasilnya tidak dapat dibandingkan dengan hasil benchmark SSB yang telah dipublikasikan.
Hasil referensi
Hasil berikut diukur pada instans 8-CU (8 core, memori 32 GB). Setiap nilai merupakan waktu respons kueri dalam milidetik. Semakin rendah nilainya, semakin baik.
Lingkungan pengujian
| Komponen | Spesifikasi |
|---|---|
| Compute units (CUs) | 8 CUs (8 core, memori 32 GB) |
| Faktor skala | 1 (data mentah sebesar 1 GB) |
Kueri tabel lebar SSB (mode ssb-flat)
| Kueri | Waktu (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 | 373 |
Kueri tabel standar SSB (mode ssb)
| Kueri | Waktu (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 |
Ikhtisar SSB
SSB mensimulasikan model data skema bintang tipikal dengan lima tabel: Date, Customer, Supplier, Part, dan Lineorder. SSB mengevaluasi metrik kinerja berikut dari gudang data atau sistem OLAP:
-
Waktu respons kueri
-
Pemrosesan konkuren
-
Pemuatan data
-
Optimasi kueri
SSB juga mendukung penyesuaian model data — misalnya, meratakan skema bintang menjadi tabel lebar untuk mengurangi beban operasi join.
Alat pembuat data SSB menggunakan faktor skala (SF) untuk mengatur volume data: 1 SF = 1 GB data mentah. Penyimpanan indeks tidak termasuk, jadi sediakan ruang disk tambahan saat menyiapkan lingkungan Anda.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Instans Elastic Compute Service (ECS) untuk menghasilkan data, memuatnya ke StarRocks, dan menjalankan kueri client
-
Instans EMR Serverless StarRocks
Persyaratan instans ECS
| Persyaratan | Detail |
|---|---|
| Sistem operasi | CentOS atau Alibaba Cloud Linux |
| Disk data | Enhanced SSD (ESSD); kapasitas disesuaikan dengan volume data target Anda |
| Jaringan | Wilayah dan Virtual Private Cloud (VPC) yang sama dengan instans StarRocks |
| IP publik | Diperlukan |
Untuk petunjuk membuat instans ECS, lihat Create an instance.
Persyaratan instans StarRocks
Hasil referensi dalam topik ini menggunakan 8 CUs (8 core, memori 32 GB). Sesuaikan sumber daya komputasi sesuai kebutuhan pengujian Anda.
Untuk membuat instans StarRocks, buka Konsol E-MapReduce, navigasi ke EMR Serverless StarRocks, lalu klik Create Instance. Untuk petunjuk lengkap, lihat Create an instance.
Gunakan instans yang baru dibuat untuk setiap pengujian. Instans yang telah ditingkatkan atau diturunkan spesifikasinya mungkin menghasilkan hasil yang tidak konsisten.
Jalankan uji kinerja SSB
Langkah 1: Unduh dan konfigurasikan toolkit pengujian
-
Login ke instans ECS. Lihat Connect to an ECS instance.
-
Unduh dan ekstrak toolkit pengujian.
sudo wget https://starrocks-oss.oss-cn-beijing.aliyuncs.com/public-access/starrocks-ssb-benchmark-for-serverless.tar.gz tar xzvf starrocks-ssb-benchmark-for-serverless.tar.gz -
Navigasi ke direktori toolkit.
cd starrocks-ssb-benchmark-for-serverless -
Buka file konfigurasi.
vim conf/starrocks.conf -
Perbarui parameter sesuai lingkungan Anda.
# 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/datasetsParameter Deskripsi Bawaan mysql_hostTitik akhir internal frontend (FE). Temukan di tab Instance Details di bawah Gateway Information > Internal endpoint. — mysql_portPort kueri FE. Temukan di tab Instance Details di bawah FE Details > Query Port. 9030mysql_userPengguna instans StarRocks. adminmysql_passwordPassword untuk pengguna instans StarRocks. — databaseNama database yang akan dibuat di instans StarRocks. ssb_sfscale_factorVolume data dalam GB. 1 = 1 GB data mentah. Pastikan disk Anda memiliki kapasitas yang cukup untuk set data yang dihasilkan. 1dataset_generate_root_pathPath lokal tempat set data uji yang dihasilkan disimpan. /mnt/disk1/starrocks-benchmark/datasetsbitmap_indexApakah fitur Bitmap Index diaktifkan. Mengaktifkannya meningkatkan kinerja kueri untuk pola tertentu, terutama Q2.2, Q2.3, dan Q3.3. falsehttp_portPort HTTP FE. Temukan di tab Instance Details di bawah FE Details > HTTP Port. 8030PentingAtur
mysql_hostke titik akhir internal, bukan titik akhir publik.
Langkah 2: Hasilkan dan muat data uji
Jalankan perintah berikut untuk membuat database, tabel, dan set data, lalu muat data ke StarRocks.
sh ssb_dataload.sh
Langkah 3: Jalankan kueri dan lihat hasilnya
Jalankan kueri menggunakan salah satu mode berikut. Ikhtisar hasil akan dicetak di terminal, dan file result.csv berisi detail lengkap akan disimpan di direktori saat ini.
-
Mode tabel lebar — menjalankan kueri pada tabel flat yang telah di-join sebelumnya:
sh ssb_query.sh ssb-flat -
Mode standar — menjalankan kueri pada tabel skema bintang asli:
sh ssb_query.sh ssb
Setiap nilai dalam output merupakan waktu respons kueri dalam milidetik. Nilai yang lebih rendah menunjukkan kinerja yang lebih baik.
Langkah selanjutnya
-
Sesuaikan
scale_factordiconf/starrocks.confuntuk menguji dengan volume data yang lebih besar dan amati bagaimana kinerja berskala. -
Aktifkan
bitmap_index: truedan jalankan ulang benchmark untuk mengukur dampak fitur Bitmap Index terhadap Q2.2, Q2.3, dan Q3.3.