Chuyển tới nội dung chính

Resource Groups

Tính năng Resource Groups cho phép Platform Admin kích hoạt và cấu hình cơ chế phân bổ tài nguyên (resource groups) cho Trino cluster. Sau khi kích hoạt, hệ thống giới hạn concurrency, queue, memory và CPU cho từng nhóm workload, ngăn một workload chiếm toàn bộ tài nguyên của cluster. 

Tab Resource Groups hiển thị thông tin cấu hình Resource Groups của Trino. 

A. Enable Resource Groups 

Để kích hoạt Resource Groups, người dùng thực hiện các bước sau:

  • Bước 1: Tại thanh menu chọn Data Platform > chọn Workspace Management > chọn tên Workspace > Chọn Trino

  • Bước 2: Tại trang chi tiết Trino, chọn tab Resource Groups

→ Hệ thống hiển thị màn hình trạng thái trống (empty state) với biểu tượng Resource Groups

  • Bước 3: Nhấn nút Enable

→ Hộp thoại "Enable resource groups" xuất hiện với danh sách thả xuống (dropdown) Source (mặc định = File). 

Hình ảnh

  • Bước 4: Tại danh sách thả xuống (dropdown) Source, chọn loại nguồn cấu hình: 
    • File: sử dụng file cấu hình cục bộ (local) trên coordinator (máy điều phối) (không cần điền thêm thông tin). 
    • Database: sử dụng database để lưu trữ cấu hình (cần điền thêm thông tin kết nối). 

Hình ảnh 

Nếu chọn Source = Database, điền đầy đủ các thông tin sau:

  • Type: Loại database. Hiện hỗ trợ: PostgreSQL.

  • Host: Địa chỉ IP hoặc hostname của database server.

  • Port: Cổng kết nối (1–65535).

  • Database Name: Tên database lưu cấu hình Resource Groups.

  • Username: Tên đăng nhập database.

  • Password: Mật khẩu database. Hỗ trợ toggle hiện/ẩn.

Hình ảnh

Lưu ý: Nếu chuyển từ File sang Database, hệ thống hiển thị cảnh báo: "Warning: Switching modes involves a 30-90s restart. Active queries will be terminated. Configuration settings will be preserved." (Cảnh báo: Việc chuyển đổi chế độ sẽ yêu cầu khởi động lại trong 30-90 giây. Các câu truy vấn đang hoạt động sẽ bị dừng. Các thiết lập cấu hình sẽ được giữ nguyên). 

  • Bước 5: (Tuỳ chọn) Nhấn nút Test connection để kiểm tra kết nối database trước khi lưu. 

→ Hệ thống xác nhận kết nối thành công hoặc hiển thị thông báo lỗi cụ thể.

  • Bước 6: Nhấn Save để hoàn tất. 

→ Hộp thoại đóng lại. Tab Resource Groups chuyển sang trạng thái Enabled. Tab Details được mở mặc định với cây resource group khởi tạo ở nhóm gốc (root: global → admin). 

B. Quản lý Resource Group (Tab Details) 

Hình ảnh 

Tab Details gồm 2 panel:

  • Khung bên trái: hiển thị cây nhóm tài nguyên (resource group). Nhấn vào nhóm (node) để xem chi tiết.
  • Khung bên phải: hiển thị chi tiết nhóm (node) đang chọn gồm 3 section:
    • Concurrency & Queue: Soft concurrency limit, Hard Concurrency Limit, Max Queued.
    • Resource limit: Soft cpu limit, Hard cpu limit, Soft Memory Limit.
    • Scheduling: Scheduling policy, Scheduling Weight, JMX Export.

B1. Tạo Resource Group mới

  • Bước 1: Tại khung bên trái, nhấn icon + cạnh tiêu đề "Resource Groups".

→ Hộp thoại "Create resource group" mở ra.

Hình ảnh

  • Bước 2: Điền các thông tin cần thiết:
