在SQL Server 2016和2017中使用R语言要注意哪些细节?

日期: 2017-06-23 作者:Robert Sheldon翻译:杨宏玉 来源:TechTarget中国 英文

R分析语言向用户提供了哪些功能,如何在SQL Server 2016和2017中使用R? 阅读本文,你将了解更多有关微软R技术的问题和细节。 将R集成到SQL Server 2016是一个大新闻,其中涉及到很多细节,如果你对开源编程语言和分析环境如何适应微软的SQL Server技术不是很了解,那是很正常的。 除了R本身之外,现在还有Microsoft R Open,R Client 和 R Server,以及SQL Server R Services。这是一个技术环,很难找的哪个是起点,哪个是终点。

微软并没有止步不前。SQL Server 2017,最初被称为vNext,将Python语言……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

R分析语言向用户提供了哪些功能,如何在SQL Server 2016和2017中使用R? 阅读本文,你将了解更多有关微软R技术的问题和细节。 将R集成到SQL Server 2016是一个大新闻,其中涉及到很多细节,如果你对开源编程语言和分析环境如何适应微软的SQL Server技术不是很了解,那是很正常的。 除了R本身之外,现在还有Microsoft R Open,R Client 和 R Server,以及SQL Server R Services。这是一个技术环,很难找的哪个是起点,哪个是终点。 微软并没有止步不前。SQL Server 2017,最初被称为vNext,将Python语言与R结合在一起,作为插件的一部分,微软公司正在创建一个组合平台,并将R Sever重命名Microsoft Machine Learning Server,将SQL Server R Services 重命名为Microsoft Machine Learning Services。 不管这些变化的效果几何,将R技术融入到它的产品中,对微软来说都是重要的一步,它将主导世界最先进的分析和机器学习领域。R是一个成熟的语言,拥有一个庞大而忠实的用户群。而且,微软对扩展R的扩展,已被证明实现了微软和客户的双赢。考虑到这一点,让我们来了解一下现有的相关产品,以及它们是如何组合在一起定义微软的R策略的。

R分析语言

微软于2015年收购了R供应商Revolution Analytics公司,该交易为SQL Server 2016整合R语音提供了基础。R编程语言始于学术界,但现已稳步扎根于企业实际应用中。许多领域的数据科学家都在使用R进行统计分析、数据挖掘、机器学习和高级图形学。该语言包括一组复杂的函数,支持线性和非线性建模,以及集群、分类和其他数据操作形式。 除了能很好地适应先进的数据统计,R的开源性质和GNU通用公共许可证(GPL)下的免费可用性也为其崛起提供了基础。该语言由一个庞大且活跃的开发者、贡献者、数据科学家群体以及全球其他用户提供支持。 尽管它很受欢迎,但它仍然面临一些挑战。将语言应用于大型数据集是非常困难的,因为它依赖于单线程处理,不同于新的大型数据工具,这些工具能利用并行处理技术,能够同时利用多个CPU。 另一个限制R语音的因素是,R语音是一个运行在内存中的工具,所以在任何给定的时间内,它都被限制在主机系统的可用内存中。在生产环境中实现基于R的应用程序也很困难。因此,微软提出了R Open,它自己的R版本,解决了一些原始语言的局限性。

Microsoft R Open

R Open是一个增强的R语音发行版,在GPL下也可以自由使用。而且由于基于标准R语音,它能够与现有的R脚本、包和应用程序完全兼容。 但是,R Open还包括一些旨在改进性能和资源使用的多线程数学库。在R Open中类似于矩阵求逆、乘法和分解等操作可以利用主机系统的并行处理能力。 R Open适用于Windows和Linux平台,这是使用R Client, R Server 和SQL Server R Services的一个要求,不过你也可以将它与这些产品分开使用。例如,您可以在R Studio中使用R Open,R studio是一个用于构建R应用程序的开源集成开发环境。不过,只有在于微软自己的R产品一起使用时,R Open才能获得最佳性能。

