荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Jobs (温少), 信区: Database
标  题: [转载] SQL Server权威人士论坛:开发者问答(一)
发信站: BBS 荔园晨风站 (Mon Oct 30 09:20:09 2000), 站内信件

【 以下文字转载自 Visual 讨论区 】
【 原文由 Jobs 所发表 】

SQL Server权威人士论坛:开发人员问与答



本月专栏文章:SQL Server 2000 可支持Web的特性

  本月我们的专家

Jeff Ressler是SQL Server开发组的产品经理,他把主要精力放在SQL Server
2000、SQL Server 2000的Windows CE版以及下一个版本的SQL Server产品计划上
。在加入SQL Server开发组之前,Jeff在微软Visual C++小组和Visual Studio小
组工作,他是从Oracle公司来到微软的,在那里他曾是系统管理产品组的产品经理
。Jeff还拥有斯坦福大学的工程学位。

欢迎来到"SQL Server权威人士论坛"。这是一个每月更新的论坛,SQL Server的专
家将和数据库开发者人员一起共享他们的观点和信息。

在今天的商务世界里网络变得越来越普遍,网络特性成了你建立电子商务、互联网
、企业内部网的基础。SQL Server 2000就提供了显著增强的网络特性来构建数据
库解决方案。SQL Server会刊将讨论这些最新的特性以及它们对开发人员和管理人
员的意义。

让我们从介绍SQL Server 2000可支持Web的特性开始吧。
Ressler:自1998年十一月以来,SQL Server 7.0已经发布挺长一段时间了。顾客
们已经找到了在网络环境中灵活使用SQL Server的方法。就SQL Server 2000而言
,我们希望它更容易使用,具有更大的灵活性。其中还包括了一些XML特性,比如
在关系式数据表中存储XML文档,从关系式数据中产生XML文档等。

另一个我们感兴趣的领域是保证开发人员和潜在的最终用户都能简单地通过一个
URL来访问SQL Server。你现在确实可以把SQL Server放到一个URL上了,我们已经
把通过HTTP访问的特性(HTTP access)作为SQL Server 2000的一个核心特性。


让我们更详细地看看SQL Server 2000的基于URL的访问方式吧。你能简述一下这种
特性是如何扩展SQL Server的功能的吗?
Ressler:基于URL的访问方式对于简化开发环境和把数据库加入内部网的过程是很
有好处的。你可以从URL上向SQL Server 2000提交查询,实际上就是直接把SQL语
句打进URL中。但目前这种方式在大部分互联网环境中都是不合适的。你不会希望
用户书写甚或是看到SQL语句,因为这可能泄露访问你的数据库的内部机制。而出
于安全原因,你显然不会希望这样。因此对于开发人员来说更好的选择就是允许通
过URL来访问指定服务器端的XML模板。这虽然提供了对SQL Server的直接访问,但
是你实际已把SQL Select语句或查询请求隐藏在了XML模板中。因此许多中间层代
码对于和数据库交互过程就不必要了。以此方法,你可以简便快速地把数据库放置
到网络上。这也是SQL Server为开发人员提供的一种更快捷地跟上市场需要的方法


XML是如何使得电子商务公司或数据库管理员的生活更便捷的?
Ressler:有许多以".com"命名的公司产生了,其中许多做电子商务的公司是将已
有的系统与他们的网络系统相结合,起着砖头和水泥那样的基础作用。这些公司可
能要把从经销商那儿购买的电子系统进行转换或集成,也可能要把原有数据集成进
老式主机系统。不管是哪种情况,绝大多数公司几乎都是从各个不同的地方获取各
种形式的数据,因而他们需要转换、集成数据,以便他们的电子商务网站能够运行
起来。

XML就成了完成这项工作的工具。你可以利用它在异构系统之间映射数据。对于SQL
 Server的管理员来说,能够实际存储数据,即获取XML数据并将其存入关系表中是
很重要的。之后你就可以在这些数据上进行像查询这样的标准的数据库操作。而能
够产生给XML的返回数据,并将其传回给别的系统也同样很重要。这个目标被称为
是"双向"的,它使得各个公司不仅可以从现有系统中获取数据,同时也可以操纵这
些数据。

那么你如何比较SQL Server 2000与SQL Server 7.0的XML能力呢?
Ressler:SQL Server 7.0不提供XML支持。开发人员以前不得不使用一个XML分析
器,如微软的XML分析器(MSXML),而且他们必须编写自己的代码来处理细节:把
不同的元素从XML文档中提取出来并按需要把它们放进关系表的不同部分,然后访
问关系表,编写代码将数据从表中取出,再以正确的格式放回。这样的工作很费事
。当我们跟开发人员讨论时,总发现他们在为某一应用做这样的工作。当他们从事
另一个应用时,也不得不需要重写代码。开发人员真正需要的是一种在数据库中处
理XML的一般方法,而这正是我们使用SQL Server 2000时所能作到的。

