SQL Server 2022:你需要知道的是什么

449 阅读10分钟

三十年过去了,SQL Server仍然是一个数据库的主力军,它为内部的商业应用和像Stack Overflow这样的大型公共网站提供动力。虽然一些数据库工作负载已经迁移到了云端--而且下一版本的SQL Server有更多的工具,并与Azure服务整合,用于备份或分析,如果这是企业的正确选择,就可以帮助实现这一目标--但还有很多新功能可以支持广泛的数据库应用场景。

"作为一个数据库平台,SQL Server为客户提供了从边缘到云的最大灵活性,"微软Azure项目管理总监Asad Khan说。"根据他们的工作负荷和应用要求,客户可以在他们选择的环境中部署SQL Server。

"我们的客户在支持物联网类型场景的小尺寸边缘设备中运行SQL Server,到运行关键任务应用的巨大服务器,再到公共云中的混合尺寸。"

因此,虽然SQL Server 2022能够使用分布式可用性组在几乎没有停机的情况下将工作负载迁移到Azure SQL Managed Instance,但用户也可以在自己的基础设施上将数据库恢复到SQL Server。

如果你在服务器上进行硬件升级或将其物理移动到某个地方,工作负载可以暂时上移到Azure,然后在准备好后再下移。

使用云而不迁移

SQL Server可以使用Azure服务进行备份、业务连续性、分析、策略和数据治理。

"SQL Server 2022与Azure Synapse Link和Microsoft Purview集成,使客户能够从他们的数据中大规模地推动更深入的洞察力、预测和治理,"Khan说。"云整合通过向Azure SQL Managed Instance管理灾难恢复(DR)以及近乎实时的分析得到加强,使数据库管理员能够以更大的灵活性和对终端用户的最小影响来管理他们的数据财产。"

SQL管理实例有效地成为一个次要的副本,你可以通过它进行故障转移和故障恢复,而不需要设置一个可用性组。混合功能还使用Azure来微调SQL Server 2022系统的运行方式。

"Khan说:"随着更多的智能内置于实际的数据库操作中,工作负载会自动学习如何更好、更快、更聪明地运行,而无需手动调整或监督。

这种整合对另一个方向的混合云方案很有帮助。Microsoft Defender for Cloud可以通过SQL Server Extension for Azure保护企业内部的SQL数据库,现在可以在设置SQL Server时安装,用户可以使用Azure AD认证,包括多因素认证(MFA),访问企业内部的SQL Server 2022。

另外,Azure包括在企业自己的基础设施上运行Azure服务。

"通过Azure Arc启用的SQL Server,客户的工作负载连接到Azure,让客户始终保持对数据库的访问,常青的软件更新和来自其部署的可操作情报,"Khan说。

不仅仅是Azure;新的对象存储集成意味着用户可以与S3兼容的存储集成,用于备份和恢复,这包括戴尔、HPE、Nutanix、Pure Storage、Red Hat和Scality以及AWS的存储结构。据Khan说,对象存储也可用于大数据。

"数据湖虚拟化将PolyBase与S3兼容的对象存储整合在一起,这增加了对用T-SQL查询parquet文件的支持,"Khan说。

但如果Azure被用于大数据,用户可以有效地取消ETL(提取、转换、加载),并使用他们的SQL Server操作数据进行分析。

"Khan说:"Azure Synapse Link for SQL Server 2022提供了近乎实时的分析以及混合交易和分析处理,对运营系统的影响最小。"通过在SQL Server 2022中的操作存储和Azure Synapse Analytics专用SQL池之间的无缝整合,Azure Synapse Link for SQL使客户能够在他们的操作数据上运行分析、商业智能和机器学习场景,而对源数据库的影响最小的新变化馈送技术。"

这与微软在Cosmos DB上已经采取的方法相同,所以这是一个非常传统的SQL数据库,得到了首次在为云设计的数据库服务中看到的功能。

一个没有区块链的账本

如果你曾经看过区块链的说法,并认为一个纯应用的数据库可以做到这一点,而不需要设计和维护一个可能无法扩展到高吞吐量查询的分布式系统的所有工作(或区块链采矿的环境影响),另一个 在Azure SQL中开始的功能,现在将进入SQL Server 2022,正是你需要的。

"Ledger将区块链的好处带到了关系型数据库中,通过加密连接数据及其在区块链结构中的变化,使数据具有不可篡改性和可验证性,使其易于实现多方业务流程,如供应链系统,还可以简化合规性审计,"Khan解释说。

例如,一家冰激凌制造商的冰激凌质量取决于其供应商发送的原料和其交付的冰激凌成品在正确的温度下运输。如果冷藏车出现故障,冰淇淋可能会凝固,或者冰淇淋可能会融化,一旦进入商店的冰柜就会重新冻结。

