Fitur multi-cluster dan auto scaling tersedia untuk instans virtual warehouse di Hologres V4.0 dan versi setelahnya. Sebuah virtual warehouse dapat berjalan di beberapa kluster, dan auto scaling menyesuaikan jumlah kluster aktif berdasarkan beban—menangani workload konkurensi tinggi serta menyediakan isolasi sumber daya di dalam warehouse tersebut.
Cara kerja
Tanpa multi-cluster: Semua sumber daya komputasi dalam sebuah virtual warehouse berada dalam satu kluster. Semua permintaan berbagi sumber daya tersebut.
Dengan multi-cluster: Beberapa kluster berjalan di dalam satu virtual warehouse. Sumber daya komputasi secara fisik terisolasi antar-kluster. Node akses FE melakukan load-balancing terhadap permintaan masuk dan mengarahkannya ke suatu kluster untuk dieksekusi.
Dengan multi-cluster dan auto scaling: Virtual warehouse memantau beban (penggunaan sumber daya dan antrian) dan secara otomatis meluncurkan kluster elastis tambahan selama periode beban tinggi. Saat beban turun, kluster elastis tersebut dilepas untuk mengurangi biaya.
Pilih mode
Gunakan tabel berikut untuk memilih mode yang tepat untuk workload Anda sebelum melakukan konfigurasi apa pun.
|
Mode |
Terbaik untuk |
Tidak cocok untuk |
|
Multi-cluster (tetap) |
Workload konkurensi tinggi dengan kueri kecil hingga menengah dan beban yang stabil serta dapat diprediksi |
Workload konkurensi rendah dengan tugas besar yang memerlukan lebih banyak komputasi dalam satu kluster |
|
Multi-cluster + auto scaling |
Workload konkurensi tinggi dengan lonjakan traffic yang tidak dapat diprediksi |
Tugas besar dengan konkurensi rendah; workload yang sudah dikelola oleh penjadwalan penskalaan |
Kapan menggunakan penskalaan manual atau terjadwal sebagai gantinya: Jika traffic puncak Anda dapat diprediksi, sesuaikan jumlah kluster secara manual atau gunakan elastisitas berbasis waktu. Auto scaling paling bernilai ketika puncak beban tidak dapat diprediksi. Anda tidak dapat menggunakan elastisitas berbasis waktu dan auto scaling secara bersamaan pada virtual warehouse yang sama.
Prasyarat, catatan, dan batasan
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Instans virtual warehouse yang menjalankan Hologres V4.0 atau versi setelahnya
-
Izin: Akun Alibaba Cloud, atau Pengguna Resource Access Management (RAM) dengan izin berikut:
-
Kebijakan RAM: AliyunHologresWarehouseFullAccess. Lihat Berikan akses ke Hologres untuk Pengguna RAM.
-
Pengembangan: Hak istimewa superuser dalam instans. Lihat Berikan izin pengembangan kepada Pengguna RAM.
-
Catatan dan batasan
-
Dampak: Penskalaan kluster dapat mengganggu sejenak tugas baca/tulis tertentu. Lihat Scale out (skalabilitas horizontal).
-
Konflik fitur: Penjadwalan penskalaan dan auto scaling tidak dapat diaktifkan secara bersamaan untuk satu virtual warehouse. Operasi manual seperti start/stop dan penyesuaian komputasi di Konsol Hologres tetap tersedia.
-
Kemungkinan kegagalan penyediaan: Peluncuran kluster elastis tidak dijamin berhasil. Konfigurasikan notifikasi untuk kemungkinan kegagalan penyediaan. Lihat Pemantauan dan notifikasi.
-
Ketersediaan regional:
Fitur
Ketersediaan
Multi-cluster
Semua wilayah
Auto scaling
Lihat tabel di bawah
Wilayah
Dukungan Auto Scaling
Catatan
China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen)
Didukung (beta)
Isi formulir aplikasi formulir untuk mengajukan uji coba.
China (Chengdu), China (Hong Kong), Singapura, Jerman (Frankfurt), AS (Silicon Valley), AS (Virginia), UEA (Dubai), Meksiko (Mexico City), Jepang (Tokyo), Malaysia (Kuala Lumpur), Indonesia (Jakarta), Finance Cloud China (Shanghai), Alibaba Gov Cloud China (Beijing), Finance Cloud China (Shenzhen)
Tidak didukung
Uji coba tidak tersedia.
Penagihan
Sumber daya reservasi ditagih sesuai metode penagihan instans Anda (langganan atau pay-as-you-go).
Sumber daya elastis menggunakan skema pay-as-you-go dan ditagih secara terpisah untuk komputasi elastis yang diluncurkan:
Biaya = Sumber daya elastis yang diluncurkan (CU × jam) × Harga satuan
Alibaba Cloud mencatat penggunaan sumber daya elastis setiap menit dan mendorong tagihan per jam. Biaya dipotong secara otomatis dari akun Anda. Untuk harga satuan, lihat Penagihan.
Aktifkan multi-cluster
Anda dapat mengaktifkan fitur multi-cluster dengan mengubah jumlah kluster reservasi untuk virtual warehouse. Untuk langkah-langkah detail, lihat Scale out (skalabilitas horizontal).
Aktifkan auto scaling
Auto scaling menyesuaikan jumlah kluster aktif berdasarkan beban, yang mencakup penggunaan sumber daya dan antrian.
-
Masuk ke Konsol Hologres. Di pojok kiri atas, pilih wilayah tempat instans Anda dideploy.
-
Di panel navigasi kiri, klik Instances. Klik Instance ID/Name yang dituju untuk membuka halaman Instance Details.
-
Di panel navigasi kiri halaman detail instans, pilih Virtual Warehouse Management. Di sebelah kanan, pilih tab Auto-scaling.
-
Aktifkan Enable Auto-scaling. Tetapkan nilai Maximum Clusters lalu klik Save.
Maximum Clusters menentukan batas atas untuk scale-out elastis. Virtual warehouse akan menambah kluster hingga batas ini selama periode beban tinggi.
Verifikasi perilaku auto scaling
Setelah mengaktifkan auto scaling, gunakan pgbench (tool pengujian performa PostgreSQL asli) untuk memastikan penskalaan dipicu dengan benar. Contoh ini menggunakan konfigurasi 32 CU per kluster, 1 kluster reservasi, dan maksimal 4 kluster.
-
Buat tabel uji dan muat data:
CREATE TABLE tbl_1 (col1 INT, col2 INT, col3 TEXT); CREATE TABLE tbl_2 (col1 INT, col2 INT, col3 TEXT); INSERT INTO tbl_1 SELECT i, i+1, md5(random()::TEXT) FROM generate_series(0, 500000) AS i; INSERT INTO tbl_2 SELECT i, i+1, md5(random()::TEXT) FROM generate_series(0, 500000) AS i; -
Di server uji stres, buat file bernama
select.sqldengan kueri berikut:EXPLAIN ANALYZE SELECT * FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.col3 = tbl_2.col3 ORDER BY 1; -
Tetapkan password sebagai variabel lingkungan:
export PGPASSWORD='<AccessKey_Secret>' -
Jalankan uji stres. Ganti placeholder dengan nilai aktual Anda. Untuk detail parameter koneksi, lihat Hubungkan ke Hologres dan kembangkan data.
Placeholder
Deskripsi
<AccessKey_Secret>Rahasia AccessKey untuk akun Anda
<Database>Nama database Hologres tujuan
<AccessKey_ID>ID AccessKey untuk akun Anda
<Endpoint>Titik akhir instans Hologres
<Port>Port koneksi
pgbench \ -c 30 \ -j 30 \ -f select.sql \ -d <Database> \ -U <AccessKey_ID> \ -h <Endpoint> \ -p <Port> \ -T 1800
Hasil yang diharapkan:
-
Penggunaan CPU kluster:

