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,实现硬件的最大利用率。
相关
- 项目
- 项目
- 项目
- 项目
- 项目