Hologres menyediakan kemampuan manajemen resource detail halus. Anda dapat mengalokasikan sumber daya komputasi berbeda—dikenal sebagai compute unit (CUs) yang mencakup CPU dan memori—ke akun pengguna berbeda. Hal ini memungkinkan Anda menetapkan batas atas penggunaan resource untuk setiap pengguna, mengisolasi beberapa beban kerja dalam satu instans, serta mencegah pekerjaan dari pengguna atau aplikasi berbeda saling mengganggu. Topik ini menjelaskan cara menggunakan resource group untuk mengelola sumber daya komputasi dan menerapkan isolasi resource dalam sebuah instans Hologres.
Latar Belakang
Versi Hologres V1.0 dan sebelumnya mendukung isolasi resource antar instans, tetapi tidak mendukung isolasi resource detail halus tingkat pengguna dalam satu instans. Di lingkungan produksi, Anda sering perlu mengisolasi resource berdasarkan pengguna dalam satu instans dan membatasi penggunaan resource maksimum untuk setiap pengguna guna mencegah pekerjaan saling mengganggu. Untuk memenuhi kebutuhan isolasi resource detail halus ini, Hologres memperkenalkan resource group guna mengelola sumber daya komputasi dalam satu instans dan menerapkan isolasi resource. Karena keterbatasan teknis saat ini, tidak semua jenis beban kerja komputasi dapat diisolasi menggunakan resource group. Gunakan fitur ini dengan hati-hati di lingkungan produksi. Untuk solusi isolasi resource yang lebih andal, kami merekomendasikan penggunaan elastic virtual warehouse.
Batasan
-
Anda hanya dapat menggunakan resource group untuk mengelola sumber daya komputasi pada instans Hologres versi V1.1 atau lebih baru. Jika instans Anda merupakan versi sebelumnya, lihat Troubleshooting upgrade preparation errors atau bergabunglah dengan grup DingTalk Hologres untuk dukungan. Untuk informasi selengkapnya, lihat How do I get more online support?.
-
Hanya pengguna dengan izin superuser yang dapat menggunakan kelompok sumber daya untuk mengelola sumber daya komputasi dalam Instans Hologres; jika tidak, sistem akan melaporkan kesalahan izin.
-
Sumber daya komputasi dikelola pada tingkat instans. Jika seorang pengguna memiliki beberapa database dalam satu instans, semua database tersebut berbagi sumber daya komputasi instans tersebut dan tunduk pada rencana alokasi resource yang sama.
Konfigurasi resource group di HoloWeb
Ikuti langkah-langkah berikut untuk mengonfigurasi resource group di antarmuka HoloWeb.
-
Create a resource group
-
Sambungkan ke HoloWeb. Untuk informasi selengkapnya, lihat Connect to HoloWeb and run queries.
-
Di bilah navigasi atas HoloWeb, klik Security Center.
-
Di halaman Security Center, klik Resource Group Management di panel navigasi sebelah kiri.
-
Di halaman Resource Group Management, pilih instans target dan klik Add Resource Group.
-
Di kotak dialog Add Resource Group, masukkan Resource Group Name, atur Resource Group Quota, lalu klik OK.
CatatanJumlah kuota semua resource group dalam satu instans Hologres tidak boleh melebihi 1. Jika melebihi, sistem akan melaporkan error.
-
-
Delete a resource group
-
Sambungkan ke HoloWeb. Untuk informasi selengkapnya, lihat Connect to HoloWeb and run queries.
-
Di bilah navigasi atas HoloWeb, klik Security Center.
-
Di halaman Security Center, klik Resource Group Management di panel navigasi sebelah kiri.
-
Di halaman Resource Group Management, temukan resource group yang ingin dihapus, lalu klik Delete di kolom Actions.
CatatanAnda tidak dapat menghapus resource group yang memiliki pengguna terkait.
-
-
Adjust a resource group quota
-
Sambungkan ke HoloWeb. Untuk informasi selengkapnya, lihat Connect to HoloWeb and run queries.
-
Di bilah navigasi atas HoloWeb, klik Security Center.
-
Di halaman Security Center, klik Resource Group Management di panel navigasi sebelah kiri.
-
Di halaman Resource Group Management, temukan resource group target dan klik Adjust Quota di kolom Resource Group Quota.
-
Di kotak dialog Adjust Quota, ubah kuota resource group lalu klik OK.
-
-
Associate a user
Setelah membuat resource group, Anda dapat mengaitkan pengguna dengannya di HoloWeb.
-
Sambungkan ke HoloWeb. Untuk informasi selengkapnya, lihat Connect to HoloWeb and run queries.
-
Di bilah navigasi atas HoloWeb, klik Security Center.
-
Di halaman Security Center, klik Resource Group Management di panel navigasi sebelah kiri.
-
Di halaman Resource Group Management, temukan resource group target dan klik Associate User di kolom Actions.
-
Di halaman Associate Resource Group, klik Add User for Association.
-
Di kotak dialog Associate User, pilih pengguna lalu klik OK.
Catatan-
Jika pengguna yang ingin dikaitkan tidak muncul dalam daftar drop-down, artinya pengguna tersebut belum ditambahkan ke instans saat ini. Anda harus menambahkannya terlebih dahulu di halaman manajemen pengguna.
-
Seorang pengguna hanya dapat dikaitkan dengan satu resource group. Jika Anda mengaitkan pengguna tersebut dengan resource group baru, kaitan sebelumnya akan ditimpa.
-
-
-
Disassociate a user
-
Sambungkan ke HoloWeb. Untuk informasi selengkapnya, lihat Connect to HoloWeb and run queries.
-
Di bilah navigasi atas HoloWeb, klik Security Center.
-
Di halaman Security Center, klik Resource Group Management di panel navigasi sebelah kiri.
-
Di halaman Resource Group Management, temukan resource group target dan klik Associate User di kolom Actions.
-
Di halaman Bind Resource Group, klik Disassociate User di kolom Actions pengguna target.
-
Di kotak dialog Disassociate User, klik OK.
-
Konfigurasi resource group menggunakan SQL
-
Lihat konfigurasi resource group
Untuk melihat semua resource group, kuota yang dikonfigurasi, dan pengguna yang terkait, jalankan Pernyataan SQL berikut:
SELECT * FROM pg_holo_resource_groups;Contoh hasil:
res_group_name | property_key | property_value ----------------+--------------+------------------------------------------ resource_1 | worker_limit | 0.3 default | worker_limit | 0.7 resource_1 | bind_users | [ "13xxxxxxxxx13", "p4_29xxxxxxxxxx19" ] -
Buat resource group
Catatan-
Secara default, sistem membuat resource group bernama
default, mengalokasikan semua sumber daya komputasi ke resource group tersebut, dan menetapkan semua pengguna yang tidak terkait ke resource group ini. -
Setelah Anda membuat resource group lain, kuota untuk resource group
defaultsecara otomatis disesuaikan menjadi sisa bagian yang tersedia. -
Kami merekomendasikan agar Anda mengalokasikan minimal 30% dari total resource ke resource group
default.
Jalankan Pernyataan SQL berikut untuk membuat resource group:
CALL hg_create_resource_group ('resource_group_name', quota);Parameter
Description
resource_group_nameNama resource group. Nama dapat berisi huruf, angka, dan garis bawah (_) serta panjangnya tidak boleh lebih dari 50 karakter.
quotaPersentase resource yang dialokasikan ke resource group. Nilainya harus antara 0,1 hingga 0,9 (inklusif) dan hanya boleh memiliki satu tempat desimal.
-
-
Ubah kuota resource group
CatatanJumlah kuota semua resource group dalam satu instans Hologres tidak boleh melebihi 1. Jika melebihi, akan terjadi error.
Jalankan Pernyataan SQL berikut untuk mengubah kuota resource group:
CALL hg_alter_resource_group ('resource_group_name', quota);Parameter
Description
resource_group_nameNama resource group. Resource group tersebut harus sudah ada. Jika tidak, akan terjadi error.
quotaPersentase resource yang dialokasikan ke resource group. Nilainya harus antara 0,1 hingga 0,9 (inklusif) dan hanya boleh memiliki satu tempat desimal.
-
Hapus resource group
CatatanAnda tidak dapat menghapus resource group yang memiliki pengguna terkait.
Jalankan Pernyataan SQL berikut untuk menghapus resource group:
CALL hg_drop_resource_group ('resource_group_name');Parameter
Description
resource_group_nameNama resource group. Resource group tersebut harus sudah ada. Jika tidak, akan terjadi error.
-
Kaitkan pengguna dengan resource group
Catatan-
Seorang pengguna hanya dapat dikaitkan dengan satu resource group. Jika Anda mengaitkan pengguna tersebut dengan resource group baru, kaitan sebelumnya akan ditimpa.
-
Anda dapat menjalankan Pernyataan SQL berikut untuk melihat pengguna saat ini:
SELECT current_user;
Setelah membuat resource group, Anda dapat mengaitkan pengguna dengannya untuk membatasi sumber daya komputasi mereka. Jalankan Pernyataan SQL berikut untuk mengaitkan pengguna dengan resource group:
-
Sintaks
CALL hg_bind_resource_group('resource_group_name', 'user_name'); -
Parameter
Parameter
Description
resource_group_nameNama resource group. Resource group tersebut harus sudah ada. Jika tidak, akan terjadi error.
user_nameNama pengguna. Pengguna tersebut harus sudah ada dan memiliki izin untuk mengakses instans yang berisi resource group tersebut. Jika tidak, akan terjadi error.
-
Contoh
CALL hg_bind_resource_group ('resource_1', 'p4_29xxxxxxxxxxx'); -- Catatan: Nama Akun Alibaba Cloud harus diapit tanda kutip ganda. CALL hg_bind_resource_group ('resource_1', '"ALIYUN$xxxx@aliyun.com"'); CALL hg_bind_resource_group ('resource_1', '"RAM$xxx@xxx:xxxx"'); CALL hg_bind_resource_group ('resource_1', '"13xxxxxxxxxxx13"');
-
-
Lepaskan kaitan pengguna dari resource group
CatatanSetelah pengguna dilepaskan dari resource group, mereka secara otomatis ditetapkan ke resource group
default.Jalankan Pernyataan SQL berikut untuk melepaskan kaitan pengguna dari resource group:
-
Sintaks
CALL hg_unbind_resource_group('resource_group_name', 'user_name'); -
Parameter
Parameter
Description
resource_group_nameNama resource group. Resource group tersebut harus sudah ada. Jika tidak, akan terjadi error.
user_nameNama pengguna. Pengguna tersebut harus sudah ada dan memiliki izin untuk mengakses instans yang berisi resource group tersebut. Jika tidak, akan terjadi error.
-
Contoh
CALL hg_unbind_resource_group ('resource_1', 'p4_29xxxxxxxxxxxxx9'); -- Catatan: Nama Akun Alibaba Cloud harus diapit tanda kutip ganda. CALL hg_unbind_resource_group ('resource_1', '"RAM$xxxx@xxx:xxx"');
-
FAQ
T: Mengapa metrik CPU dan memori melebihi 50% ketika kuota resource group diatur ke 0,5?
J: Kuota resource group terutama membatasi CPU dan memori yang digunakan oleh query engine. Namun, sebagian kecil penggunaan CPU dan memori tidak dibatasi untuk menangani operasi seperti parsing dan optimasi SQL, pemrosesan metadata, penjadwalan, eksekusi PQE, dan compaction. Selain itu, untuk penulisan data real-time, kuota membatasi CPU tetapi tidak membatasi penggunaan memori. Akibatnya, total metrik CPU dan memori resource group dapat melebihi kuota yang dikonfigurasi.