你能向我们介绍有关SQL Server 2000新的数据分析功能吗?
)Ressler:我们曾谈到怎样把SQL Server放到一个URL上使其允许查询的执行。我
们也可以利用联机分析处理(OLAP)立方体来完成同样的事。要做分析的顾客可以
通过HTTP来浏览立方体。我们也通过HTTP支持连接立方体的其它一些高级特性。例
如:如果你在不同的环境中有一些立方体,或者是从经销商或数据提供者那儿取得
了一个立方体,那么你就可以通过HTTP连接到立方体上,把其上的数据与你的数据
相结合并且在那儿进行分析。

数据挖掘是SQL Server的一个全新的功能。它不只是一个特性,实际上是一组不同
的特性集合。这些特性贯穿于我们现在叫做分析服务,在SQL Server 7.0中叫做
OLAP服务的组件之中。数据挖掘是一套允许分析人员、开发人员或者是DBA们理解
他们数据的工具,这种理解大大超越了通过查询所能获得的显而易见的信息。

SQL Server 2000对于数据挖掘包含两个主要的算法:决策树和群集。用户利用一
个易于使用的向导定义用于分析的数据,然后就用算法来发现趋势和相关决策点。
算法完成特定类型的统计分析,以在不同的事物之间建立相互关联和分类。例如,
信誉风险分析就是一个决策树算法的很好的应用例子。如果你有大量的人员统计数
据,如违约和破产信息,并且都存储在你的数据库中,你就可以使用决策树模型。
该算法所表述的一个问题可能是:基于对历史数据的统计分析,在确定未来的信誉
风险时哪些特点将起到最关键的作用?

我们要展示的另一个例子是Food Mart公司的会员卡,这个公司是一个类似于
Costco的批发商店,它已经被包含在SQL Server 2000中作为一个例子了。这个例
子中有四种不同类型的会员卡,还有金卡和银卡,这些卡都有不同的权利。例如,
金卡允许你在其他人之前进入商店一至两个小时,诸如此类。这样在这个例子中,
我们就可以进行一项市场调查,我们要问自己的问题是:买不同卡的人都具有什么
特点?通过理解这些特点,将来我们应该如何更有效地销售这些卡?我们的数据库
当中有我们所有客户的统计信息以及他们所拥有的卡的类型数据,我们通过建立、
处理数据挖掘模型之后得出结论:银卡更受单身们欢迎。这也很合乎逻辑,因为这
种卡不包含免费的配偶卡。类似的,我们也会发现:金卡更受夫妻欢迎,因为只要
其中一人成为会员,另一人就可以得到一张免费的配偶卡。这个数据挖掘工具就是
这样使得数据分析自动化,不再需要通过手写SQL查询要求来研究数据了。

群集算法是为分解设计的。为了为加勒比海的旅游业开拓市场,你可能利用群集算
法来自动确定相关性。例如,通过查询年龄和目的地,你可能发现20到25岁的人比
50到60岁的人更愿意去阿卢巴岛。相对于任意取定的一个集合:20到29,30到39等
等,我们实际上可以用数据挖掘工具做出一个明智的选择,从而你可以更好地理解
你的数据,知道它是怎么分布的。对于少量数据,你也许可以凭肉眼观察出这些信
息,但是对于大量的数据,数据分析工具就是必不可少的了。

至于这些东西是如何反馈回网络的问题,现在许多公司所做的是点击流分析,对此
我们也可以参照商务Internet分析(BIA)。这意味着他们在对浏览网络站点的访
问者的点击或页面访问序列进行密切观测。这些信息与其它一些事情一起影响了这
个网站上受用户喜欢的元素,如受欢迎的产品页面或广告等。

SQL Server 2000中提供的数据挖掘工具对于分析此类数据已经非常有效。和微软
Commerce Server 2000 (一种用于建立在线商务 (包括B2B和B2C商务模式) 的微
软产品) 一起,我们包含了一个端到端的集成数据的解决方案,并将它存储在SQL
 Server中。然后数据挖掘工具就运行在这数据之上,基于完全的分析,通过
Commerce Server来控制站点的变化。这一切都是自动发生的。例如,你会发现访
问出售汽车的电子商务网站的单身男人点击了许多赛车活动的广告,那么你就会运
行更多的赛车广告来迎合他们。基于这些人员和帐号统计数据,你也会发现许多其
它与这些客户群相关的信息。对网络而言,这会吸引大量的潜在顾客。自动完成上
述功能,自动改变网点以反映你的调查结果是一项不小的工作。这种自动功能会使
网站运营地更加有效率。

