28、利用 SQL Server 实现异步预测模型训练与实时预测

利用 SQL Server 实现异步预测模型训练与实时预测

1. 异步重新计算预测模型

在某些情况下,按固定时间间隔重新计算模型并非最佳选择,因为数据的到来时间和数量是随机的。我们可以在数据量发生显著变化时重新计算模型,具体做法是跟踪模型上次训练时的记录数量,并与新数据到来时的记录数量进行比较。当两者差异达到一定比例(如 10%)时,执行模型训练。

由于模型训练通常是一个耗时的任务,不能让预测等待训练完成。SQL Server 提供了 Service Broker 功能,它是数据库内置的,无需安装或配置额外软件,可用于多种异步场景。在我们的场景中,推荐模型的训练执行将从存储过程发起以进行预测,但预测本身会立即返回结果,无需等待新的推荐模型版本。

要使用 Service Broker,需要开发以下对象:
1. 消息类型(Message type) :定义从一个服务发送到另一个服务的消息格式,可以是任何有效的 XML、特定 XML 模式的 XML 或空消息。
2. 契约(Contract) :定义发起服务可以发送到目标服务的消息类型,反之亦然。
3. 队列(Queue) :用于存储发送的消息,后续由服务程序处理。
4. 服务(Service) :规定哪个契约与哪个队列关联。
5. 服务程序(Service program) :通常是一个存储过程,用于接收和处理发送到队列的消息。

1.1 创建消息类型

消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值