wxy 发表于:14年03月20日 15:00 [翻译] DOIT.com.cn
微软本周二正式向制造商发布SQL Server 2014,此次发布的惊喜在于内存数据库引擎,改善了Windows Azure的集成,和面向高性能数据仓库应用的全新索引技术。
不过尽管微软一直为了4月1日能够得到普遍通用版本而忙碌着,但是我们还是从代码中发现了一些问题。
先来看看SQL Server 2014的优点
代号为Hekaton的内存数据库引擎是最抢眼的功能,这得益于它显着的性能提升,据微软解释,它能够提升高达30倍的速度。微软项目主管经理Kevin Liu在最近的一次SQL Server 2014研讨会上向记者作出说明:这个项目已经研发了五年了。
这套数据库引擎属于最新编码成果,不仅能够直接访问内存当中的数据、具备出色的并发水平,而且能够对执行流程进行编译与存储、以备日后的进一步优化。该引擎还会将一套数据副本不断传输至磁盘当中,当然如果大家不在乎数据丢失的话、也可以将其禁用以最大限度提升性能表现。
性能上的好处也很实在。即使是在Azure(四核心,7GB内存)上运行一套负载极低的虚拟机,切换至内存内表之后处理10万次事务型操作的时间也能由原先的2分54秒缩减到如今的36秒。
另一个好处在集成方面。你可以将内存内与基于磁盘的表引入同一套数据库当中——不过请注意,同时针对这两类表进行查询时效率会受到严重影响。
不过局限性也是有的。最严重的是内存内表有一长串不支持的T-SQL关键字,这之中包括IDENTITY、UNIQUE、OUTER JOIN、IN、LIKE、DISTINCT和其他的常用命令,触发器和BLOB字段。虽然官方建议用户采取变通方案,但要想充分发挥其潜在能力、移动工作恐怕在所难免。
如图所示,SQL Server 2014的特性,但真的会用到吗?(点击查看)
作为SQL Server 2014发行的第一个版本,其还存在一些局限性。微软官方建议的内存数据不要超过256GB。
“请放心,关于这一点我们将在未来的版本中进行大幅增强,”Kevin Liu表示。
另一大局限在于,“建议使用双插槽硬件”以避免由NUMA(即非统一内存访问)导致的问题影响性能表现。
目前最适合借用内存内数据库强大实力的业务逻辑要数交互元素较少的存储流程以及客户端-服务器通信。利用外部代码实现业务逻辑的应用程序则无法发挥其全部潜能。
微软还在新的Azure的集成方面做了功课。已经有了几个可行方案。大家可以直接启动保存在Azure当中的数据库文件;虽然SQL Server能够以缓存形式保留大量活动数据,但由此带来的延迟在很多情况下仍会使实际效果变得比较糟——从另一个角度看,将其用于归档倒是个很好的选择。
目前应用范围比较广泛的功能之一就是利用Azure存储机制进行备份,而且该功能在新版本中已经以内置姿态出现。在Management Studio当中,大家可以选择URL作为备份目标,系统会自动提示要求Azure证书。另一项名为Managed Backup的新工具则更适合规模较小的企业,允许他们以自动化方式将数据库备份保存在Azure当中。大家只需要配置相关证书以及数据保留期限即可。
另一项Azure集成化功能是将SQL Server数据库的副本运行在Azure虚拟机之上。此外,大家还可以利用Add Azure Replica向导设置保证其随时可用。
资源调控器 让你能够使用特定用户的资源(点击查看)
总体来说,SQL Server 2014给人留下的主要印象就是产品基本上没有发生太多变动。新的内存内数据库引擎确实算是一大革新(虽然仍存在严重局限),但很明显如果没有它的助阵、微软根本不可能有勇气将2014打造成一个全新版本。聚合列存储索引效果拔群,但却只能在一小部分应用程序当中正常起效。如果大家对于以上两大新特性完全不感冒,那么SQL Server 2014实在拿不出更多让人升级的动力了。
Windows Azure目前被内置在SQL Server Management Studio中(点击查看)
目前,微软尚未给出SQL Server 2014定价及授权许可方式的全部细节信息,不过有迹象表明新版本不会对此作出太大改变。根据一份来自网络的表格,标准版本的内存容量限制由过去的64GB提高到了128GB。处理器方面不变,仍然不能超过四个CPU插槽或者十六运算核心。企业版本则取消了上述限制。免费的精简版只支持最高1GB内存、单一插槽或者四计算核心,数据库规模也不允许超过10GB。