发信人: nightcat() 
整理人: chedong(1999-07-04 09:39:17), 站内信件
 | 
 
 
§1.8 丰富、开放的中间件产品
 考虑到系统的扩展性,就必须考虑到中间件产品,以下让我们看看SYBASE
 和ORACLE在中间件产品上的比较。
 数据访问:
 Oracle一直不重视互操作市场。它们的连通产品设计,允许迁移到Oracle
 数据库或使Oracle应用访问非Oracle数据。其连通性产品,通常是伴随着
 大的数据库交易免费赠送的。这一事实很清楚地说明Oracle对互操作市场
 缺乏认同。
 数据库集中是Sybase和Oracle在互操作性理解方面的重大差异。在Oracle
 看来,其连通性产品同数据库不可分割;在解决方案的核心,所有的数据
 透明性、数据复制、对非Oracle数据的访问,都离不开Oracle数据库。
 在对于商业驱动因素的讨论中,认识到潜在客户需要四种或五种类型的商
 业处理是很重要的。潜在客户应该认识到:高速联机事务处理(OLTP),决
 策支持,数据复制和数据仓库,对组织来说是重要的。Sybase/ICD是业界
 唯一一家公司,能够理直气壮地宣布能进行上述所有的五种处理。
 Oracle的连通产品从来就不能运行OLTP。它们被其产品的体系结构(数据库
 集中)和可靠性所限制。它们的体系结构,类似于在其解决方案核心总是必
 不可少地需要数据库透明层。只要把该透明层添加到解决方案中,你就不能
 够再支持繁重的并发处理。
 Transparent Gateway(透明网关)允许Oracle应用程序,通过Oracle数据
 库服务器用SQL访问非Oracle数据。对于大多数数据库引掣来说,都有这样
 的网关,详见产品数据库。
 网关在接受到请求时自动启动,链接关闭时自动停机,这将大大放慢处理速
 度。
 只能进行单线程处理。一次只能提交一个客户请求。
 不能通过网关传递DDL。
 不支持共享游标。
 用SQL访问非关系数据库时,依赖EDA/SQL。
 数据类型映射、数据字典对象、SQL函数和错误码,必须映射到Oracle的等
 价类型。
 不能通过Transparent Gateway执行存储过程。
 所有请求必须经Oracle7数据库进行路由。
 Oracle提供建议用于OLTP的Procedural Gateway(过程网关)。然而,应用
 仍必须连接到Oracle数据库上,并执行外部过程调用。对于Procedural 
 Gateway,有以下一些局限性:
 Procedural Gateway只能在Unix平台上运行;
 只进行单线程处理,一次只能提交一个客户请求;
 不支持到目标的动态SQL,这意味着需要两个Oracle网关(Transparent 
 Gateway和Procedural Gateway)才能支持Sybase DirectConnect的功能;
 要求程序员用非常低级的语言(如APPC或CPIC)进行编程,找到能熟练掌握
 这类编程的程序员是很困难的;
 不支持异构连接,而Sybase可以通过把RPC映射到OmniConnect表完成这种
 连接。
 Oracle提供Open Gateway Toolkit,但是只有VAR和Oracle顾问可得到。
 
 数据透明性:
 如上所述,Oracle的透明引掣是数据库;数据库能够把请求路由到其它的
 Oracle数据库或Oracle Transparent Gateway。它通过向Oracle7 Level
 增加功能,来解决任何SQL差异。例如:如果目标数据库不支持外联结,
 Oracle数据库引掣能模拟这种外联结。
 用于非Oracle数据分布式联结的SQL优化器,看起来非常基本。为优化查询,
 数据库引掣进行目标数据库“SQL描述”。“SQL描述”只返回列名、数据
 类型和索引,行数目的信息不能返回到数据库引掣。当处理远程数据库的
 大型表时,这些信息会产生一些有趣的联结参数。可对每一查询都执行
 “SQL描述”,或执行一次并存储到数据库中。“SQL描述”不得不在每一个
 要访问的远程表上运行。
 OmniConnect从一开始就设计用于非Sybase平台的分布式计算。而Oracle
 引掣则设计用于本地文件访问。OmniConnect有好得多的分布式优化器,能
 支持更多的数据库结构,提供到目标的多个并发连接,并能通过InfoHub或
 映射RPC联结关系数据和非关系数据。
 Oracle没有用于非Oracle数据的真正的分布式优化器;
 所有联结发生在Oracle数据库引掣中。例如:DB2和IMS的联结,发生在
 Oracle引掣中;
 分布式访问的性能和可靠性值得怀疑;
 SQL访问非关系数据,要依赖EDA/SQL。、
 
 数据复制:
 如上所述,Oracle支持用于数据复制的随处更新模型。对于这个模型有一些
 独特的问题。很明显,要解决更新中产生的冲突,需要某种独特的键来辩别
 事务。标识符可以是节点ID、组优先级,最可能的也许是时间戳。如果利用
 时间戳的话,你怎样解决不同时区的问题呢?怎样才能使不同时区计算机的
 时钟同步呢? 随处更新方案产生的问题比其解决的问题还要多。
 对于其它Oracle产品,Oracle数据库是其对称复制的核心。Oracle仍旧是
 用于复制的唯一数据源。下面是同Sybase方案的对比(Sybase方案一直支持
 多个源到多个目标的事务复制)。
 
 Sybase复制选项
 源	目标	目标
 Sybase	Sybase	MS Access
 Oracle	DB2	Lotus Notes
 DB2	SQL/DS	SQL Anywhere
 MVS Rep API	DB2/400	Informix
 VSAM	Teradata	Ingress
 Adabase	Oracle	
 IMS		
 
 从上面的表中,可以看出Sybase在复制功能方面比Oracle丰富得多。Oracle
 现在模仿Sybase的战略和销售,然而,却被其数据库集中所阻碍。如上所述,
 目前用于Oracle复制的唯一源是Oracle。
 目前只有一个复制源——Oracle;
 目前只有一个目标——Oracle;
 基于触发器,因此很低的性能,这也将影响产品应用性能;
 Oracle数据库集中式体系结构存有缺陷;
 看起来只支持复制表,或仅支持复制行。
 
 事实胜于雄辩:
 ISO9000认证:Sybase是其所有开发小组都经审计,确认符合ISO9000标准
 的美国唯一一家软件厂商。这意味着:为了确保不断生产出高质量的软件,
 从开发时间表到实现过程归档,完善生产过程,我们都花费了大量时间。在
 我们的竞争者中,没有一个能够做出这样的声明。
 实现实例:在中间件市场上,没有一个公司能够象Sybase这样,拥有大量的
 产品实现实例。五年以来,商业一直利用我们的中间件软件进行决策支持和
 OLTP应用。
 研究与开发:Sybase与其竞争者相比,在研究和开发方面,花费了更多的资
 金(按占盈利的百分比计)。在过去三年中,我们把盈利的15%用于研究和开
 发,而Oracle是10.6%。把R&D花费和来自我们大量实际使用客户的反馈结合
 起来,就形成了立于不败之地的组合。对客户来说,这意味着什么呢?这意味
 着我们现在是互操作性产品市场的领导者,我们也将努力保持这种领先地位。
 ISV Certification Lab(ISV认证实验室):Sybase是唯一一家拥有认证实
 验室的互操作性软件公司,其实验室专门用于认证软硬件产品的互操作性。
 由于Oracle应用必须经数据库引掣路由,Oracle对它们的互操作性产品不能
 提供认证报告。
 技术支持:Sybase的技术支持小组是业界最完善的。我们不断随机地挑选出
 来访者的20%,来调查客户满易度。客户的满易度目前是95%。另外,对于客
 户和潜在客户来说,很重要的是,我们的工程人员和技术支持人员向同一负
 责人汇报,这就是说,增加了解决问题的两个部门间的协作。
 产品成熟:我们的产品占据市场很多年了,例如,OmniConnect和复制服务
 器已经投入实用三年了。
 市场领导地位:这些图表来自Gartner和Meta Group。饼图由Meta Group
 进行的五次独立的调查汇集而成。这些图表说明,市场分析家为什么把Sybase
 看作是中间件市场的领导者。在中间件市场,我们不仅提供产品,还领导
 着该行业。
 占据市场的长期性:通过购买MDI,Sybase已经在集成PC和大型机业务领域
 十一年了。在此期间,业界最大的软件厂商们在中间件市场方面寻求我们专
 家的帮助。我们在这一市场的时间比谁都长。Oracle只是在过去五年中给这
 一市场以微弱的支持。
 中间件重视程度:Sybase特意把Information Connect Division(信息连
 接分部)与其它开发中心分离出来,确保对中间件市场的重视。在过去的两
 年里,我们增加了200名开发和支持人员,专门从事中间件业务。作为Sybase
 向互操作性市场迈进的更进一步的信号,Sybase投资1400万美元,在
 Boulcler,CO破土动工兴建研究开发中心,致力于互操作性市场。
 网关管理:随着DirectConnect的发布,Sybase已经开发了高级的网关管
 理工具。DirectConnect Manager允许远程配置/启动/停机(与Gateway 
 Manager的功能相同),同时允许监控、自动重启和日志过滤。Oracle没有
 这些能力,并且也一直没有试图开发这些能力。
 重要的差异:
 性能:跨操作环境,Sybase提供了已经证明的一致的解决方案,网关支持
 OLTP、决策支持和数据仓库应用;而Oracle的一些网关,仍基于存在问题
 的SQLConnect,市场分析家仍在等待其成功的消息。
 OLTP大型机应用支持:OmniConnect Gateway把高性能且成熟的客户/服
 务器的API,应用于CICS、IMS/TM、VSE和MVS环境;Oracle Procedural
  Gateway依赖APPC编程,它是一种低级网络协议,APPC调用的编码是资源
 高度密集的。
 大型机环境:对MVS、VSE、CICS和IMS/TM数据和应用,Sybase允许全面
 的读/写和程序访问;Oracle是只读式解决方案,依赖IBI完成非关系访问。
 第三方支持:Sybase有完善的ISV Certification Lab,保证了第三方
 产品能同OmniConnect系列产品协同工作;Oracle则没有认证实验室来
 保证第三方产品与Oracle网关协同工作。
 开放性:Sybase开放的中间件解决方案,独立于数据库、操作系统和工
 具,Sybase Open Server API对于第三方和客户编写的应用是开放的;
 对于Oracle来说,客户不得不用Oracle技术取代一切,Oracle网关需要
 购买Oracle数据库,因此Oracle是一个封闭的体系结构。
 中间件重视程度:Sybase重视致力于提供集成大型机、中距网和LAN的解
 决方案;Oracle只是被动地被Sybase拖入中间件市场竞争的,采用的是
 “你有我亦有”的方案。
 异种复制:Sybase提供世界一流的复制代理、复制服务器和用于ODBC的
 复制驱动程序,可用于部门、企业和桌面用户;Oracle只提供向Oracle7
 数据库的复制,且仍不能为其流动性产品Oracle Lite提供复制。
 数据源支持:Sybase支持21种以上的数据源,提供DEC、大型机和LAN环境
 的完善的解决方案;Oracle提供较少的数据源和不完整的、不一致的解决
 方案。
 Oracle Transparent Gateway的主要缺陷
 性能:Oracle Procedural Gateway接受到请求时自动启动,链接关闭时
 自动停机,这大大降低了处理速度。
 单线程处理:一次只能提交一个客户请求,对于每一个新的请求必须初始化
 另一个新的网关实例。Oracle网关用户不能通过网关传递DDL。
 依赖第三方产品获取连接性:Oracle依赖EDA/SQL用于SQL访问非关系数据。
 脆弱的数据类型映射:Oracle网关要求数据字典对象、SQL函数和错误码必
 须映射到Oracle等价的类型。
 没有过程:不能通过Transparent Gateway执行过程。
 需要Oracle数据库,所有请求必须经Oracle7数据库路由。
 Oracle Procedural Gateway的主要缺陷
 只能用于Unix:Procedural Gateway只能在Unix平台上运行。
 拙劣的性能:只能进行单线程处理,一次只能提交一个客户请求。另外的客
 户请求需初始化另外的网关。
 不支持动态SQL:Oracle Procedural Gateway不支持到目标的动态SQL,
 这意味着你必须拥有两个Oracle网关。
 要求用低级语言编程:Oracle Procedural Gateway要求在APPC这样的低级
 语言层次上编程,找到精通这种类型编程的人员是很困难的。
 不支持异构联结:不支持异构联结。Sybase通过把RPC映射到OmniConnect表,
 可以做到这一点。Oracle没有用于非Oracle数据的真正的分布式优化器。
 所有联结发生在Oracle数据库引掣中。例如:DB2和IMS的联结发生在Oracle
 引掣中。
 程序映射:由于Procedural Gateway没有任何大型机代码,大型机上的每
 个程序必须映射到Oracle服务器上的程序(Transaction Information 
 Program)。客户必须映射每一个输入输出调用,以及要交换的数据结构。
 §1.9 Internet和异构环境体系结构
 
 Oracle 的 NCA 体系结构有几个明显弱点。其中最大的是专用性和封闭性。
 Oracle 的 Web Server 应用服务器只能支持PL/SQL界面。Oracle封装资
 源的策略是封闭和专用的,其内部资源交换也采取了封闭的模型。Oracle
 是以CORBA为中心的模式,服务器方对JAVA的支持还在初级阶段。用户要想
 与非Oracle数据库管理系统相连,必须在这台机器上再装一套Oracle。
 
 与Oracle的封闭和专用方式相比,Sybase的开发工具(PowerJ和
 PowerBuilder)更为强壮和开放;Jaguar CTS事务处理服务器是完全开放
 的,并同时支持CORBA和COM;Sybase 的服务器系列产品 Adaptive Server
 内置分布性。在 Sybase ACA 体系结构的所有层次,我们都支持 Java 组
 件模型和 Java 存储。 而且,在Internet不可预见的工作负载下,Sybase 
 ASE 比 Oracle 8 更灵活可调节。
 
 结论
 
 Sybase提供了开放的、分布式的、优化的数据库产品系列,使客户在异构和
 混合负载环境中仍能预见其高性能。
 
 Oracle是一个封闭的、重集中式的、非优化的、单一的服务器,提供在硬件
 资源丰富且结构单一环境下对单一类型应用的支持。
  -- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.114.248]
  | 
 
 
 |