sirius-db/sirius
GPU-native composable analytics engine
解決的問題
Sirius 是一個 GPU 原生 SQL 引擎,旨在透過將查詢執行從 CPU 偵至 GPU 來加速資料分析。它無需使用者重寫現有的 SQL 查詢或更換資料庫系統,即可為大規模資料處理帶來顯著的效能提升。
工作原理
Sirius 透過標準的 Substrait 查詢格式與 DuckDB 等現有資料庫整合。它透過優化器鈎子截取查詢,並使用 NVIDIA CUDA-X 庫(包含 cuDF 與 RAPIDS 記憶體管理器(RMM))在 GPU 上執行。
主要技術特性包括:
- 透明執行:查詢會自動路由至 GPU;若某個運算子不支援,系統會靜默回退至 CPU。
- 外存處理:它在分層系統(GPU、主機記憶體與磁碟)中管理記憶體,透過自動資料分割與溢出,處理大於 GPU 記憶體的資料集。
- 記憶體固定:使用者可將經常使用的資料表「固定」於 GPU 或主機記憶體中,以跳過後續執行的檔案 I/O 與解碼。
- 儲存支援:支援 Parquet 檔案與 DuckDB 原生儲存。
適用對象
使用 DuckDB 或其他 SQL 引擎,並需要以高效率 GPU 加速處理大型資料集(例如 TPC-H 基準測試)但不願改變工作流程的資料工程師與分析師。
主要亮點
- 無縫整合:作為擴充模組無縫接入 DuckDB,無需重寫查詢。
- 高效率:在特定硬體(DGX Station)上,效能相比 DuckDB 最高可提升 5 倍。
- 分層記憶體:透過 GPU/主機/磁碟記憶體管理,高效處理大規模資料。
- GPU 原生:基於 NVIDIA CUDA-X 與 RAPIDS,實現硬體的最大利用率。
相關
- 專案
- 專案
- 專案
- 專案
- 專案