SQLRec
简介
一个支持使用 SQL 进行开发的推荐引擎,目标是让懂数据科学的人,包括数据分析师、数据工程师、后端开发等,都能快速搭建生产可用的推荐系统。系统架构参考下图,SQLRec 将底层的组件访问、模型训练、推理等流程使用 SQL 封装,上层推荐业务逻辑仅使用 SQL 进行描述即可。

SQLRec 有以下特点:
- 云原生,自带基于 minikube 的部署脚本,可以一键部署 SQLRec 系统和相关的依赖服务
- 扩展了 SQL 语法,让使用 SQL 描述推荐系统业务逻辑变得可能
- 基于 Calcite 实现了一个高效的 SQL 执行引擎,可以满足推荐系统的实时性要求
- 基于已有的大数据生态,接入简单
- 易于扩展,可以自定义 UDF、Table 类型、Model 类型
路线图
1.0 版本什么时候发布
1.0 之前版本都是 beta 版本,不建议线上使用,不保证接口兼容性。目前无规划发布时间,将在下述功能完善后发布:
- 完善的单元测试、集成测试、效果测试覆盖
- 优化代码质量,目前仍很多细节要打磨
- 支持降级和超时配置
- 完善的版本管理方法,可以方便回滚到之前的版本
- Metric 监控系统完善
- C++ 模型 Serving
后续功能规划
- 前端 UI,用于查看当前执行 DAG、SQL 代码、统计信息等
- 进一步优化 SQL 语法兼容性、运行性能
- 更多开箱可用的 UDF、模型等
- 支持更多的外部数据源,比如 JDBC、MongoDB 等
- Tensorboard 可视化模型训练过程
- GPU 训练、推理支持
- 支持认证、鉴权
- 最佳实践教程,包括搜索、推荐等