我的一个同事喜欢说,过去你不得不做的是:把你的数据交给一群穿白色实验室制
服的人中的一个,让他研究你的数据,然后把答案写在一张纸上拿回来。这当然有
点夸张。传统上,有专门人员从某一角度来研究数据,使数据得以分析。这一过程
在过去是离线完成的,无法反映和影响当今迅速改变的事物和环境。SQL Server
2000使得数据挖掘成为一种易用、廉价的描述数据的方法。如果你把数据挖掘作为
一个不间断的进程加入到你的其它商务进程(如运行一个网站)中去,数据分析处
理就可以按要求提供了。这种处理就是基于有价值的、易于获得的信息来驱动网站
变化的。

对于网站和数据库开发人员来说,考虑使用网络工具来使他们的商务在众多竞争对
手中脱颖而出是很有好处的。那SQL Server有什么其他的功能来帮助客户呢?
Ressler:我们帮助客户的一个方面是使他们充分利用硬件资源。许多网站采用了
增加服务器来增加可伸缩性的模型,这对网络服务器来说很有效。这也是我们努力
要使SQL Server 2000具备的特性:在数据层嵌入一个新的服务器以便于伸缩。我
们曾介绍过一种叫做分布式分区视图的特性,它允许工作负载通过一个服务器被共
享。开发人员就可以把他们的数据分解,并在数据环境中加入附加的服务器。为了
更明晰,分布式分区视图不能给所有人使用,但是它可以在数据具有高度可分解性
的情况下很好地工作。这就在无须高花费的情况下保证了必要的可伸缩性和可用性
。它确实允许人们从竞争对手中脱颖而出。


电子商务公司的一种最常用模式是他们需要大量的风险资金来购买尽可能大的服务
器。很多情况下那是一个有很多处理器的庞大的UNIX机器,因为公司认为那是他们
所需要的。利用SQL Server 2000,他们可以在商品化的机器(如Compaq、Dell、
Unisys和NEC)上运行地很出色,而且也更便宜。你可以在你需要的时候加入一个
新服务器,通过它将数据分解,使得工作负载被分担。使用这种方式就可以按要求
提高可伸缩性。

SQL Server 7.0与以前版本的比较,在安全模型方面有什么重要变化?
Ressler:对于SQL Server 2000,我们实际已经在安全领域方面,从全局的数据库
观点和保证与安全标准兼容的基础上作了许多工作。我们现在正朝着C2级政府安全
认证标准的方向努力。这会在产品发布之后的几个月内完成,可能在夏季晚些时候
或是秋季。

对于网络上的安全,我们支持各种标准以保证更好的安全性。可能最值得注意的是
对安全套接层的支持,即SSL。终端用户可能对SSL已有像对HTTP中的URL那样的经
验。SQL Server 2000支持SSL,它是一种非常容易实现的安全模型。SQL Server的
网络库(Net Library)已经增强,可以提供SSL编码了。

在SQL Server 2000中还有其它增强的与登录和跨服务器查询有关的安全性。我们
现在支持基于Kerberos的安全帐号代理。Kerberos是微软Windows 2000中支持的一
种安全标准。安全帐号代理是一种可以连接到多个服务器,根据每个服务器的变化
,重新获取初始客户的认证资格的能力。例如,如果一个用户连接到了服务器A,
然后连接到服务器B,服务器B就通过了该用户的连接性安全认证。这就允许服务器
B即使在原先不认识该用户的时候,其上的工作也能在正确的身份认证下继续进行


我们看到许多客户在求助于应用服务提供商(ASPs)的同时自行管理他们的数据库
。SQL Server是如何为ASPs和他们的客户提供便利的?
Ressler:自我们发布SQL Server 7.0以来的两年中,ASP的数量有了极大增加。我
们有许多提供商在运营电子商务网站,有为公司运营电子商务网站的ASP,有运营
人力资源应用或是其它商用线路应用的ASP。所有这些ASP都在关注一些共同的事情
。其中之一就是最大限度地提高性价比。ASP通过控制他们在硬件上的花费,降低
在硬件基础上的相关软件的花费来作到这一点。他们总是希望充分利用上他们所购
买的硬件的每一点能力。

在SQL Server 2000中我们要介绍一个允许在一台机器上运行多份SQL Server实例
的特性。这对于开发人员来说也许是最合适、最有意义的特性,但它也适合ASP环
境。我们总是允许在一台机器上运行多个数据库的,而多个实例就意味着不同数据
库之间独立性更强。你可以在一台机器上运行一个人力资源应用的商用线路应用,
同时又运行一个另一个公司的顾客关系管理系统。我们已把数据和服务相互分离了
开来。这就允许一个ASP在一台机器上利用大部分或全部资源来运行尽可能多的应
用,而不必为每一个它所提供服务的公司购买一台单独的服务器。考虑到要将费用
最小化,这是一个很有效的办法,而且它也可以由此向各公司作出保证:确保他们
的数据安全地与其它公司的数据相分离。