TrườngMô tả
Name (bắt buộc)Tên resource group, tối đa 250 ký tự. Hỗ trợ template ${USER}, ${SOURCE}.
Max Queued (bắt buộc)Số query tối đa có thể xếp hàng chờ. Giá trị tối thiểu: 0.
Hard Concurrency Limit (bắt buộc)Số query tối đa chạy đồng thời. Tối thiểu: 1.
Soft Concurrency Limit (tuỳ chọn)Phải ≤ Hard Concurrency Limit nếu được nhập.
Soft Memory Limit (bắt buộc)Định dạng phần trăm (ví dụ: 50%) hoặc tuyệt đối (10GB, 500MB).
Soft cpu limit / Hard cpu limit (tuỳ chọn)Hard cpu limit phải lớn hơn Soft cpu limit nếu cả 2 được nhập.
JMX Export (tuỳ chọn)Boolean. Mặc định: False.
Scheduling policy (tuỳ chọn)fair / weighted / weighted_fair / query_priority. Mặc định: fair.
Scheduling Weight (tuỳ chọn)Chỉ có hiệu lực khi policy = weighted hoặc weighted_fair.
  • Bước 3: Nhấn Create để tạo. 

→ Node mới xuất hiện trong cây. Nút Apply change và Cancel xuất hiện ở góc dưới phải. 

B2. Tạo Sub-group

  • Bước 1: Chọn nhóm cha (parent node) trong cây nhóm tài nguyên ở khung bên trái.

  • Bước 2: Nhấn nút + Add Sub-group ở khung bên phải.

  • Bước 3: Điền thông tin và nhấn Create.

→ Node con xuất hiện thụt lề dưới node parent trong cây.

B3. Sửa Resource Group

  • Bước 1: Chọn node cần sửa trong cây.

  • Bước 2: Nhấn nút Edit (biểu tượng bút chì) ở khung bên phải.

→ Hộp thoại "Edit resource group" mở ra với dữ liệu hiện tại đã điền sẵn.

Hình ảnh

  • Bước 3: Cập nhật thông tin và nhấn Save

→ Khung bên phải cập nhật giá trị mới. Nút Apply change và Cancel xuất hiện.

B4. Xoá Resource Group

  • Bước 1: Chọn node cần xoá trong cây.

  • Bước 2: Nhấn nút Delete (biểu tượng thùng rác) ở khung bên phải.

Hình ảnh

→ Hộp thoại xác nhận hiển thị: "Are you sure you want to delete resource group: [tên]? This action cannot be undone."

  • Bước 3: Nhấn Confirm (màu đỏ) để xác nhận xoá.

→ Node (và toàn bộ sub-group con) bị xoá khỏi cây. Nút Apply change và Cancel xuất hiện.

Lưu ý: Xoá node cha sẽ xoá toàn bộ cây con. Thao tác này không thể hoàn tác sau khi Apply change.

B5. Apply Change / Cancel

Mọi thay đổi trên cây resource group được lưu tạm thời. Nhấn Apply change để áp dụng vào Trino cluster: 

  • Apply change: gửi toàn bộ thay đổi tạm thời đến Trino coordinator (máy điều phối). Hoàn thành trong ≤ 30 giây.
  • Cancel: huỷ toàn bộ thay đổi tạm thời, cây quay về trạng thái lần apply cuối.

C. Quản lý Selector Rules (Tab Selector Rules)

Tab Selector Rules hiển thị danh sách các quy tắc định tuyến câu truy vấn (route query) vào nhóm tài nguyên (resource group). Quy tắc (rules) được xử lý tuần tự — quy tắc đầu tiên khớp sẽ được áp dụng (first match wins - khớp đầu tiên sẽ thắng). Tất cả các điều kiện trong một quy tắc sử dụng logic AND.

Bảng Selector Rules gồm các cột: User match, Source, Query type, Client tags, Target group, Action.

C1. Tạo Selector Rule mới

  • Bước 1: Nhấn nút + Add selector rule ở góc trên phải.

→ Hộp thoại "Create selector rule" mở ra. 

Hình ảnh

  • Bước 2: Điền ít nhất một điều kiện và chọn Resource group đích:
