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

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目