首页
/ sirius 的项目扩展与二次开发

sirius 的项目扩展与二次开发

2025-06-29 15:07:51作者:柯茵沙

项目的基础介绍

Sirius 是一个基于 GPU 的原生 SQL 引擎,它可以无缝地集成到现有的数据库系统中,如 DuckDB,无需重写查询或进行重大系统更改。Sirius 通过标准 Substrait 查询格式支持 DuckDB 和 Doris(即将支持),并且其他系统也在开发路线图上。

项目的核心功能

Sirius 的核心功能是提供 GPU 加速的 SQL 查询处理,使得在相同的硬件租赁成本下,运行 TPC-H 查询的速度比现有的 CPU 查询引擎快约 10 倍。这使得 Sirius 非常适合进行交互式分析、金融工作负载和 ETL 任务。

项目使用了哪些框架或库?

Sirius 项目使用了以下框架或库:

  • DuckDB:一个嵌入式的分析数据管理系统。
  • CUDA:NVIDIA 提供的并行计算平台和编程模型。
  • CMake:一个跨平台的安装(编译)工具,能够使用简单的声明性语句描述所有平台的安装(编译过程)。

项目的代码目录及介绍

项目的代码目录如下:

  • ./github/workflows:包含项目的持续集成和持续部署工作流。
  • ./src:包含 Sirius 的核心源代码。
  • ./test:包含测试用例和测试脚本。
  • ./third_party:包含第三方依赖库的源代码。
  • ./docs:包含项目文档。
  • ./scripts:包含构建和部署脚本。

对项目进行扩展或者二次开发的方向

1. 支持更多的数据库系统

目前 Sirius 支持 DuckDB,未来可以扩展支持更多类型的数据库系统,如 PostgreSQL、MySQL 等,以扩大其应用范围。

2. 增强查询优化器

可以通过增强查询优化器来提高查询的执行效率,例如,引入更多的优化规则和策略,如索引优化、查询重写等。

3. 扩展 GPU 加速功能

可以继续扩展 GPU 加速的功能,例如,引入更多的 GPU 加速的算法和操作,如排序、聚合等。

4. 增加新的接口和工具

为方便用户使用,可以增加新的接口和工具,如提供更多语言的 API,开发可视化工具等。

5. 社区支持和文档完善

建立活跃的社区,提供更多的文档和教程,帮助开发者更好地理解和使用 Sirius,同时也能够吸引更多的贡献者参与到项目中来。

登录后查看全文