Trino
Trino là query engine SQL phân tán chạy trên nhiều kho dữ liệu (Hive, Iceberg, Delta Lake, database quan hệ và nhiều loại khác). Fresco BI kết nối tới coordinator của Trino qua HTTPS, liệt kê catalog, schema, bảng và view, rồi import các bảng bạn chọn vào một Data Table.
| Tính năng | Hỗ trợ |
|---|---|
| Import | Có |
| DirectQuery | Không |
| SSL/TLS | Luôn bật (có xác minh) |
| SSH tunnel | Không |
| Cloud | Có |
| On-premises (qua Gateway) | Không |
Chuẩn bị
Phần tiêu đề “Chuẩn bị”- Một Trino coordinator đã bật HTTPS, có chứng chỉ cấp cho đúng tên host. Fresco BI không bao giờ gửi thông tin đăng nhập qua HTTP thường.
- Coordinator đã cấu hình xác thực bằng mật khẩu (ví dụ LDAP hoặc password file) hoặc bằng JWT.
- Quyền sửa cấu hình access control của coordinator để cấp quyền chỉ đọc.
Bước 1: Tạo tài khoản chỉ đọc
Phần tiêu đề “Bước 1: Tạo tài khoản chỉ đọc”Tạo user fresco_reader trong hệ thống xác thực (LDAP, password file) với <strong-password>, hoặc cấp cho nó một JWT ký bằng khóa mà coordinator tin cậy.
Fresco BI chạy SHOW CATALOGS, đọc information_schema (schemata, tables, columns) và chạy SELECT. Chỉ cấp quyền đọc, không cấp gì thêm. Với file-based access control, thêm các rule như sau vào file rules:
{ "catalogs": [ { "user": "fresco_reader", "catalog": "<catalog>", "allow": "read-only" } ], "tables": [ { "user": "fresco_reader", "catalog": "<catalog>", "privileges": ["SELECT"] } ]}Rule được so khớp theo thứ tự, nên đặt các rule này phía trên các rule rộng hơn. Rule cấp trên catalog (không phải trên một bảng) cũng áp dụng cho bảng tạo sau này.
Nếu catalog của bạn dùng phân quyền kiểu SQL-standard, hãy cấp SELECT trên các bảng Fresco BI cần đọc:
GRANT SELECT ON <catalog>.<schema>.<table> TO USER fresco_reader;Bước 2: Cho phép truy cập mạng
Phần tiêu đề “Bước 2: Cho phép truy cập mạng”Fresco BI kết nối tới cổng HTTPS của coordinator qua internet. Trên firewall hoặc security group, cho phép kết nối vào từ các địa chỉ IP đi ra của Fresco BI (hướng dẫn bên cạnh form nguồn dữ liệu có liệt kê) ở cổng đó (mặc định 443).
Coordinator phải có địa chỉ public: địa chỉ nội bộ, loopback và metadata bị chặn, và Trino không có lựa chọn On-premises (qua Gateway) hay SSH tunnel.
Bước 3: Điền form
Phần tiêu đề “Bước 3: Điền form”| Ô | Nhập gì |
|---|---|
| Máy chủ | Tên host của coordinator, ví dụ trino.example.com |
| Cổng | Cổng HTTPS của coordinator (mặc định 443) |
| Catalog | Một catalog cần liệt kê. Để trống để liệt kê mọi catalog. |
| Tài khoản | fresco_reader |
| Cách đăng nhập | Mật khẩu (mặc định) hoặc JWT |
| Mật khẩu | Mật khẩu của user (khi đăng nhập bằng mật khẩu) |
| JWT | Token (khi đăng nhập bằng JWT) |
| Chứng chỉ CA (PEM) | Chỉ cần khi dùng CA riêng hoặc chứng chỉ tự ký. Để trống thì dùng kho chứng chỉ của hệ thống. |
| Thời gian chạy tối đa | Số phút một truy vấn được chạy, 1–240 (mặc định 60) |
Dùng đúng tên host mà coordinator trả về trong câu trả lời của nó. Fresco BI chỉ đọc các trang tiếp theo của truy vấn trên host bạn đã nhập và từ chối chuyển hướng sang host khác, nên proxy viết lại địa chỉ sẽ làm hỏng kết nối.
Bấm Kiểm tra kết nối: bước này đăng nhập và chạy SELECT 1. Sau đó bấm Lưu.
Chế độ SSL
Phần tiêu đề “Chế độ SSL”Kết nối tới Trino luôn được mã hóa và xác minh: chứng chỉ phải do CA tin cậy (hoặc CA bạn dán vào) ký và cấp cho đúng tên host bạn nhập.
Xử lý sự cố
Phần tiêu đề “Xử lý sự cố”- Máy chủ từ chối tài khoản hoặc mật khẩu. Sai mật khẩu, JWT hết hạn hoặc không được tin cậy, hoặc user chưa có trong hệ thống xác thực.
- Tài khoản không có quyền đọc đối tượng này. Access control đang từ chối
fresco_reader. Thêm các rule chỉ đọc ở Bước 1. - Không tìm thấy database hoặc đối tượng này trên máy chủ. Catalog, schema hoặc bảng không tồn tại hoặc đã đổi tên. Kiểm tra lại ô Catalog.
- Không thiết lập được kết nối SSL với chế độ đã chọn. Kiểm tra chế độ SSL và chứng chỉ CA. Chứng chỉ không được tin cậy hoặc không cấp cho host này. Dán đúng CA vào ô Chứng chỉ CA (PEM), hoặc dùng tên host ghi trong chứng chỉ.
- Không phân giải được tên máy chủ (DNS). Kiểm tra lại ô Máy chủ. Kiểm tra chính tả host và DNS public.
- Địa chỉ máy chủ thuộc dải bị chặn (nội bộ, loopback hoặc metadata). Database trong mạng nội bộ cần kết nối On-premises qua Gateway. Host phân giải ra địa chỉ nội bộ. Trino phải truy cập được qua địa chỉ public.
- Không mở được kết nối tới máy chủ và cổng này. Kiểm tra máy chủ, cổng, và firewall đã cho phép IP của Fresco BI chưa. Cổng đang đóng, firewall chặn các địa chỉ IP đi ra của Fresco BI (hướng dẫn bên cạnh form nguồn dữ liệu có liệt kê), hoặc coordinator trả lỗi HTTP 502, 503 hay 504.
- Máy chủ không phản hồi kịp. Thường do firewall chặn im lặng hoặc sai máy chủ, cổng. Firewall chặn im lặng, hoặc truy vấn chạy quá Thời gian chạy tối đa.
- Vượt giới hạn kích thước hoặc số kết nối đồng thời. Trino từ chối truy vấn (hàng đợi đầy, vượt giới hạn bộ nhớ hoặc giới hạn scan). Thử lại sau hoặc nhờ admin Trino nâng giới hạn.
- Nguồn trả về kiểu dữ liệu trình kết nối chưa hỗ trợ. Cột varbinary, array, map, row và interval không import được; bỏ chúng ra khỏi Data Table.