Microsoft R Client

R Client是一个免费的开发工具,基于R Open R构建。数据科学家可以使用这个工具来开发和测试预测模型并执行高性能分析,合并开源的R包等。 和R Open一样,R Client可以在Windows和Linux平台上使用。每个版本都支持ScaleR,一个专有的计算和分析引擎,可以将大型数据集划分为较小的数据集,以并行的形式分发和分析。ScaleR使得R Client能够支持高级多线程处理和远程计算。 即便如此,R Client也有它自己的局限性。与R一样,它仅限于运行在本地内存中,因此与项目相关的所有数据都必须符合本地系统可用的数据标准。此外,无论计算机的性能如何,多线程处理只局限于两个线程。幸运的是,数据科学家可以在R Client中构建分析模型,然后将计算操作交给给to R Server 或者SQL Server R Services,以利用它们更健壮的处理能力。

Microsoft R Server

R Server是一个企业级的分析平台,支持大数据分析、预测建模和机器学习。与R Client的具有业务对应关系,它解决了后者的许多限制。例如,R Server可以充分利用ScaleR技术的功能,并且可以在更大的范围内处理更大的工作负载。 此外,R Server支持分块处理,它将数据分解成更小的单元,从而更容易处理数据,以便在内存中运行。你可以在客户机-服务器架构上实现R Server,使用身份验证支持远程访问连接。它可以在Windows和Linux服务器上托管和管理并行和分布式的R工作负载,以及Hadoop和Apache Spark集群等。 R Server是独立于SQL Server和SQL Server R Services的独立产品,它被直接构建到了SQL Server 2016中。这导致了一些关于RServer如何适配SQL Server的混淆,部分原因是由于你可以使用SQL Server安装介质来安装R Server的Windows版本。此外,即使它是一个单独的产品,你还需要一个SQL Server 2016 Enterprise Edition许可证才能在Windows上使用R服务器,这进一步造成了混淆的产生。 如果不需要与SQL Server集成,则应该考虑R Server,但它需要使用企业工具提供的处理、分发和可伸缩性功能。如果您需要这些功能,并且需要SQL Server和R集成,那么你必须转向使用SQL Server R Services。

SQL Server R Services

Microsoft文档通常将R Services视为数据库内建服务,将R Server视为独立于数据库的服务。数据库标签也是这么定义的。使用R Services,微软已经将R集成到SQL Server数据库引擎中,改进了R运行时和其他SQL Server特性之间的安全通信。 为了在SQL Server 2016中部署实现R,你必须将R Services作为SQL Server安装的一部分,选择它作为其他数据库引擎特性。在安装过程中,SQL Server安装扩展到数据库引擎以支持R执行。配置操作还将安装R Open和ScaleR库。 数据科学家可以连接到R Services,以运行R代码或部署R Client生成的R工具到SQL Server 2016来进行处理。R代码也可以嵌入到用户定义的存储过程中,然后通过应用程序调用来执行基于R的计算。 在SQL Server 2016的大多数版本中都可以使用R服务,但是轻量级Express Edition基本版除外。不过,性能和可伸缩性在Standard Edition中是有限的。如果你想充分利用R服务提供的功能,你需要使用企业版。 这同样适用于SQL Server 2017,尽管在R Services在这个版本中被重新命名为Machine Learning Services,目前在Community Technology Preview 2.0版本中可以使用它。随着Python支持作为更新的一部分,SQL Server的分析王国会变得更加有趣。

翻译

杨宏玉
杨宏玉

TechTarget特邀编辑。北京邮电大学计算机科学与技术专业硕士。熟悉软件开发流程,对系统管理,网络配置,数据库应用等方面有深入的理解和实践经验。现就职于IBM(中国)投资有限公司,从事IBM服务器相关软件的开发工作。业余时间喜欢游泳登山,爱健身,喜欢结交朋友。

相关推荐