SQL Server 2019改进Linux、容器支持

日期: 2019-01-08 作者:Michael Otey翻译:邹铮 来源:TechTarget中国 英文

紧随其SQL Server 2016和2017版本后,微软正在准备发布SQL Server 2019,该公司在短时间内增加了大量新功能。

SQL Server 2019目前仅提供预览版,该版本发布的主要目标之一是增强大数据集成。新的SQL Server大数据集群功能极大地扩展了SQL Server随时随地查询数据的能力,可在更多支持的平台上提供与大数据系统的更好集成。

但这还不是全部。SQL Server 2019关系数据库引擎还有很多增强功能,使其能够提供更好的性能和更高的安全性。微软还继续增强SQL Server on Linux,使其在功能方面更接近SQL Server on Windows。

下面让我们深入研究即将发布的SQL Server 2019版本中最重要的新功能。

大数据集群支持数据虚拟化

SQL Server大数据集群可深度集成行业标准大数据源,并提供新的数据虚拟化功能。SQL Server 2019大数据集群利用PolyBase功能实现数据虚拟化,这可结合多个来源的数据,而无需移动或复制数据。

目前企业通常需要使用关系和非关系数据存储中的不同类型的数据,并且经常需要整合来自关系型数据源和大数据源的数据。在企业中,最高价值的企业数据存储在SQL Server等关系数据库中;这些数据通常需要与大数据源相结合,例如物联网数据流,大数据源主要存储在Hadoop分布式文件系统(HDFS)中。企业通常使用提取、转换和加载(ETL)过程将数据复制到执行报告和分析的单个平台中。此过程是批量处理,速度很慢,并需要大量存储空间。

通过利用SQL Server现有的PolyBase技术,SQL Server 2019大数据集群可支持数据虚拟化,可集成来自多个数据源的数据,而无需复制或移动数据。这基本上意味着,可在单个查询中整合高价值关系数据与大数据,而无需运行任何ETL流程或使用任何额外的存储。为此目的,SQL Server 2019数据库引擎会在本地读取HDFS文件。

SQL Server 2019的大数据集群功能是基于多种不同的技术,包括Docker容器、Apache Spark、Hadoop和Kubernetes中的SQL Server on Linux。 SQL Server 2019的大数据集群功能使用户能够在Kubernetes上部署可扩展的SQL Server容器集群,这些集群可使用Transact-SQL读取、写入和处理大数据。

图2展示了SQL Server 2019的大数据集群。在图中,你可以看到一个大数据集群,其中包含SQL Server和Spark Linux容器,这些容器使用Kubernetes进行容器管理和编排。查询在跨多个Docker容器并行化,运行在包含计算层的可扩展节点组。你可以使用Spark运行高级分析和机器学习。大数据集群活动由SQL Server主实例管理。

数据库引擎增强功能

虽然新的大数据集群为SQL Server 2019改进了对大数据分析的支持,但毫无疑问,关系数据库引擎仍然是SQL Server 2019的核心。因此,新版本带来这么多新功能并不奇怪。

SQL Server 2019的数据库兼容级别为150;兼容级别提示现在表明通过使用OPTION(USE)提示查询的确切兼容级别。实际上,轻量级查询分析基础结构为默认开启。新的静态数据屏蔽可清理SQL Server数据库副本中的敏感数据。SQL Server 2019还支持UTF-8字符编码。

在SQL Server 2019中,新的针对行存储的批处理模式使查询能够批量处理数据,而不是一次处理一行;早期版本的批处理模式限制为列存储查询。可恢复的在线索引创建可暂停索引创建操作,然后可从停止的位置恢复,而不必重新启动。

在早期版本的SQL Server中,创建集群列存储索引是一项脱机操作,并要求停止对基础表的更改,直到创建CCI;SQL Server 2019使用户能够在线创建CCI。通过下列命令,可获得对列存储索引的压缩估计的支持:

