微软未来的“灵魂”—SQL Server 2005探密

发表于:2007-07-13来源:作者:点击数: 标签:
杀手代号“Yukon” 从1989年微软公司发布的SQL Server 1.0到现在已经有足足十五个年头了,在这十五年里SQL Server从无到有,从小到大,经历着一次又一次的传奇。它不但蚕食着IBM、 Oracle 数据库 的市场份额,而且新一代的SQL Server已经开始逐渐成为 Window
  杀手代号“Yukon”

  从1989年微软公司发布的SQL Server 1.0到现在已经有足足十五个年头了,在这十五年里SQL Server从无到有,从小到大,经历着一次又一次的传奇。它不但蚕食着IBM、Oracle数据库的市场份额,而且新一代的SQL Server已经开始逐渐成为Windows操作系统未来的核心。而访华的比尔·盖茨嘴里不断重复的“无缝计算”的核心就是Yukon,这个代号“Yukon”的下一代数据库将会 把我们带进一个什么样的世界呢?      

                  Internet的“软”支柱

  在当今的网络时代中,数据查寻、数据存储、数据分类等等所有这一切已经成为了构成Internet网络的“软”支柱,而数据库系统则是这个支柱中最关键的。如果没有数据库的支持,我们根本不可能在Google或者百度中查找自己需要的信息,也不可能使用快捷方便的电子信箱,可是说,网络世界完完全全是一个大的数据库所构成的。

  根据IDC的最新数据显示,全球数据库软件市场似乎波澜再起,2003年的总收入达到了136亿美元,比2002年的126亿美元又有增长。甲骨文、IBM和微软目前控制着75%的市场份额。甲骨文去年的市场份额为39.8%,IBM为31.3%,微软为12.1%。

  那么什么是数据库呢?在大学的计算机教科书中,数据库是被这样解释的:数据库是计算机应用系统中的一种专门管理数据资源的系统。数据有多种形式,如文字、数码、符号、图形、图像以及声音等。数据是所有计算机系统所要处理的对象。人们所熟知的一种处理办法是制作文件,即将处理过程编成程序文件,将所涉及的数据按程序要求组织成数据文件,用程序文件来调用。数据文件与程序文件保持着一定的对应关系。在计算机应用迅速发展的情况下,这种文件式方法便显出不足。比如,它使得数据通用性差,不便于移植,在不同文件中存储大量重复信息、浪费存储空间、更新不便等。数据库系统便能解决上述问题。数据库系统不从具体的应用程序出发,而是立足于数据本身的管理,它将所有数据保存在数据库中,进行科学的组织,并借助于数据库管理系统,以它为中介,与各种应用程序或应用系统接口,使之能方便地使用数据库中的数据。

  这段说明介绍的确非常详细,不过你可能看得头晕眼花了,其实简单地说数据库就是一组经过计算机整理后的数据,存储在一个或多个文件中,而管理这个数据库的软件就称之为数据库管理系统。一般一个数据库系统(Database System)可分为数据库(Database)与数据管理系统(Database Management System,DBMS)两个部分,所有的这些就是构成互联网“软”支柱的全部。

  微软的SQL Server作为众多数据库软件的一种,在从6.5升级到7.0版本后,开始逐步地成为主流数据库软件,而SQL Server 2000更证明了Windows操作系统中同样可以承担高端数据应用,作为商务应用的主流数据库管理软件。它打破了由Unix统治大型数据库软件的神话,而新一代的SQL Server 2005又会有什么样的改变呢?

  直击Yukon核心机密

  在Microsoft SQL Server下一版本(代号为“Yukon”)的规划阶段,考虑更多的是数据库未来发展以及SQL Server的编程能力。Microsoft内部的开发人员很早就意识到,未来必须引入更加统一的编程模型,还要为不同的数据模型提供更多的灵活性。编程模型的统一就意味着普通的数据访问和操作任务可以通过多种途径进行,例如你可以选择使用XML或Microsoft.NET框架或者Transact-SQL(T-SQL)代码等。

  这种规划带来的结果就是一个新的数据库编程平台,它在许多方面都进行了扩展。首先,宿主.NET框架公共语言运行库(CLR)的功能将数据库扩展到过程化编程和托管代码的领域。其次,

  .NET框架宿主集成提供了来自SQL Server内部强大的对象数据库功能。对XML的深入支持是通过功能完善的XML数据类型实现的,它拥有关系数据类型的所有功能。此外,还添加了对XML查询(XQuery)和XML架构定义语言(XSD)标准的服务器端支持。最后,SQL Server Yukon包含了T-SQL语言的重要增强功能。

  XML在SQL Server Yukon中的历史实际上始于SQL Server 2000。SQL Server 2000引入了以XML的格式返回关系型数据,大量加载和切分XML文档,以及将数据库对象公开为基于XML的Web服务等功能,不过Yukon提供了更高级的XML查询功能,完善后的Yukon将会充分的发挥XML的所有优势。XML为什么如此关键呢?其实XML从最初的一种替代HTML的表示技术发展为一种线路格式,现在又被看做是一种存储格式。XML中的持久存储已经引起了广泛关注,互联网上也出现了许多XML数据类型的应用。XML本身是一种可以跨越任何系统平台的数据表示格式,它最初是作为文档格式使用的,由于XML在大型企业中已经获得了广泛的认可,用户于是开始使用XML解决棘手的业务问题,例如数据集成。这就使得作为数据存储格式的XML不断发展到今天,由于XML可以在任何平台上显示出同样的效果,XML逐渐成为了一种数据库主流存储格式。Yukon这种内置对XML全面的支持将会引发一场全新的数据库技术革命。

  这些新的编程模型和增强的语言共同创造了一系列的可编程性,它们补充并扩展了目前的关系型数据库模型。这种体系结构带来的最终结果是能够创建更可伸缩、更可靠、更健壮的应用程序,并提高了开发人员的工作效率。这些模型的另外一个结果就是一种称之为SQL服务代理的新应用程序框架——用于异步消息传递的分布式应用程序框架。

  Yukon加盟的世纪豪赌

  前面我们絮絮叨叨地讲了一大串技术应用的优势,你此时也许很好奇,我们为什么要介绍这样一个看似是高端应用的数据库软件技术呢?也许现在我们应该揭开谜底了。

  地球上最富的人这样预言计算机的未来,他认为,在未来的世界里,每一个普通的计算机都将拥有一个足够大的超级硬盘,到那个时候我们的硬盘不再单纯的是80GB,很可能是80TB,虽然只是一个GB变TB,但这意味着硬盘容量足足提升了1000倍。而以现有的Windows存储硬盘数据的NTFS格式来说,根本就无法应付如此大的硬盘数据搜索能力。说一个形象的例子,如果在有100TB硬盘空间的计算机中,你那个时候还是使用的是Windows XP,你整理磁盘碎片所需要的时间很可能是两天两夜,如果你想找寻某个文件,你将会足足等上几个小时。这种感觉就好像重新回到286的时代。

  为了解决这个棘手的问题,下一代Windows操作系统Longhorn决定采用与此前的Windows截然不同的编程模式。其核心是Avalon(开发代号)。Avalon是Windows的新GUI库。新的Longhorn导入了Indigo(Web服务)和WinFS(文件系统)的新功能。包括Avalon在内,将这三种新功能称作WinFX。WinFX是Longhorn的新型“本地”API。虽然是为了与现在的Win32 API兼容而增加的,但要想使用Longhorn的新的功能,一般情况下必须使用WinFX。WinFX属于目前.NET Framework的延伸。目前.NET Framework中使用的类,WinFX中也有,WinFX支持程序的运行机制与.NET基本相同。

  .NET Framework将在SQL Server Yukon供货时进行主版本升级(Major VersionUp),具体日期预计在2004年底。Yukon将在.NET Framework上运行。可在存储进程(Stored Procedures)中使用.NET Framework的类库。Yukon运行的.NET Framework为2.0版,将追加目前.NET Framework 1.1没有的多媒体相关类。WinFS使用Yukon的引擎。也就是说,在Longhorn中,文件系统将使用数据库引擎。

  这个时候你是否明白了,下一代Windows操作系统中,整个文件数据的管理将会引入SQL Server的结构管理,届时,我们计算机的数据查询能力,数据整合能力将会有极大地提高。当然这对于那个有钱人不断说的“无缝计算”也是至关重要的一步,对微软来说,让数据库软件和操作系统整合的工程无疑一场世纪豪赌,如果成功,微软将会逐渐成数据库的霸主,但是如果失败,这项几乎甚至会拖累下一代Windows正常上市的时间表。

  

原文转自:http://www.ltesting.net