开发人员如何才能把英语查询的好处扩展到电子商务环境中呢?
Ressler:英语查询是包含在SQL Server中的一个工具,它可以把自然英语文本的
查询要求译成SQL语句或者是多维表达式(MDX)的形式。MDX是一种从OLAP立方体
中获取数据的查询语言,它与SQL语句非常相似。这样一来,英语查询的好处理所
当然地就是使得不懂SQL的人也可以使用强大的数据库接口了。过去你也必须使用
数据库开发工具或者是代价高昂的查询建立工具来使得低级用户可以构造查询,但
是这些低级用户仍然必须懂得一些SQL的知识,而且可能利用意思不够清楚的查询
语句获得数据。

而英语查询的目标是使任何外行人都能够随心所欲地从数据库中获取数据。同时这
也使得开发人员不必去预测用户可能要求执行的所有查询要求。在网络上,这一点
是非常重要的。你可能有一项你可以访问的信息,你当然不会强求人们以SQL语句
的形式提交查询,你也不能依赖布尔逻辑来取得数据。

例如,当你需要为销售人员建立一个外部网点时,你如何用布尔逻辑来查询某一特
定地区六月份的所有销售工作情况?你实在是无法有效地作到这一点。一种可能的
解决方案是将查询条件封装起来。对于前面我用的例子,你可能会用类似下面的方
法:"Sales in July '99 in Georgia",但是这很不够灵活,类似的问题会有成千
上万种可能性和变体。而利用英语查询,你可以这样写:"what are the sales in
 Georgia in July 1999",或者这样写:"July 1999 Sales Georgia"。你的服务
器上的英语查询组件会分析这一问题并将其翻译成可以将你所要的信息返回的SQL
语句。这样开发人员就不必猜测最终用户想要什么,也不必预先包装查询命令。这
也为最终用户提供了无限的灵活性。当然开发人员可能出于安全因素而隐藏一些表
,或者不允许在表的某些部分执行查询,但是英语查询确实是一种强有力的查询信
息的功能。你也可以看到,网上的许多站点都采用了这种自然语言文本的查询模式


你认为把SQL Server应用在电子商务的解决方案时最好的策略是什么?
Ressler:实现电子商务的第一步是选取一个平台。SQL Server 2000 是微软
WindowsDNA 2000平台的一部分,这个平台不仅可以实现在线商务,也可以实现多
层的应用。与Commerce Server2000、微软Host Integration Server 2000、微软
BizTalk Server 2000以及微软Application Center 2000这样的产品一起,你可以
建立一套完整的、高可伸缩性、可靠性高的电子商务网站的解决方案。

利用SQL Server 2000,其中有一些特定的东西使电子商务公司确信他们可以获得
他们想要的性能。首先,让我们来看看我们正在介绍的分布式分区视图功能。这种
功能不一定适合所有人,但是它提供了一种许多电子商务公司都在寻找的模型标准
,而且它的性能也被证明超越了我们的对手在UNIX硬件环境下提供的性能。

电子商务解决方案的另一个方面是其可用性。支持SQL Server 2000所达到的高可
用性的一个关键技术是实施故障恢复群集。如果磁盘损坏、崩溃,你可以转而使用
另一台计算机;如果一个CPU损坏,你可以转而使用另外一个CPU或是群集中的另一
台计算机,使得系统仍然可以持续运转。故障恢复群集功能在SQL Server 2000中
被显著增强了,它可以提供四个结点的集成,而不是原来的两个,这使得错误发生
时,系统可以在这四台计算机之间任意转换。故障恢复群集技术与可伸缩式的分布
式分区视图一起为电子商务网站提供了一种鲁棒的解决方案,使其可以持续稳定地
运行。

另外当然还有其它重要的地方,例如丰富的编程接口集。我们早些时候曾谈论过
XML特性,我们已经努力使得SQL Server的XML支持技术可以被数据库及网络开发人
员使用。其它数据库也有XML支持,但很多时候它们都要求使用像Java这样的面向
对象的编程语言,而我们不要求这一点。在SQL Server 2000中,我们已经扩展了
Transaction SQL(T-SQL)语言的功能,其中包含了像XPATH、XML、XSL、XSLT这样
的标准。我建议从事这类集成开发项目的开发人员看一看SQL Server中的XML功能
并将它与我们的竞争对手作一比较,我想他们会看到SQL Server更好用,也很好地
支持了上面那些重要标准,使得集成性的开发方案更加有效。




--

   好好学习,天天向上!!!!

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.18.222]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.18.236]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店