【新闻】微软推出适用于Linux和Docker的SQL Server 2017版本

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 距离SQL Server 2016发布的一年多以后,微软在本周推出了Microsoft SQL Server 2017的第一个发行版本。

前言
距离SQL Server 2016发布的一年多以后,微软在本周推出了Microsoft SQL Server 2017的第一个发行版本。新版本对主要的新功能进行了一些较小的更新,其中最重要的新功能是支持适用于Linux系统(RHEL、SUSE Enterprise Linux和Ubuntu)以及运行在Windows、Linux和MacOS上的容器,其中包括在可用性组群中实现高可用,并集成本地Linux集群工具(如Pacemaker)。
1

RC1使用域凭证和TLS(Transportation Layer Security)加密方案(1.0,1.1或1.2),将客户端应用程序发送的数据加密到SQL Server,并在Windows或Linux客户端新增支持Microsoft AD身份验证系统,实现了在Linux上对SQL Server的访问。
而机器学习也是本次更新的一个重点。SQL Server 2017可以使用R或Python运行数据库内分析,而不需要提取和转换数据来处理数据。

RC1对R与Python具有高度可扩展性
为了在SQL Server 2017中增加对R AI和机器学习工作负载的支持,微软内部构建了一个可扩展性模型。该模型实现了在R环境和SQL之间进行快速数据交换时,可以使用SQL server执行R的运行,这意味着你可以执行R脚本作为代码的一部分,并通过扩展性可以使得启用Python的其他工作变少。
R与Python可以在这个可拓展模型中同时启用不仅证明了它的灵活性,对微软来说,这也意味着他们摆脱了R与Python这两者之间的霸权争议。不仅如此,RC1还为Windows Server上的R添加了本机计分和外部库管理服务。

SQL Server 2017支持自适应查询处理功能
SQL Server 2017是微软在Azure中首先构建起功能,然后将其带入内部的服务器产品的一个很好的示例。除了与Azure SQL数据库相同的图形数据功能外,SQL Server 2017还可以为Azure数据库性能的改进开发了自适应查询处理功能,并通过监视以前运行的好坏来优化查询的运行方式。这有助于提升我们在执行并行查询和并发查询时对资源的使用效率,优化器可以根据正在进行的执行统计调整其行为,而不是仅仅是想预测会发生什么。因此,用户将能够运行更大的查询和更多的并发查询。
2

最初,查询处理有三种处理模式,其中两种是批处理模式,一种用于交错执行。如今新版本的SQL Server具有自适应优化的基础设施,未来的版本将可能扩展到整个数据库引擎。

SQL Server 2017 已“生产就绪”
RC1已接近最终版本,现处于发现严重bug的阶段。据悉,微软已经开始“Early Adoption Program”,找到几个客户来帮助测试新版本,且可以在生产中使用并在功能上能获得微软的支持。
3

当初,一家叫dv01的财务分析公司研发过一款基于Python、Amazon RDS PostgreSQL和Redshift数据仓库的SaaS应用工具,并用于债券、贷款相关方面的报告和分析。他们遇到了一些性能和规模上的问题,一些查询的时间超过了30秒的超时限制,导致了工程师花更多的时间来调整数据库查询。后来,他们转移到了SQL Server 2016,性能和数据库分析都有了比较好的改善:查询时间下降到1-2秒,且数据存储量减少了2到3倍,还对内存和磁盘上的数据进行了加密。
随着其他系统在Linux上运行,以及大多数工程师都使用Mac,他们又经过几个月的测试,最终将40个生产数据库迁移到SQL Server 2017 CTP2并运行在Docker里。
4

以上便是微软将SQL Server引入到Linux的一种应用场景,除此之外,由于许多容器和私有云技术都建立在Linux基础设施上,微软也想要在公有云或者私有云市场,将SQL Server发展成现代IT生态系统的一部分。所以,在本次新的更新中,SQL Server毫不犹豫对Docker进行了支持,用户不仅可以在Docker中运行SQL Server,也可以使用SQL Server并将其部署在由Kubernetes管理的容器服务当中。
“对于生产使用,我们认为客户可以在Docker容器中使用SQL Server的Linux映像,但需要谨慎使用。”据项目经理 Tony Petrossian透露,由于容器化SQL Server的Windows支持在RC1中还不是很深入,加上容器中运行的工作负载很多,所以并不建议人们使用他们的500TB数据库并使用容器,在Windows端,仍然建议将其用于开发测试而不是生产。
即使是传统的Windows Server客户,容器支持也同样受益。随着IT技术的发展,同行业的开发者们对更利于自己工作的方法和技术都会很感兴趣,比如容器和SQL Server。既然这种技术能在Linux上操作,那么为什么不能同样操作于Windows呢?
如果将容器与虚拟化的早期阶段进行了比较,会发现早前大家都觉得没人会因为性能等原因而选择在虚机中运行数据库,但随着时间推移,这种想法被证明是错误的,由始至终大家都选择了在数据库中运行虚机。容器的发展也是类似的,大家对容器存在很多疑问,包括性能如何、容器如何存储等等,但所有的这些问题都已经被解决或处于改进过程中。所有我认为容器将会和虚拟机一样有一个类似的发展途径,且发展更快。
如今,随着这个新版本的发布,SQL Server日后将不再脱离IT基础架构的转变。

原文地址:
https://thenewstack.io/sql-server-2017-brings-microsofts-database-linux-container-worlds/

推荐阅读:
如何拆分你的微服务架构?
透过云计算、工业大数据对智能制造的一点思考
Kubernetes1.7正式发布,优化了可扩展性,安全增强和网络通信策略

译者简介:

Ghostcloud(中文名:精灵云)坐落于成都天府软件园,是成都高新区重点扶持企业,国内首批从事容器虚拟化研发的企业,是西南地区唯一一家基于Docker的云计算服务商,为企业级行业客户提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务。
Ghostcloud因容器技术而生,以最新容器技术Docker为基础,为适应不同行业客户需求,全自主研发了一套调度引擎框架Newben,且全方位适配Kubernetes主流开源调度引擎,也是国内率先实现双调度引擎的企业,是一流的企业级容器云服务专家。Ghostcloud推出了企业级容器云PaaS/CaaS平台,命名为EcOS(EnterpriseContainer Operation System)。Ghostcloud将EcOS平台与微服务/DevOps相融合,运用至企业IT系统的全生命周期的开发、测试、运维及发布流程中,致力于为多个领域企业向“互联网+”转型提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务,帮助企业级客户降低成本、提升效率、简化运维及产品部署,并提升系统的可靠性和安全性。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
1月前
|
数据可视化 Linux API
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
如何在Linux使用docker部署Swagger Editor并实现无公网IP远程协同编辑API文档
|
1月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
32 1
|
3天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
6 0
|
3天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(7)Ubuntu20.04 arm64安装Docker
Linux(7)Ubuntu20.04 arm64安装Docker
15 0
|
16天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
27 0
|
25天前
|
Linux Docker 容器
Linux彻底卸载Docker包括运行拉取的镜像
Linux彻底卸载Docker包括运行拉取的镜像
24 1
|
1月前
|
关系型数据库 MySQL 数据库
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
虚拟机Linux-Centos系统网络配置常用命令+Docker 的常用命令
44 0
|
1月前
|
SQL 关系型数据库 数据库
docker如何进入镜像其他的SQL
【2月更文挑战第25天】
|
1月前
|
Linux 开发者 Docker
【Linux】在Linux上安装Docker: 一站式指南
【Linux】在Linux上安装Docker: 一站式指南
420 0