Skip to content

SQLRec

简介

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

system_architecture

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 训练、推理支持
  • 支持认证、鉴权
  • 最佳实践教程,包括搜索、推荐等