SQL Server数据库是目前应用非常广泛的数据库类型,而SQL Serve2014则是目前SQL Server 数据库家族当中已经成熟的最新版本。那么SQL Server 2014相对于前期出来的兄弟版本,究竟有哪些方面的性能提升或者功能增加呢?中培伟业《SQL Server 2014数据库管理与性能调优》培训专家臧老师在这里进行了介绍。
臧老师指出,SQL Server 2014作为该系列的重要升级版本,核心要素分为两点:云与速度——换言之,更具体地讲在于Azure集成与内存内OLTP(即联机事务处理。实事求是地讲,相较于云、臧老师对于速度方面的提升更感兴趣,不过他也指出目前有越来越多的客户开始尝试以云为基础的运营方式、而云功能对于这部分使用者而言可谓至关重要。
纵观整个SQL Server家族,臧老师认为SQL Server 2014可以算是自SQL Server 2008 RTM以来最为重要的一个版本。据臧老师介绍,SQL Server 2008带来的变更数据捕捉、数据压缩以及最为重要的PowerShell等功能特性。接下来的SQl Server 2008 R2则提供用于自助式商务智能的PowerPivot插件、StreamInsight以及主数据服务。SQL Server 2012带给我们的新组件包括Availability Groups、列式存储索引以及数项T-SQL强化。大家可以将SQL Server 2008视为一套数据仓库版本,SQL Server 2008 R2作为商务智能版本,而SQL Server 2012则作为高可用性版本。
SQL Server 2014对部分上述功能作出了进一步增强,其中包括Availability Groups、列式存储索引以及安全性加密备份机制等等。
将数据库交由Azure打理
SQL Server 2014允许用户通过两种方式使用Azure存储资源。第一,大家可以将数据库备份至Azure BLOB存储体系当中。尽管这项功能官方将其称为SQL Server Backup to URL)早在2012年就已经出现,但SQL Server 2014利用SQL Server Managed Backup to Windows Azure对其进行了强化作。
满足速度需求
时至今日,即使是规模最小的网络业务新兴企业都开始将着眼点放在全球市场,但他们很快发现自己的服务器已经被无数请求所淹没。在性能表现方面,微软在这套最新SQL Server版本中提供了一些不错的特性以应对此类挑战。
臧老师指出,Hekaton之所以能够带来如此显著的性能提升效果,依靠的是对优化算法、乐观并发、消除物理锁定与闭锁以及内存内表存储等机制的结合。如果大家设定了只将面向优化内存表的存储规程,则可以将其转换成Hekaton规程以获得更理想的运行速度。转换过程会将其编译成原生代码,从而实现执行效率提升。
这种转换对于对象类型有所限制,因此大家需要在全面采用这套解决方案之前先对代码进行检查与测试。举例来说,优化存储规程当中不能包含指针、子查询甚至是CTE(即公用表表达式。这只是这份长长的不支持清单当中的一部分条目,剩下的部分请大家自己做好功课——包括数据库与表的各种要求。鉴于这还是一项全新功能,我相信这些限制将随时间的推移而逐渐解除。
SQL Server 2012引入的列式存储索引给数据仓库的性能表现带来大幅提升。我个人曾经实际体验过,原本在传统索引中需要耗时数分钟的查询操作在列式存储索引中不到一秒即可完成。列式存储索引的弊端在于其无法进行更新。为了将数据载入到表中,大家必须首先清除这些索引,并在载入完成后另行创建。SQL Server 2014很好地解决了这个问题,如今列式存储索引已经支持更新功能,这无疑是一个巨大的进步。
专走捷径
这项功能被称为Delayed Durability,它实际并不会对数据库产生加速作用、但却能让终端用户从使用体验上感受到提速效果。
我们假设终端用户现在需要更新一条记录。更新内容首先被写入到内存中的日志里,而这份日志随后被写入磁盘。在日志记录被写入到磁盘中后,应用程序会识别出事务处理已经完成,这样用户就能继续进行其它工作了。针对数据库的实际更新操作会在之后的时段内进行。现在有了Delayed Durability,应用程序将在日志被写入到磁盘之前就获得事务完成提醒。这意味着终端用户用不着等待日志向低速磁盘介质写入这一相对缓慢的处理过程,即可快速处理其它工作。臧老师发现很多系统中的瓶颈都源自日志处理过程,而Delayed Durability能够很好地解决这个问题。
最后,SQL Server 2014还带来了一系列安全强化机制。当然,我们现在已经拥有备份加密方案,不过其它新功能的出现直接宣判了第三方备份产品的死刑。此外新版本还提供多种新的服务器级权限——CONNECT ANY USER DATABASESELECT ALL USER SECURABLES——它们允许大家以前所未有的简便方式进行安全事务管理。具体来讲,我们现在可以将这些权限一次性指派给全部现有以及未来将要创建的数据库系统。大家不必再随着新数据库的不断加入而重复权限分配流程。
臧老师最后总结道,SQL Server 2014为我们提供了多种提升性能表现的途径,并允许大家利用Azure云实现备份与高可用性保障。目前面对此类难题的SQL Server用户们,臧老师也认为这款新的版本足够值得大家的重视
想了解更多IT资讯,请访问中培伟业官网:中培伟业