Topik ini menjelaskan cara merencanakan spesifikasi untuk instance StarRocks shared-nothing atau instance shared-data. Anda dapat menggunakan rekomendasi dalam topik ini sebagai referensi saat membuat instance StarRocks.
Instance shared-nothing
Instance StarRocks shared-nothing hanya mencakup node frontend (FE) dan node backend (BE). Bagian ini menjelaskan cara merencanakan spesifikasi FE dan BE.
Estimasi total jumlah CU dari BE
Dalam instance StarRocks shared-nothing, BE digunakan untuk menyimpan data dan menjalankan tugas komputasi.
Rumus:
Total jumlah CU = Total jumlah baris yang akan dipindai / Kapasitas pemrosesan CPU / Waktu respons yang diharapkan × Queries per second (QPS)Deskripsi parameter:
Total jumlah baris yang akan dipindai: total jumlah baris yang diperkirakan akan dipindai oleh setiap pernyataan SQL. Perhatikan bahwa parameter ini tidak mengacu pada total jumlah baris dalam satu tabel, tetapi dibatasi pada jumlah baris sebenarnya yang akan dipindai.
Kapasitas pemrosesan CPU: Nilai ini berubah secara dinamis berdasarkan kompleksitas pernyataan SQL yang berbeda. Dalam kebanyakan kasus, berkisar antara 10 juta baris per detik hingga 100 juta baris per detik. Semakin tinggi kompleksitas SQL, semakin sedikit jumlah baris yang diproses.
Waktu respons yang diharapkan: waktu eksekusi yang diharapkan dari sebuah pernyataan SQL. Contohnya, sebuah pernyataan SQL diharapkan mengembalikan hasil dalam 1 detik.
QPS: jumlah pernyataan SQL yang dikirimkan secara bersamaan per detik. Contoh: 30 kueri per detik.
Data sampel:
nullEstimasi berbasis rumus mungkin tidak cukup akurat karena kompleksitas SQL yang berbeda dapat menyebabkan variasi. Dalam lingkungan produksi, gabungkan hasil estimasi dengan hasil pengujian beban bisnis aktual untuk mengevaluasi sumber daya yang diperlukan secara akhir.
Total jumlah baris yang akan dipindai
Kompleksitas SQL
Kapasitas pemrosesan CPU (baris/detik)
Waktu respons yang diharapkan (detik)
QPS
Estimasi total jumlah CU
Estimasi spesifikasi BE
50 juta
Tinggi
20 juta
2
50
63
16 CU × 4
50 juta
Sedang
50 juta
1,5
100
67
16 CU × 5
50 juta
Rendah
100 juta
1
200
100
32 CU × 3
1 miliar
Tinggi
20 juta
5
20
200
32 CU × 7
1 miliar
Sedang
50 juta
3
50
333
64 CU × 6
1 miliar
Rendah
100 juta
1
80
800
64 CU × 13
30 miliar
Tinggi
20 juta
30
10
500
64 CU × 8
30 miliar
Sedang
50 juta
15
20
800
64 CU × 13
30 miliar
Rendah
100 juta
15
20
400
64 CU × 6
300 miliar
Tinggi
20 juta
60
5
2.083
64 CU × 33
300 miliar
Sedang
50 juta
45
10
2.222
64 CU × 35
300 miliar
Rendah
100 juta
45
10
1.111
64 CU × 18
Estimasi ruang penyimpanan BE
Total ruang penyimpanan yang diperlukan oleh instance StarRocks dipengaruhi oleh ukuran data asli, jumlah replika data, dan rasio kompresi algoritma kompresi data yang digunakan.
Rumus:
Total ruang penyimpanan yang diperlukan = Ukuran data asli × Jumlah replika data / Rasio kompresi algoritma kompresi dataDeskripsi parameter:
Ukuran data asli: Ukuran satu baris × Total jumlah baris data.
Jumlah replika data: Dalam arsitektur shared-nothing StarRocks, jumlah replika adalah 3 dalam kebanyakan kasus.
Rasio kompresi algoritma kompresi data: StarRocks mendukung empat algoritma kompresi data: zlib, Zstandard (zstd), LZ4, dan Snappy (diatur dalam urutan penurunan rasio kompresi). Algoritma kompresi data ini mampu memberikan rasio kompresi dari 3:1 hingga 5:1.
Data sampel:
Ukuran satu baris (KB)
Total jumlah baris data
Jumlah replika data
Rasio kompresi algoritma kompresi data
Estimasi total ruang penyimpanan (GB)
50
100.000.000
3
3
4.768,37
nullHasil estimasi dalam tabel di atas hanya untuk referensi. Dalam lingkungan produksi, gabungkan hasil estimasi dengan hasil pengujian beban bisnis aktual untuk mengevaluasi sumber daya yang diperlukan secara akhir.
Estimasi spesifikasi disk BE
Rumus:
Total ukuran disk satu BE = Total ruang penyimpanan / Utilisasi disk / Jumlah BEDeskripsi parameter:
Total ruang penyimpanan: total ruang penyimpanan BE yang telah diestimasi sebelumnya.
Utilisasi disk: Utilisasi disk sebesar 80% direkomendasikan. Sisa 20% ruang disediakan untuk komputasi.
Jumlah BE: jumlah BE yang ditentukan berdasarkan hasil estimasi CU.
Sebagai contoh, jika total ruang penyimpanan adalah 4.768 GB, utilisasi disk adalah 80%, dan jumlah BE adalah 11, total ukuran disk satu BE adalah 541 GB. Hasil ini dihitung berdasarkan rumus berikut: 4768 GB / 80% / 11 = 541 GB.
Tentukan jumlah disk
Jumlah disk dapat ditentukan berdasarkan performa ESSD dan total ukuran disk setiap node. Untuk mengoptimalkan performa satu disk, kami merekomendasikan agar Anda menentukan jumlah ESSD PL1 berdasarkan informasi dalam tabel berikut.
Total ukuran disk satu BE | Tipe disk | Jumlah disk yang direkomendasikan |
<= 500 GB | ESSD PL1 | 1 |
500 GB - 1 TB | ESSD PL1 | 1 atau 2 |
1 TB - 1,5 TB | ESSD PL1 | 2 atau 3 |
1,5 TB - 2 TB | ESSD PL1 | 3 atau 4 |
2 TB - 2,5 TB | ESSD PL1 | 4 atau 5 |
2,5 TB - 3 TB | ESSD PL1 | 5 atau 6 |
3 TB - 3,5 TB | ESSD PL1 | 6 atau 7 |
3,5 TB - 4 TB | ESSD PL1 | 7 atau 8 |
> 4TB | ESSD PL1 | 8 |
Batas performa maksimum dari berbagai jenis ESSD:
ESSD PL0: Performa I/O maksimum tercapai ketika ukuran disk adalah 320 GB.
ESSD PL1: Performa I/O maksimum tercapai ketika ukuran disk adalah 460 GB.
ESSD PL2: Performa I/O maksimum tercapai ketika ukuran disk adalah 1.260 GB.
ESSD PL3: Performa I/O maksimum tercapai ketika ukuran disk adalah 7.760 GB.
Atur jumlah disk dari jenis ESSD lainnya untuk mengoptimalkan performa berdasarkan saran sebelumnya untuk ESSD PL1.
Estimasi spesifikasi FE
FE terutama digunakan untuk manajemen metadata, manajemen koneksi klien, perencanaan kueri, dan penjadwalan kueri.
Spesifikasi FE dapat diestimasi secara kasar berdasarkan total jumlah CU BE. Tabel berikut mencantumkan saran spesifik. Disk data tunggal FE dapat berukuran 100 GB. Jika ruang penyimpanan tidak mencukupi, Anda dapat menyesuaikan ukuran disk data secara terpisah.
Total jumlah CU BE | Jenis skenario | Rekomendasi spesifikasi FE |
< 120 CU | Umum | 8 CU × 3 |
120 CU - 1000 CU | Umum | 16 CU × 3 |
1000 CU - 3000 CU | Umum | 32 CU × 3 |
>= 3000 CU | Umum | 64 CU × 3 |
Hasil estimasi dalam tabel di atas hanya untuk referensi. Dalam lingkungan produksi, gabungkan hasil estimasi dengan hasil pengujian beban bisnis aktual untuk mengevaluasi sumber daya yang diperlukan secara akhir.
Dalam skenario kueri titik konkurensi tinggi, kami merekomendasikan agar Anda meningkatkan jumlah FE. Sebagai contoh, Anda dapat menambah jumlahnya menjadi 5.
Instance shared-data
Instance StarRocks shared-data hanya mencakup FE dan node komputasi (CN).
Estimasi total jumlah CU dari CN
Anda dapat merujuk ke Estimasi Total Jumlah CU dari BE untuk instance shared-nothing.
Estimasi ruang penyimpanan CN
Ruang penyimpanan CN terutama digunakan untuk menyimpan cache data.
Rumus:
Total ruang penyimpanan yang diperlukan = Ukuran data asli / Rasio kompresi algoritma kompresi data × Proporsi data panasDeskripsi parameter:
Ukuran data asli: Ukuran satu baris × Total jumlah baris data.
Rasio kompresi algoritma kompresi data: StarRocks mendukung empat algoritma kompresi data: zlib, zstd, LZ4, dan Snappy (diatur dalam urutan penurunan rasio kompresi). Algoritma kompresi data ini mampu memberikan rasio kompresi dari 3:1 hingga 5:1.
Proporsi data panas: Anda dapat mengevaluasi proporsi data panas yang sering di-query berdasarkan kondisi bisnis Anda. Sebagai contoh, hasil evaluasi mungkin berupa proporsi 50%. Jika Anda tidak yakin tentang proporsi spesifik dan mengharapkan performa query instance shared-data memenuhi kebutuhan Anda sebanyak mungkin, kami merekomendasikan Anda menetapkan proporsi ke 100%, yang menunjukkan replika data lengkap. Indeks kunci utama juga menempati sejumlah ruang cache tertentu. Kami merekomendasikan Anda menyediakan buffer sebesar 20%. Oleh karena itu, kami merekomendasikan Anda menetapkan nilai ini ke 120%.
Data sampel:
Ukuran satu baris (KB)
Total jumlah baris data
Rasio kompresi algoritma kompresi data
Proporsi data panas
Estimasi total ruang penyimpanan (GB)
50
100.000.000
3
120%
1.907,35
nullHasil estimasi dalam tabel di atas hanya untuk referensi. Dalam lingkungan produksi, gabungkan hasil estimasi dengan hasil pengujian beban bisnis aktual untuk mengevaluasi sumber daya yang diperlukan secara akhir.
Anda dapat merujuk ke Estimasi Spesifikasi Disk BE untuk instance shared-nothing guna memperkirakan ukuran dan jumlah disk untuk satu CN.
Estimasi spesifikasi FE
Anda dapat merujuk ke Estimasi Spesifikasi FE untuk instance shared-nothing.