- 最新のGPUハードウェアを活用したSQLクエリ高速化に特化した次世代エンジン
- Substrait クエリフォーマットを通じて、CPUエンジン(DuckDB)で生成されたクエリをGPU環境(Sirius)へ転送
- GPUメモリ内で Raw Data Cache Region と Processing Region を分離し、データ読み込みおよび処理性能を最大化
- クエリ修正やシステム変更なしで、TPC-H 100規模において 同一コスト基準で10倍以上の速度 を記録
- リアルタイム分析、金融、ETL などの 大規模データワークロード に最適
- 対応環境 : Ubuntu 20.04+、NVIDIA Volta(7.0+)以上のGPU、CUDA 11.2+、CMake 3.30.4 以上(16 vCPU以上を推奨)
- インストール方法 : AWS AMI(事前構成済みイメージ)、Dockerイメージ、手動依存関係インストールの3つのオプションを提供
- Docker:
sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
- 手動: DuckDB依存関係、CUDA、libcudf(condaでインストール)などを個別にインストールする必要あり
- 主な制限事項
- GPUメモリ容量内でのみ動作(今後、パーティショニング/バッチ・ディスクスピル・マルチGPU対応を予定)
- 最大行数は libcudf の int32_t 制限(約20億 rows) に制約される
- データ型: INTEGER、BIGINT、FLOAT、DOUBLE、VARCHAR、DATE、DECIMAL をサポート。追加の型は開発中
- 演算子: FILTER、PROJECTION、JOIN、GROUP-BY、ORDER-BY、AGGREGATION、TOP-N、LIMIT、CTE をサポート。WINDOW関数などは開発中
- Partially NULL Column は未対応(今後パッチ予定)
- 問題発生時は DuckDB の CPU エンジンへ自動フォールバック
1件のコメント
Substrait - データ処理演算のためのクロスプラットフォーム交換標準