分享
Scan me 分享到微信

SQL Server 2008:即将被揭开的面纱

        早晨十点,你惬意地坐在宽大的办公桌边,冲杯咖啡,从40层楼的窗户看了一眼热浪下依然川流不息的马路,一个小时前地铁里混浊的空气和拥挤的人群给你带来的不快已经烟消云散。打开笔记本冲一下浪,这也许是你的想法,或者是打开MSN和好友煲上一会儿八卦。

        嘿!Stop!知道我们的世界正在发生什么变化么?当然,除了奥运要来了!

        我们的用户正在日以继夜地生成数据,我们的存储空间已经从二十年前昂贵的MB级到现在的TB级。记得我第一台电脑只有4.3GB的硬盘空间,朋友们羡慕的眼光还历历在目的时候,现在我的ThinkPad已经拥有了250GB的硬盘,外加Secondary Bay里面的那块250GB的硬盘,还有两块160GB的移动硬盘,台式机上面那块1TB的SATA,老板刚发的一块500GB的移动硬盘,我已经有2.3TB的存储空间了!

        电子表格、图片影像、音频视频、电子邮件,越来越多的数据展现形式。10年前我用Access 97为一些中小企业编写工资计算程序,似乎当时只有那么几个数据类型,文本、数字、货币、日期。哦对了,客户还很喜欢那个MEMO类型。可是现在呢?Blog、Podcast、YouTube、各种各样的门户,现在还流行一个词汇叫富媒体,就像黑白电视机到彩色电视机一样,用户对表现形式永远不会满足。

        回过来说我们苦命的程序员和IT架构师。人力资源部的经理可能有一个关于绩效考核的新点子需要你在HRM系统里面做一个“小小”的改动,而市场部的老总也有一个风靡全球的营销模式需要你在SFA应用里面支撑一下,销售部有了新的奖金计算方案、物流部需要连接新的供应商系统、财务部发布了下一年度的预算方案,最后你的老板也说话了“我们要整合应用系统!”

        其实世界不是一天之内便成这样的,西方的IT咨询机构作过一个调查,他们认为现在数据消费的游戏规则正在发生改变,而且速度愈演愈烈,而这些改变主要体现在:

        · 数据总量的飞速增长
        · 数据格式越来越丰富
        · 信息终端的多样化和微型化
        · 信息规范越来越严格

        如何应对这种变化呢?

        泰伯网

        SQL Server 2008将帮助我们轻松面对这些挑战。

        SQL Server在7.0之前的版本被微软称为其第一代数据库服务器产品,而从7.0到2000则被称为是其第二代产品,从2005开始则进入了第三代。且不论前面两代产品,就SQL Server 2005,也就是为微软第三代数据库服务器产品的里程碑版本,我们不难发现微软将数据应用推向互联和在线的策略,HTTP Support、Native XML以及Service Broker组成了SQL Server作为SODA平台的基础,CLR集成也在非关系型数据的支持方面走出了关键的一步,几乎全新的数据集成服务(原来叫作DTS)、联机分析服务、报表服务诠释了微软在商务智能平台方面的策略。

        SQL Server 2008呢?

        SQL Server 2008建立在SQL Server 2005的基础之上,进一步对各项服务进行改进。我们就和大家一起分享一些SQL Server 2008中的重要改进。

        SQL Server 2008重要的新特性
        o 基于策略的管理框架

        由于现在企业需要越来越多的应用,因此SQL Server在企业中部署的实例数量也与日俱增。从支撑ERP的4节点故障转移集群虚拟服务器实例,到运行在一台PC上财务系统用的标准版实例,到运行在虚拟机上用于IT开发部测试用的开发版实例。这些实例分布在企业的各个角落,他们对性能、可靠性、安全的要求都不一样。

        基于策略的管理框架(在CTP阶段也曾被称为Dynamic Management Framework动态管理框架)利用类似于AD中组策略的管理方法为我们管理大量SQL Server实例提供了相当的便利,而且SQL Serve r2008中的策略除了可以进行被动的策略依从扫描之外,还可以实现主动的策略依从强制。

        o 资源调控器

        如果你曾经或正在将数个应用部署在同一个SQL Server实例上,那么你一定会知道当其中一个应用系统失去控制后对其他系统的伤害。因为SQL Server内部的线程之间是非常有礼貌的,如果有一个线程占据了过度的资源,其他线程只会默默地忍受而不会采取过激行为。

        SQL Server 2008提供的资源调控器可以将服务实例的资源划分为数个资源池,并且SQL Server 2008可以限制每个资源池中可以获得的资源容量,而通过另外一个函数将用户的连接分为数个工作组,最后通过在资源组和工作组之间建立关联,SQL Server 2008就可以方便的控制系统资源的消耗了。

        o 性能套件

        如何管理SQL Server的性能一直是SQL Server DBA头疼的一个问题,SQL Server的性能数据分布在性能计数器、动态管理视图、SQL Trace等一些列的工具和内部对象中。如何获得一个统一的性能视图就变得尤为重要了。因此微软提供了Performance Studio,这个套件由Data Collector、Performance Data Warehouse以及一组Performance相关的内置报表构成。

        Data Collector呢就是微软在SQL Server 2008种内置的一套性能搜集机制,通过Data Collector我们可以搜集性能计数器、动态管理视图、T-SQL查询以及SQL Server跟踪结果中的数据,这些性能相关的数据被存储在一个Database中,然后通过内置的报表我们就可以以图形的方式了解我们服务器实例以及数据库的性能情况了。

        o LINQ以及EDM

        如何处理关系型数据架构与应用程序对象结构之间的关系一直是开发人员和应用系统架构师的梦魇。因为在应用系统的生命周期里面,为了性能问题和满足业务需要,我们不可避免地需要对应用程序的对象结构或者数据库架构进行调整,而不管是哪一个方面的调整都会影响到对方。

        微软在应用程序开发领域提出了LINQ和EDM的概念就是为了解决这一问题的。LINQ为开发人员提供了以SQL类似的语言对数据集和对象集进行查询,这样就统一了开发人员的体验。而EDM(Entity Data Model对象实体模型)则是在关系型数据架构与应用程序对象之间建立了一层映射图,通过这个映射层就可以使得关系型数据架构与应用程序对象保持相对独立了。

        o Spatial

        有没有想过在应用程序中集成地理信息,或为客户提供地图定位信息?其实地理数据在许多应用中都有非常大的作用。比如说一个连锁超市集团在规划开设分店的时候需要考虑到区域内的消费能力和竞争对手情况,而一个配送公司则需要在递送开始前规划好最有的递送路径,房产开发集团需要了解不同的地块情况以便于规划建设何种房产,快速消费品集团的物流部门需要知道交通情况来规划物流中心的选址等等。

        SQL Server 2008首次提供了对Spatial的支持,尽管在这个版本中只支持二维的地理信息,但是SQL Server 2008中提供的众多Spatial函数仍然可以节省我们大量的开发成本。同时,将Spatial信息和其他信息放置在一个数据存储中,我们就可以在一个查询中同时获取地理信息和其他信息,比如查询某个超市覆盖半径内的总人口和收入平均值。

        o 全面审核

        SQL Server早期版本中的审核是通过触发器完成的,当然还有C2 Audit,但是触发器不能审核SELECT操作,而C2 Audit产生的数据量又过于庞大。后来SQL Server 2005提供了DDL Trigger,在可审计事件中有增加了DDL操作,Event Trigger又进一步地扩大了可审核内容的范围,但是遗憾的是对SELECT操作的审核一直非常困难,而且SQL Server也缺乏一个统一的审核机制。

        由于企业需要满足越来越多的法规制度,而这些法规制度中不乏对审核和事件追溯的要求,因此SQL Server 2008提供了一个完整的审核机制。在这个审核系统中,我们可以轻松的选择审核对象和审核事件,并选择审核结果的存储位置。完整的审核记录和集中的记录访问,无疑是DBA非常开心的一件事情了。至于审核记录干什么么?安全分析、决定回滚时间、性能评估,很多DBA的工作都需要阿。

        o 商务智能套件

        SQL Server 2005推出商务智能套件后就备受市场的追捧,而在SQL Server 2008中这个套件的三架马车进一步被增强了。比如分析服务中的块计算逻辑改进、设计界面改良、MOLAP支持回写操作和数据挖掘算法改进,数据集成服务中提供的数据质量分析任务、查找缓存技术等,报表服务新的报表设计界面和报表控件。这一系列的改进都大大增强了SQL Server 2008作为商务智能平台的能力。

        同时SQL Server 2008对数据仓库的支持也增强了许多,数据压缩有助于减少数据仓库的存储消耗,对星型结构查询计划的改进、对分区表查询的执行计划并行度改进有助于减少数据仓库中查询的响应时间,稀疏列和筛选索引可以帮助我们有效管理大维度表的性能,前面提过的资源调控器可以控制数据仓库上多种应用的性能问题。这一切都让人恍生SQL Server 2008就是为商务智能而生的错觉。

        太多的新功能我们不能一一列举,因此上面只是SQL Server 2008的冰山一角,也就是最为吸引人的那部分,而还有很多细节上的改进有待于我们发现和体验,例如T-SQL语法中的一些令人欣喜的改进,编辑器对自动语法的支持等等。

        SQL Server 2008升级事项Q&A
        那么SQL Server 2008就快来了,很多DBA都会有疑问。我们就挑一些问题和大家一起探讨。

        企业应该如何面对这个产品呢?

        我的建议是多多接触,有能力的应该尽量往SQL Server 2008迁移,特别是那些还运行在SQL Server 2000上的。因为SQL Server 2005和SQL Server 2005是完全支持SODA架构的,利用SODA架构我们可以规划和实施生命力更强的应用系统。

        升级到SQL Server 2008企业能获得什么好处?

        升级到SQL Server 2008意味着我们能在应用程序中使用许多新的功能,这些新功能可以为我们带来更高的可靠性、安全性、扩展性和灵活性。例如数据库镜像可以降低高可用解决方案的部署难度,数据压缩可以减少存储开销,数据加密可以增强数据的安全性。同时SQL Server 7.0的主流支持已经停止,而SQL Server 2000的支持也快要结束了,因此升级到新的版本也就意味着能继续获得微软的技术支持。

        那么迁移的过程会复杂么?

        SQL Server 2005到SQL Server 2008的过程是相当简单的,几乎可以说是无缝的。SQL Server 2000和7.0则会麻烦一些,主要是体现在DTS和分析服务,还有SQL Server 2000的报表服务,并且从SQL Server 2005开始有许多不规范的T-SQL语法都不被支持了。不过不用担心,SQL Server 2008和SQL Server 2005一样会提供一个升级助手,通过升级助手的扫描我们可以得到不兼容项目的清单以及相关的调整建议。从而升迁过程会变得相当简单。

        企业可以通过什么方法升级到SQL Server 2008?

        升级到SQL Server 2008的方法包括升级和迁移两种策略,升级就是直接用SQL Server 2008的安装程序覆盖原有SQL Server实例,而迁移呢,就是新安装SQL Server 2008的实例,然后将数据和其他信息从老的SQL Server实例复制到新的实例中。SQL Server 2008有很多工具和方法可以帮助我们将数据从原有实例复制过来,包括数据导入导出向导、数据集成服务、数据库复制向导、卸载/挂载等。

喜欢您正在阅读的内容吗?欢迎免费订阅泰伯每周精选电邮。 立即订阅

参与评论

【登录后才能评论哦!点击

  • {{item.username}}

    {{item.content}}

    {{item.created_at}}
    {{item.support}}
    回复{{item.replynum}}
    {{child.username}} 回复 {{child.to_username}}:{{child.content}}

更多精选文章推荐