TrườngMô tả
Userregex pattern khớp với tên user. Tối đa 512 ký tự.
Sourceregex pattern khớp với source kết nối. Tối đa 512 ký tự.
Grouptên user group.
Query typeloại query — SELECT, INSERT, DELETE, UPDATE, DATA_DEFINITION, v.v.
Client tagsdanh sách tag. Tối đa 20 tags, mỗi tag tối đa 128 ký tự.
Resource groupgroup đích nhận query.

Lưu ý: Ít nhất 1 trong các trường điều kiện (User, Source, Group, Query type, Client tags) phải được điền. 

  • Bước 3: Nhấn Create để lưu. 

→ Rule xuất hiện trong bảng. Nút Apply change và Cancel xuất hiện. 

C2. Sửa Selector Rule

  • Bước 1: Nhấn icon bút chì (edit) ở cột Action của rule cần sửa. 

→ Hộp thoại "Edit selector rule" mở ra với dữ liệu hiện tại đã điền sẵn. 

Hình ảnh

  • Bước 2: Cập nhật thông tin và nhấn Save.

→ Bảng cập nhật thông tin mới. Nút Apply change và Cancel xuất hiện. 

C3. Xoá Selector Rule

  • Bước 1: Nhấn icon thùng rác (delete) ở cột Action của rule cần xoá. 

Hình ảnh 

→ Hộp thoại xác nhận: "Are you sure you want to delete selector rule? This action cannot be undone." (Bạn có chắc chắn muốn xóa quy tắc selector này không? Hành động này không thể hoàn tác).

  • Bước 2: Nhấn Confirm (màu đỏ) để xoá.

→ Rule biến mất khỏi bảng. Nút Apply change và Cancel xuất hiện. 

D. Configuration Manager (Tab Configuration) 

Tab Configuration hiển thị thông tin nguồn cấu hình Resource Groups hiện tại và cho phép chuyển đổi giữa File mode và Database mode. 

Hình ảnh

Trang hiển thị 2 section:

  • Configuration:
    • Loại (type: file/db)
    • Đường dẫn Database (Database url)
    • Tên đăng nhập (Username)
    • Mật khẩu (Password - hiển thị ***).
  • Global properties:
    • CPU Quota Period

Để thay đổi nguồn cấu hình, người dùng thực hiện:

  • Bước 1: Nhấn nút Edit (biểu tượng bút chì) ở góc trên phải.

→ Hộp thoại "Enable resource groups" mở ra với Source hiện tại đã chọn sẵn.

  • Bước 2: Thay đổi Source và điền thông tin tương ứng (xem mục A).

Lưu ý: Chuyển đổi chế độ sẽ yêu cầu khởi động lại coordinator (máy điều phối) trong khoảng 30–90 giây. Các câu truy vấn đang hoạt động (active queries) sẽ bị chấm dứt (terminate). Cấu hình resource group và selector rules được giữ nguyên.

  • Bước 3: Nhấn Save để xác nhận. 

→ Hệ thống chuyển đổi (migrate) cấu hình. Tab Configuration hiển thị loại source mới sau khi hoàn tất. 

E. Disable Resource Groups

Để vô hiệu hoá Resource Groups, người dùng thực hiện:

  • Bước 1: Nhấn nút Disable (màu đỏ) ở góc trên phải — hiển thị trên cả 3 tab Details, Selector Rules, Configuration. 

Hình ảnh

→ Hộp thoại xác nhận hiển thị: "This action may lead to unexpected performance degradation or resource contention across workloads. This action cannot be undone." (Hành động này có thể dẫn đến suy giảm hiệu năng không mong muốn hoặc tranh chấp tài nguyên giữa các khối lượng công việc. Hành động này không thể hoàn tác).

  • Bước 2: Nhấn Confirm để xác nhận. 

→ Resource Groups bị vô hiệu hoá. Tab Resource Groups quay về empty state với nút Enable.

Lưu ý: Hành động Disable không thể hoàn tác qua UI. Để kích hoạt lại, nhấn Enable và cấu hình lại từ đầu.