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

Oracle
oracle sys_connect_by_path 函数 结果集连接
oracle join on 数据过滤问题
Oracle 当前用户下所有表的记录总数
oracle 树查询 语句
oracle 触发器 实现出入库
Oracle 函数大全
oracle 删除重复数据
ORACLE 最大连接数的问题
oracle 层次化查询(行政区划三级级联)
oracle 查询表名以及表的列名
Oracle 数据显示 横表转纵表
oracle 服务启动,关闭脚本(windows系统下)
ORCLE 表中列的修改
oracle 数据库连接分析
Oracle 实现类似SQL Server中自增字段的一个办法
Oracle 常用的SQL语句
Oracle 数组的学习 小知识也要积累,养成好的学习态度
Oracle 日期的一些简单使用
Oracle 数据库连接查询SQL语句
Oracle DBA常用语句

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 46 ::
收藏到网摘: 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人小时。