SQL Server 机器学习服务中的新增功能?

适用于:SQL Server 2016 (13.x) 及更高版本

本文介绍 SQL Server 机器学习服务的每个版本中包含的新功能和功能。 随着我们继续扩大、扩展和深化数据平台、高级分析和数据科学之间的集成,机器学习功能会添加到每个版本的 SQL Server 中。

注意

功能和安装选项因 SQL Server 版本而异。 使用版本选择器下拉列表选择适当版本的 SQL Server。

SQL Server 2022 中的新增功能

从 SQL Server 2022 (16.x) 起,R、Python 和 Java 的运行时不再随 SQL 安装程序一起安装。 请改为安装任何所需的自定义运行时和包。 有关详细信息,请参阅在 Windows 上安装 SQL Server 2022 机器学习服务(Python 和 R)在 Linux 上安装 SQL Server 机器学习服务(Python 和 R)

SQL Server 2019 中的新增功能

此版本在 SQL Server 中添加了用于 Python 和 R 机器学习操作的需求最大的功能。 有关此版本中所有功能的详细信息,请参阅 SQL Server 2019 中的新增功能SQL Server 2019 的发行说明

有关 SQL Server 2019 中 Java 和 C# 的新增功能文档,请参阅 SQL Server 语言扩展中的新增功能

以下是 SQL Server 机器学习服务的新增功能,在 Windows 和 Linux 上均可使用 :

SQL Server 2017 的新增功能

此版本添加了 Python 支持和行业领先的机器学习算法。 重命名以反映新的作用域,SQL Server 2017 标志着 SQL Server 机器学习服务(数据库内)的引入,同时对 Python 和 R 提供语言支持。

有关所有的功能公告,请参阅 SQL Server 2017 的新增功能

R 增强功能

SQL Server 机器学习服务 R 组件是下一代 SQL Server 2016 R Services,其中包含基本 R、RevoScaler 和其他包的更新版本。

R 的新功能包括包管理,以下是一些亮点 :

R 库

程序包 说明
MicrosoftML 在此版本中,MicrosoftML 包含在默认 R 安装中,从而消除了之前 SQL Server 2016 R Services 中所需的升级步骤。 MicrosoftML 提供先进的机器学习算法和可在远程计算上下文中扩展或运行的数据转换。 算法包括可自定义的深层神经网络、快速决策树和决策林、线性回归和逻辑回归。

用于数据库内分析的 Python 集成

Python 是一种语言,可为各种机器学习任务提供极大灵活性和强大功能。 用于 Python 的开放源代码库包括可自定义神经网络的多个平台以及用于自然语言处理的常用库。

由于 Python 与数据库引擎集成,因此可以保持与数据接近的分析结果,同时清除与数据移动相关的成本和安全风险。 可使用 Visual Studio 之类的工具基于 Python 部署机器学习解决方案。 使用 SQL Server 数据访问方法,生产应用程序可以从 Python 3.5 运行时获取预测、模型或视觉对象。

通过 sp_execute_external_script 系统存储过程支持 T-SQL 和 Python 集成。 可使用此存储过程调用任何 Python 代码。 代码在安全的双体系结构中运行,该体系结构可使用企业级的 Python 模型和脚本部署,可使用简单的存储过程从应用程序中调用。 通过将数据从 SQL 流式传输到 Python 进程以及 MPI 环并行化,实现更多性能提升。

可使用 T-SQL PREDICT 函数在以前以所需的二进制格式保存的预定型模型上执行本机评分

Python 库

程序包 说明
revoscalepy RevoScaleR 的 Python 等效项。 你可以为线性和逻辑回归、决策树、提升树和随机林创建 Python 模型,所有这些都是可并行化的,并能够在远程计算上下文中运行。 此包支持使用多个数据源和远程计算上下文。 数据科学家或开发人员可以在远程 SQL Server 上执行 Python 代码,以浏览数据或生成模型,而无需移动数据。
microsoftml MicrosoftML R 包的 Python 等效项。

预定型模型

预定型模型可用于 Python 和 R。使用这些模型进行图像识别和正负情绪分析,以便根据自己的数据生成预测 。

独立服务器作为 SQL Server 安装程序中的共享功能

此版本还添加了 SQL Server 机器学习服务器(独立版),这是一个完全独立的数据科学服务器,支持 R 和 Python 中的统计分析和预测分析。 与 R Services 一样,此服务器是 SQL Server 2016 R Server(独立版)的下一版本。 使用该独立服务器,你可以分发和扩展 R 或 Python 解决方案,而无需依赖于 SQL Server。

SQL Server 2016 中的新增功能

此版本通过 SQL Server 2016 R Services 将机器学习功能引入到 SQL Server,这是一个数据库内分析引擎,用于处理数据库引擎实例中常驻数据上的 R 脚本 。

此外,SQL Server 2016 R Server(独立版)是作为在 Windows 服务器上安装 R Server 的方式发布的 。 最初,SQL Server 安装程序提供了安装 R Server for Windows 的唯一方法。 在更高版本中,希望在 Windows 上使用 R Server 的开发人员和数据科学家可以使用另一个独立的安装程序实现相同的目标。 SQL Server 中的独立服务器在功能上等同于独立服务器软件 Microsoft R Server for Windows

有关所有的功能公告,请参阅 SQL Server 2016 的新增功能

发布 功能更新
CU 添加件 实时评分依赖于本机 C++ 库来读取以优化的二进制格式存储的模型,然后生成预测,而无需调用 R 运行时 。 这使得评分操作的速度更快。 使用实时评分,可以运行存储过程或从 R 代码执行实时评分。 如果实例升级到 Microsoft R Server 的最新版本,则实时评分也可用于 SQL Server 2016。
初始版本 用于数据库内分析的 R 集成

用于在 T-SQL 中调用 R 函数的 R 包,反之亦然。 RevoScaleR 函数通过将数据分块到组件部分、协调和管理分布式处理以及聚合结果,从而大规模提供 R 服务。 在 SQL Server 2016 R Services(数据库内)中,RevoScaleR 引擎与数据库引擎实例集成在一起,并在同一处理上下文中将数据和分析结合在一起。

通过 sp_execute_external_script 实现 T-SQL 和 R 的集成。 可使用此存储过程调用任何 R 代码。 此安全体系结构支持企业级 Rn 模型和脚本的部署,这些模型和脚本可以使用简单的存储过程从应用程序中调用。 通过将数据从 SQL 流式传输到 R 进程以及 MPI 环并行化,实现更多性能提升。

可使用 T-SQL PREDICT 函数在以前以所需的二进制格式保存的预定型模型上执行本机评分

Linux 支持

在使用数据库引擎实例安装机器学习包时,SQL Server 2019 会为 R 和 Python 添加 Linux 支持。 有关详细信息,请参阅在 Linux 上安装 SQL Server 机器学习服务

在 Linux 上,SQL Server 2017 没有 R 或 Python 集成,但你可以在 Linux 上使用本机评分,因为该功能可通过在 Linux 上运行的 T-SQL PREDICT提供。 本机评分可从预定型模型进行高性能评分,无需进行调用,甚至不需要 R 运行时。

后续步骤