-
Saat kluster 1 mengalami beban tinggi terus-menerus, auto scaling menambahkan kluster (posisi 1 pada grafik).
-
Setelah uji stres berakhir, kedua kluster menunjukkan beban rendah dan auto scaling menghapus kluster elastis (posisi 2).
-
-
Penggunaan CPU virtual warehouse:

-
Kluster baru ditambahkan saat penggunaan CPU virtual warehouse terus-menerus melebihi 85%.
-
Setelah kluster baru ditambahkan, penggunaan CPU keseluruhan turun menjadi sekitar 70%.
-
Pemantauan dan notifikasi
Metrik
Di Konsol Hologres, pantau metrik berikut untuk virtual warehouse Anda. Untuk instruksi konfigurasi, lihat Metrik pemantauan.
-
Penggunaan CPU kluster
-
Penggunaan memori kluster
-
Jumlah vCPU yang diluncurkan oleh auto scaling virtual warehouse
Log event elastis
-
Di halaman Virtual Warehouse Management, klik tab Elastic Event Execution Logs.
-
Pilih rentang waktu untuk melihat riwayat event penskalaan. Setiap catatan event mencakup waktu eksekusi, virtual warehouse, status eksekusi, jenis event, jumlah kluster reservasi, dan jumlah target kluster.
Event Cloud Monitor
Event scale-out dan scale-in auto scaling dicatat di CloudMonitor.
-
Buka Cloud Monitor Event Center. Di halaman System Event, pilih Hologres sebagai produk di area Event Monitoring. Event auto scaling berikut tersedia:
Nama peristiwa
Deskripsi
Instance:Warehouse:AutoElastic:StartAuto scaling telah dimulai untuk virtual warehouse
Instance:Warehouse:AutoElastic:FinishAuto scaling berhasil diselesaikan
Instance:Warehouse:AutoElastic:FailedAuto scaling gagal (misalnya, Kluster tidak dapat diluncurkan)
-
Berdasarkan event-event ini, konfigurasikan notifikasi atau aturan peringatan. Untuk instruksi pengaturan, lihat Gunakan notifikasi untuk event sistem.
Berikut ini contoh muatan event Cloud Monitor untuk event scale-out yang gagal:
{
"status": "Failed",
"instanceName": "<instance_id>",
"resourceId": "<instance_resource_id>",
"content": {
"AutoElasticCPU": <cpu_num>,
"ScaleType": "ScaleOut",
"ScheduleId": "xxxxxx",
"WarehouseId": "<warehouse_id>",
"WarehouseName": "<warehouse_name>"
},
"product": "hologres",
"time": 1722852008000,
"level": "WARN",
"regionId": "<region>",
"id": "<event_id>",
"groupId": "0",
"name": "Instance:Warehouse:TimedElastic:Failed"
}
ActionTrail
Semua operasi yang dilakukan di Konsol Hologres — termasuk mengedit konfigurasi auto scaling — serta operasi penskalaan kluster aktual yang dipicu oleh auto scaling dicatat di ActionTrail. Untuk detailnya, lihat Audit log event.