3月初,微软为其SQL Server 2012产品举行了一次“虚拟发布”,这使得IT分销商能在产品全面上市前下载一个评估版本。如果IT分销商想进行升级,那么他们可以开始进行评估。微软数据平台专家Mark Kromer列出了SQL Server 2012中他最喜欢的特性,评价了高可用性和基于列的查询,并认为SQL Server 2012以处理器核为基础的授权模式将有利于最终用户。
如果你不得不在SQL Server 2012中选择一个或两个最重要的功能,那么它们是什么?为什么是它们?
Mark Kromer:AlwaysOn和列存储索引。AlwaysOn可用性组(AGs)是很重要的,因为它们解决了几个客户在执行数据库镜像时提出的特定问题。AGs现在包括多个辅助服务器,所以现在不再需要一个见证服务器,可读的辅助数据库,或一个数据库镜像组内的多个数据库。列存储索引可以大大提高数据仓库负载环境下的查询性能,这使得数据仓库和商业智能有了一个很大的提升。
SQL Server 2012以处理器核为单位进行许可,而SQL Server 2008 R2许可则以处理器为单位。为什么这种变化有利于IT分销商迁移到SQL Server 2012呢?
Kromer:微软实施的基于处理器核的许可方式是非常有益于IT分销商的,因为企业版的许可费用不会增加,除非你服务器的处理器核数量超过四个。因为一个SQL Server处理器核许可的价格基本上是今天处理器许可价格的四分之一,这意味着如果处理器核不超过四个,那么服务器基于处理器核许可的价格没有上涨。
你能解释AlwaysOn及其可用性组怎样提高SQL Server 2012的高可用性?
Kromer:AlwaysOn是一个营销术语,它包括所有的SQL Server高可用性特性,但大多数是针对集群和新的可用性组特性。AGs提供同步或异步数据库镜像功能选件,而且允许存在多个辅助数据库,可以是只读数据库或者是属于某个可用性组的多个数据库。这使你可以将报表和数据库备份任务转移到辅助服务器。自动故障转移提供一个同步的辅助服务器,并通过“监听器”使用虚拟主机名特性,即利用Windows Cluster Server API来代替现有的SQL Server数据库镜像辅助服务器ODBC子句。这意味着AGs提供高可用性,灾难恢复 - - 你可以对远程站点的辅助服务器使用异步事务 - - 通过备份和报表任务转移到辅助数据库而获得性能增益。虽然AGs使用群集服务器,但并不需要进行复杂的群集配置。AGs只需要像安装一个典型的SQL Server实例一样安装SQL Server,而不是一个故障转移群集实例,并确保每个节点都加入群集。SQL Server会做余下的工作,比如建立必要的服务和虚拟名称。这也取消了对一个见证服务器的需要。
列存储索引通过怎样的因素来提高查询速度?此外,列存储索引与其他基于列的查询技术相比有什么差别,如Oracle Exadata的混合列压缩?
Kromer:在SQL Server中,与Oracle的混合方法相反,创建列索引告诉SQL Server按列在单独的索引页上存储数据,使数据高度压缩。这将提高性能,并允许SQL Server查询引擎开启批量执行模式。这是一个纯粹的基于列存储的方法,大大提高了I / O扫描性能和缓冲区的命中率。这非常有利于数据仓库和报表架构。
SQL Server 2012的发布数据库整体市场可能会产生怎样的影响?
Kromer:我是最近才开始和客户谈论有关SQL Server 2012将如何影响他们的业务,但我可以说出我再三看到的五个特点,这与SQL Server 2012的早期版本有所不同的:
安全:SQL Server加入了新的安全特性,包括多年来的安全特性,如透明数据加密,自定义职责分离的服务器级别的安全角色,和基于CodePlex的行级标签安全框架。
一体机:相对于一个单一设计的物理架构,微软工程师与硬件厂商密切合作,以确保客户有购买为某种特定负载设计的数据库设备的选择,如数据仓库、私有云和内存分析。
云:SQL Server 2012和SQL Azure提供更多的整合,使用DACPAC(数据层应用程序包)轻松迁移到基于Windows Azure和SQL Azure的公共云计算。