当前位置: 首页 > 图文教程 > 数据库 > Oracle > 对比Caché和Oracle在数据库的应用

Oracle
Oracle常用dump命令,记录一下备查。
Oracle存储过程之数据库中获取数据实例
Oracle存储过程入门学习基本语法
java.sql.SQLException: 内部错误: Unable to construct a Datum from the specified input
Oracle 函数大全[字符串函数,数学函数,日期函数]
Oracle 自增(auto increment) 或 标识字段的建立方法
oracle 存储过程加密的方法
Oracle针对数据库某一行进行操作的时候,如何将这一行加行锁
Oracle 忘记密码的找回方法
Oracle 数据库导出(exp)导入(imp)说明
oracle 常见等待事件及处理方法
Oracle9i 动态SGA,PGA特性探索
PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法
ORACLE 数据库RMAN备份恢复
用Mimer Validator检查SQL查询
oracle执行cmd的实现方法
ORACLE 正则解决初使化数据格式不一致
Oracle 触发器的使用小结
oracle 时间格式的调整
Oracle 10g的DBA无法登录解决方案

对比Caché和Oracle在数据库的应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 51 ::
收藏到网摘: n/a

  我们做了一个向数据库存放数据以供分析真实应用程序性能的基准测试。为了进行测试,我们对一个基于Oracle的应用程序中的模块用Caché的ObjectScript进行了重写。原模块的功能在Caché上重现只需要40人小时。
  我们记录了基于Caché的单元完成特定任务所需的时间,并和现有的Oracle数据库进行比较,结果是 采用Caché的应用程序快5倍,它仅用280分钟就完成了用Oracle需1441分钟完成的数据加载和过滤任务。

  表格次序模块

  Meralco基于Oracle 8i的表格次序模块用来取得Fields中产生的文本文件,并生成两张表——维表和事实表,他们分别用来分析和报告。为了完成任务,它要执行下列步骤:

  1.表中的多个文本文件(ordenes.txt和gcahorde.txt)要存在两张表ORDENED和GCAHORDE中。在基于Oracle的应用程序中,这通过OracleSQL*Loader来完成。

  2.GCAHORDE表被过滤,生成GCAHORDE-Filtered表。

  3.运用Oracle Package和存储程序,由GCAHORDE-Filtered和ORDENED生成表或维表DD_FIELD_ORDER。

  4.运用Oracle Package和存储程序,由GCAHORDE-Filtered和ORDENED生成D F_FIELD_ORDER

  重写表格次序模块

  Caché允许用ODBC和JDBC存取数据,这样许多传统关系型应用程序只要做少许变动就可以在Caché数据库上运行。象Meralco的表格命令单元这样极度依靠存取程序的应用程序是个例外。把一个传统关系型应用程序转换到Caché,这些存程序需要重新用Caché ObjectScript编写。因此,用Caché ObjectScript重写Field Order模块的功能应该比改写现存的代码要快。

  此方法的另一个好处就是允许基于Caché的单元采用Caché对输入文本文件的预处理功能。因为从原始的gcahorde.txt文件生成的数据进入数据库时就已被过滤了。基于Caché的单元就不需要另外的过滤步骤了。

  在Meralco的指导下,InterSystems开发了基于Caché的Field Order模块,对于熟悉Caché的开发人员只需要40人小时。

  测试结果

  Caché和Oracle 8i的表格命令单元处理相同的文本文件,每种软件完成不同任务的时间都被记录,Caché运行时间比Oracle快4-23倍。结果如下:

  * 共过滤13,396,510 条源记录,加载 90,349 条记录

  结论

  在这个事实的数据仓库应用的性能测试中运行程序中,在执行数据存储和过滤功能时,Caché比Oracle快5倍。把基于Oracle的应用程序重写成基于Caché的应用程序需要40人小时。