SQL Server热点追踪:虚拟化技术访谈录

日子一天天过去,2011年SQL Server的发展方向也逐渐明朗,一路走来相信大家对这些信息已经有所了解。微软的高性能并行数据仓库(PDW)在去年11月西雅图召开的SQL Server专家协会会议(PASS)上发布,SQL Server的虚拟化和云计算方面正有削减成本的趋势。即将发布的SQL Server 11(SQL Server Denali)会有所创新,据称是2010 PASS上最大的亮点。无疑,我们将听到更多关于新的R2热点词汇,如PowerPivot。 本文微软数据平台技术专家Mark Kromer发表了自己的观点。

SQL Server虚拟化已经被许多公司看作平常事,但是虚拟化有好的声望也有性能的不足。微软在改进SQL Server的虚拟化方面采取了哪些方式?SQL Server发展方向是什么?

Mark Kromer:SQL Server 2000的虚拟化,甚至是SQL Server 2005的虚拟化一直无法与直接装在主机操作系统上的传统SQL Server一样,这要归结于那时的hypervisors虚拟化,从微软的虚拟PC和虚拟服务器到更早版本的Vmware ESX。也有一部分原因是SQL Server 2008之前版本的SQL Server并没有基于虚拟化架构。但是过去三年,随着微软的Hyper-V以及更新版本的Vmare ESX 的变化,SQL Server 2008有了极大的改观。如今还有其他Hypervisors和虚拟化技术,但是根据过去6到8 个月我与客户的接触证明SQL Server的虚拟化99%都是这两种平台的。新的Hypervisor技术与处理器技术结合,如SLAT(二级地址转换)和TCP卸载,我们看到虚拟化在各种规模的数据中心和组织中大行其事。这些Hypervisors的优势使得将SQL Server虚拟化成为了一个更加流行的商业目标。在SQL Server 2008 R2的虚拟化中,微软支持高级的特性,如客户和主机的高可用性集群,甚至能实现微软Hyper-V在线迁移功能,可以支持不用停机将SQL Server的实例从一台虚拟机服务器迁移到另外一台虚拟机服务器。SQL Server的高可用性和虚拟化的集合增加了Hypervisor的性能,尤其是直接路径的磁盘配置,虚拟化SQL Server正变得越来越普及。你应该看到SQL Server的未来是越来越多的投入到虚拟化以改进实例和数据库密度,并实施SQL Server的“私有云”框架。

SQL Server虚拟化可以让操作系统在物理主机之间移动,数据层应用让DBA在服务器之间移动数据库。SQL Server也正在朝着这个方向发展吗?2011年以后会让很多数据库缩小,使DBA更容易维护吗?

Kromer:我很难说SQL Server在朝这个方向发展。你的问题让我想到的是,组织内常常发生的关于“将应用部署在大型服务器上以获得高负载能力、可扩展能力,还是将应用分布式部署在很多廉价的小型硬件上”的争论。这是应用开发、企业架构和数据库管理方面的一个很经典的争论话题。我不想探讨各自的优点和缺点,这是一个更长久的争论。我还是只谈谈每种架构需要权衡的方面吧。说到SQL Server的方向和能力,我完全同意你所看到的关于R2的观点,这也会在Denali中看到,有很多新特性让微软有“多服务器管理”的美誉。这很有助于让开发者和DBA用SSMS和中心管理服务器监控、管理和控制大量的SQL Server实例和数据库。除了CMS以外,还有基于策略的管理(BPM),实用工具控制点(UCP)和数据仓库管理(MDW)。如你的问题所提到的,数据层应用(DAC)是R2的一个非常重要的新功能,可以让开发者和DBA选择应用系统特定的数据库对象,将这些对象打包,通过一个开发周期迁移DAC、PAC,例如,类的开发,测试,存储,发布。当你将数据库分布在多个虚拟机上时,虚拟机管理器如微软VMM可以使管理SQL Server分布式应用更简单,你甚至可以在虚拟机环境中实现所有这些以前提到的功能。这些特征是SQL Server并行数据仓库的MPP分布式数据仓库模型的优点,包括它自己的PDW监控和管理工具,让DBA完全可视化看到活动节点和分布式环境。微软的云数据库SQL Azure也正在探索使用更小的分布式共享数据库应用架构。SQL Azure是微软分布式数据库特征的关键,Azure正在使用SQL Server技术,如今你已经可以在Azure使用常规的SQL Server工具,如CMS,SSMS和DAC。