sp_estimate_data_compression_savings

新的APPROX_COUNT_DISTINCT函数使用统计信息来获取列中不同值的计数,而不是读取所有数据;结果估计在实际值的2%以内。

SQL Server 2019还支持SQL Server机器学习服务故障转移群集。同时,SQL Server 2019中的Always Encrypted与安全区域(secure enclaves)使它可使执行就地加密和解密操作,而无需将数据转移到服务器外。这使得通过Always Encrypted加密的数据可用于范围扫描、LIKE查询和聚合函数。安全区域对于正在调用它的进程显示为黑框。即使安全区域中的数据被解密,调用进程也无法看到它的值。

Kubernetes中的Always On可用性组

SQL Server 2019还对Always On Availability Groups(AG)进行了重大改进。最大的变化是可使用Kubernetes配置Always On可用性组,作为编排层,而不是使用Windows故障转移群集。Kubernetes可用于创建可用性组,该组包含SQL Server 2019 on Docker容器,其运作方式类似于共享磁盘Windows故障转移群集实例。从技术上来看,这不是新功能,但SQL Server 2019使用与AG运行状况检查相同的运算符模式,以实现增强的实例运行状况检查监控。 Kubernetes上的SQL Server AG如图3所示。

Kubernetes集群包含用于管理的主节点和运行pod的工作节点。每个pod可以有一个或多个相关容器。SQL Server AG可以跨多个节点,并可为节点和pod故障提供自动故障转移。

Always On AG现在最多支持五个同步副本,而此前SQL Server 2017中只支持三个。同步副本支持AG内的自动故障转移。在具有五个同步副本的AG中,包含一个主副本和四个同步次级副本。此外,新的次级到主副本复制连接重定向功能使客户端连接可定向到主副本,而不管连接字符串中指定的目标服务器。

SQL Server on Linux和Docker容器增强功能

自SQL Server 2017首次推出以来,微软一直在努力使SQL Server on Linux与SQL Server on Windows更加一致。 SQL Server 2019的一些最新增强功能包括对事务复制和分布式事务的支持。

SQL Server 2019 on Linux可以作为发布者、分发者或订阅者参与事务、合并和快照复制拓扑。对Microsoft分布式事务处理协调器(MSDTC)的支持使SQL Server on Linux 实例能够执行分布式事务。为了启用此功能,微软创建了一个Linux版MSDTC,在SQL Server进程中运行。

SQL Server 2019还改进了SQL Server on Linux和Active Directory(AD)之间的集成。 Linux SQL Server on Linux可以使用AD对用户进行身份验证,并可用于复制、分布式查询和AG。此外,Linux版本的SQL Server 2019包括对第三方AD提供商的OpenLDAP支持。SQL Server 2019 on Linux还为数据库内机器学习提供了新的支持。

同时,SQL Server 2019的容器支持也有一些引人注意的改进。一个是新的Red Hat Enterprise Linux(RHEL)认证的Docker容器映像:

docker pull mcr.microsoft.com/mssql/rhel/server:2019-CTP2.1

微软还创建了一个新的主容器注册表。这是用于分发微软产品容器的官方容器注册表。 Microsoft Container Registry没有自己的目录,它主要用于支持现有目录,例如Docker Hub、Red Hat Container Catalog和Azure Marketplace。请使用类似以下Docker pull命令以从新位置下载映像:

docker pull mcr.microsoft.com/mssql/server

SQL Server 2019管理工具

与以前版本的SQL Server一样,SQL Server Management Studio、SQL Server Data Tools和Azure Data Studio是SQL Server 2019的主要管理和开发工具。所有这些工具都提供免费下载,可从SQL Server 2019单独获得。它们的开发是基于独立的发布周期,且发布周期比SQL Server更频繁。

图4展示了新的Azure Data Studio(在微软2018年9月推出之前被称为SQL Operations Studio)。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

翻译

邹铮
邹铮

相关推荐