- Công cụ thế hệ mới chuyên tăng tốc truy vấn SQL bằng phần cứng GPU mới nhất
- Thông qua định dạng truy vấn Substrait, chuyển các truy vấn được tạo từ công cụ CPU (DuckDB) sang môi trường GPU (Sirius)
- Tách riêng Raw Data Cache Region và Processing Region trong bộ nhớ GPU để tối đa hóa hiệu năng nạp dữ liệu và xử lý
- Không cần sửa truy vấn hay thay đổi hệ thống nhưng vẫn đạt tốc độ nhanh hơn hơn 10 lần với cùng chi phí ở quy mô TPC-H 100
- Tối ưu cho khối lượng công việc dữ liệu lớn như phân tích thời gian thực, tài chính, ETL
- Môi trường hỗ trợ: Ubuntu 20.04+, GPU NVIDIA Volta(7.0+) trở lên, CUDA 11.2+, CMake 3.30.4 trở lên (khuyến nghị từ 16 vCPU trở lên)
- Cách cài đặt: cung cấp 3 tùy chọn gồm AWS AMI (ảnh dựng sẵn), Docker image và cài đặt thủ công các phụ thuộc
- Docker:
sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
- Thủ công: cần cài riêng các phụ thuộc như DuckDB, CUDA, libcudf(cài qua conda)
- Các giới hạn chính
- Chỉ hoạt động trong phạm vi dung lượng bộ nhớ GPU (dự kiến sẽ hỗ trợ partitioning/batching, disk spill và multi-GPU trong tương lai)
- Số lượng hàng tối đa bị giới hạn bởi giới hạn int32_t của libcudf (~2 tỷ hàng)
- Kiểu dữ liệu: hỗ trợ INTEGER, BIGINT, FLOAT, DOUBLE, VARCHAR, DATE, DECIMAL; đang phát triển thêm các kiểu khác
- Toán tử: hỗ trợ FILTER, PROJECTION, JOIN, GROUP-BY, ORDER-BY, AGGREGATION, TOP-N, LIMIT, CTE; các hàm WINDOW v.v. đang được phát triển
- Chưa hỗ trợ cột partially NULL (sẽ vá trong bản cập nhật sau)
- Tự động fallback về công cụ CPU của DuckDB khi phát sinh sự cố
1 bình luận
Substrait - tiêu chuẩn trao đổi đa nền tảng cho các phép toán xử lý dữ liệu