微软发布SQL Server 2022:增强本地产品,不如向Azure云迁移

dba 发布于 2023-12-26 阅读(77)

微软在西雅图线下及线上联合举行的PASS(SQL Server专业协会)社区峰会上,正式公布了SQL Server 2022,成为三年前SQL Server 2019的接力棒。

配套的主要新功能包括用于灾难恢复的Azure SQL托管实例故障转移链接,以及基于区块链密码学为数据变更提供不可变记录的SQL Ledger。另外还有与数据仓库和分析服务Azure Synapse(包含Apache Spark)及信息分类与保护服务Azure Purview的全新集成。再有,新版本还支持AWS S3(Simple Storage Service)API,可供各存储提供商面向S3实现备份和恢复。

作为SQL Server的查询语言,T-SQL在此版本中也迎来增强,获得了新的JSON(JavaScript对象表示法)函数、位操作函数(如LEFT_SHIFT和GET_BIT)、时间序列函数及新的IS DISTINCT FROM表达式(简化了布尔表达式中的空值处理)。

SQL Server 2022的查询优化同样有所增强。查询存储功能现在默认可捕捉查询历史记录,并启用性能与查询计划调整。在此前版本中,由于会对性能产生轻微影响,所以这些功能默认关闭。

sqlserver2022202312260013.jpg 

SQL Server 2022中的查询优化新功能

另一项云相关功能,是基于Azure Arc的可选按需付费计费模型,现在也成为SQL Server 2022设置流程中的默认选项。Azure Arc支持通过Azure管理SQL Server,且兼容日志分析和Azure Defender等Azure服务。用户可以按小时付费,具体费率在峰值期上升、在低谷期下降。

微软SQL产品及服务副总裁Asad Khan对SQL Server 2022做了介绍,并回答了SQL Server后续是否会支持ARM64架构等问题。

“我们已经在通过SQL Edge支持Arm,但我们其实是在编译器中使用了翻译层,因为这样更简单……我们正在投资开发,想办法摆脱翻译层。微软当然看到了Arm在服务器业务市场上的增长,而且预计我们将支持全部三大芯片阵营——英特尔、AMD以及Arm。不过目前还没完全实现,SQL Edge只是个精简版本,而且因为翻译层的存在而性能有限。”

至于SQL Server的各个版本,从Express版到Enterprise版,是否与上代产品相同,Khan也给出了肯定的答复。“是相同的。我们增强了Standard版的部分功能,例如提供无限容器虚拟化。至少在开发、测试和CI/CD管道等场景下,容器已经成为了一种客观标准。”

随着微软不断将用户推向自家云环境,分析和报告等内置功能似乎也开始让位于Power BI等需要额外付费的云服务。Khan解释道,“我们将继续支持此前就提供的服务,但后续云端功能将逐步超越本地部署功能。例如,在最新版本当中,我们更新了底层引擎,但目标却是优化顶端基于云的Power BI。在分析和数据湖方面,客户也更愿意选择云方案。至于运营数据,出于历史或合规性等原因,客户倒是更倾向于在本地处理相关工作负载。这些都来自我们从客户群体中收集和观察到的反馈意见。”

sqlserver2012202312260012.jpg

基于VS Code的Azure Data Studio将成为未来SQL Server的首选管理工具

SQL Server工具这边也迎来了大幅变动,甚至让人有点摸不着头脑。原先仅限Windows使用的SQL Server Management Studio(SSMS)仍然存在,而新的Azure Data Studio(ADS)虽然在名称上在跟Visual Studio Code桌面应用看齐,但却能够跨平台运行,另外VS Code的官方扩展也随之做出了调整。

Khan指出,“我们本来也可以继续沿用VS Code的扩展方法,后续也有可能再调整回来。但我们的想法是,微软的数据产品需要更灵活的UI,所以才要跟Azure Data Studio良好匹配。VS Code强调以开发者为中心,而Azure Data Studio则努力弥合开发者、数据分析师和DBA(数据库管理员)之间的鸿沟。”

当然,Azure Data Studio暂时无法接过SSMS的所有功能,但Khan强调这将是下阶段的发展方向。“我们正在研究如何将更多SSMS功能纳入Azure Data Studio。”当然,考虑到仍然拥有庞大的开发者群体,独立的VS Code扩展也将继续存在。

在谈到Linux版SQL Server的定位时,Khan表示“我们见证了Linux的巨大成功。包括谷歌在内的云服务商,其SQL Server就是建立在Linux之上的。企业确实更偏爱Linux。我们从AWS的EC2(Elastic Compute Cloud)上得到了很多遥测数据,客户在其中运行的SQL Server大部分都基于Linux系统。而且我们也不想局限于特定某种操作系统。另外,如果回顾容器或者Kubernetes的整个发展历程,就会发现它们都跟Linux密不可分。事实上,即使是微软自己在本地运行的Arc数据服务,由于使用到容器和Kubernetes技术,所以也离不开Linux。”

尽管如此,SQL Server应用程序在企业中的长期存在,仍然让“在Windows上运行SQL Server的客户群体占据着优势,在体量上继续压倒选择Linux的客户。”