通过收集供应链中每个人的传感器信息,冰淇淋制造商可以追踪到问题所在。但是,每个人都必须能够相信,温度读数是正确的,没有被篡改以转移责任。

"账本允许参与者验证集中存放的数据的完整性," Khan说。

当创建一个分类账表时,任何被交易修改的行都会与交易本身一起被加密散列。这存储在其他区块链使用的相同的Merkle树数据结构中,用户可以定期将代表数据库状态的摘要写入防篡改存储中,因此他们可以在以后检查实时数据库是否被攻击者或恶意管理员篡改过。

对于SQL Azure来说,这是Azure Blob存储的Azure Confidential Ledger,它使用Azure Confidential Computing中的安全飞地。这些工具可以与SQL Server 2022或组织自己的WORM(写一次读多次)存储一起使用。

但与许多区块链系统不同,Ledger是环境可持续的。

"它不依赖昂贵的共识协议,如区块链技术常用的工作证明(PoW),"Khan说。"PoW机制需要多个服务器竞争来解决复杂的数学问题,这需要消耗大量的能源。"

运行Ledger不需要任何特定的服务器硬件,如支持安全飞地的CPU。用户可以根据他们是否需要更新和删除行或只是插入新的行来创建可更新的和只附加的分类帐表。无论哪种方式,用户都可以得到一个可以向审计师展示的防篡改记录。

"与传统的分类账一样,该功能保留了历史数据,"汗说。"如果一个行在数据库中被更新,它以前的值会以关系形式保持,以支持SQL查询,并在历史表中得到保护。

"账本提供了一段时期内对数据库所做的所有更改的记录,同时保持了SQL数据库的力量、灵活性和性能。"

提高查询性能

SQL Server 2022有更多的智能查询处理功能,以加快现有的工作负载和数据库应用,Khan称之为 "最小的实施努力"。

"应用程序可以自动从这些功能中受益,而不需要修改任何代码,只需启用查询存储,在最新的应用程序数据库兼容级别上运行,或打开数据库级别的配置,"Khan说。

新功能调整了数据库管理员需要处理的复杂或繁琐的设置,并改进了一些现有的自动性能增强功能,这些功能有时会适得其反。

获取查询的平行度可能很棘手,因此DOP(平行度)反馈使用一个反馈回路来检查使用更多的CPU核心是否真的使查询更快,或者只是从其他数据库任务中占用资源,而这些核心在那里会更有用。

"Khan解释说:"DOP反馈自动调整重复查询的平行度,以优化低效平行度可能导致性能问题的工作负载。"内存授予反馈根据过去的性能来调整为查询分配的内存大小"。

SQL Server 2022年可以使用百分比来改进用户每次运行内存量变化很大的查询的反馈算法,即使用户撤离缓存或重新启动服务器,也能坚持内存授予反馈。

SQL Server查询优化器使用将被处理的行数来估计运行查询计划的成本,这就是查询的cardinality。在有些查询中,SQL Server很难很好地估计出cardinality是多少,所以它的成本是错误的。

"Cardinality Estimation反馈识别并纠正重复查询的次优查询执行计划,当这些问题是由[那些]不正确的估计模型假设造成的,"Khan解释说。

一些查询的速度会有很大的不同,因为用户所看的数据可能非常不同。当看一个供应商有多少库存时,如果他们只有几条生产线,而不是几百或几千条,那自然会快很多。参数敏感的计划优化寻找类似的非均匀数据分布,并告诉SQL Server为如何运行库存查询存储多个计划,因为参数会有很大差异。

如果一个组织拥有带有高级向量扩展(AVX)512扩展的服务器CPU,那么批处理模式的操作会更快。

"[这]通过利用多个CPU核心,提高了大内存机器上缓冲池扫描操作的性能,"Khan说。

还有一些具体的查询存储改进,比如在二级副本上使用它,以获得关于在那里运行的工作负载的洞察力。用户还可以获得数据库开发人员已经可以用来在Azure SQL DB和Managed SQL Instances中告诉的查询存储提示,以帮助加快查询速度,而不需要重写查询。

这就是微软一直以来对Azure版本服务器产品的承诺--新的功能将首先为云端建立。但是,当它们在企业自己的硬件上运行时是有用的,它们将出现在服务器软件的下一个版本中。

我怎样才能获得SQL Server 2022?

微软还没有宣布它预计什么时候发布SQL Server 2022,但新版本通常会在微软点火大会前后到来,也就是今年十月底。SQL Server 2022的社区技术预览版2.1版本 现在可以作为180天的试用 评估版,具有企业版的所有功能,或者用户可以在市场上的Azure虚拟机中作为180天的试用版来运行开发者版。