Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Database/JDBC/SQL/JDO/Hibernate » Oracle  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 [转]增强oracle可扩展性的技术 [精华]
C



发贴: 0
积分: 0
于 2002-08-24 03:29 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
作者: BUILDER.COM

建立一个执行速率可以达到每秒钟一千次的可扩展性的Oracle体系,即使对于那些经验丰富的Oracle设计师也是一项挑战。当然,增强硬件可能会使成本很高,因此,我们得把这方面的侧重点降低,而把增强处理的能力放在重点。下面我们会介绍一些小技巧来提升Oracle的系统可扩展性。

安装Oracle多线程的服务器
通过使用多线程服务器,Oracle数据库就可以利用其内部自带的一种叫 large pool的内部存储器了。large pool是一个在Oracle全球系统领域(SGA)的RAM域,他执行Oracle多线程服务器的连接并且也能够保存Java虚拟机(JVM)。多线程服务器也允许成千的终端用户及时收到响应。每一个Oracle数据库可以产生许多子任务来高度的处理大量的接入请求。

利用大量的随机数据缓冲
很多Oracle8i和Oracle9i数据库利用超大缓存来存储大量的数据信息。其目标是尽可能地使磁盘输入输出流(I/O)达到最小化。在Oracle的新特点下,数据缓存从10GB增长到50GB乃至于更多,高效地从Web服务器上存储最重要最频繁的信息已经不是一件希奇的事情了。用这种方法,Oracle数据库不需要再去处理那些不必要的I/O了,并且引入的Internet要求在内存中对信息作简单的处理并传递到Oracle数据缓存器中,然后通过Web服务器,最后通过Internet返回原始位置。

加强信息的总计
任何Oracle 的电子商务系统都必须用一种叫做物化浏览器(materialized views)的Oracle工具来汇总信息。在物化浏览器的帮助下,预先计算信息总量并把它存储在介质中,这一点可以从Oracle SQL中很明显地表现出来。无论什么时候,一个引入的请求要申请一个估算集合,Oracle向估算集合中改写询问来代替信息的重新计算。这样给电子商务系统提供了一个非常理想而稳固的集合容量。

在Oracle 数据库里存储复杂的对象
很多高容量的Oracle数据库驱动电子商务系统在预先存储的Oracle大量数据类型中去选择其中的一个预先格式化的HTML文档,这个文档支持复杂的对象。这些数据类型包括复杂字符型(CLOBS)。Oracle取得这些复杂对象并把他们存储起来或者需要在Oracle数据文件里脱机或者用文件连接进行脱机。通过利用这些技术,Web服务器省去了对整个要输出的从终端用户发出的HTML的繁琐的定义。预先格式化的HTML使得从Oracle数据缓存到Web服务器缓存器的各种变量参数化。当引入的数据请求明确的HTML时,符号的替换在Web服务器上的HTML译本缓存器中发挥作用并且一个完整的Oracle数据的HTML页被包含的HTML是通过Internet被运载回来的。

通过复制获得客测量性
在Oracle9i中,Oracle引入了真实的应用程序组(RACs)。当我提到的一篇更早的文章,RACs提供了一个高利用性的体系结构并且可以高速运行,但是成本相当昂贵。许多公司用Oracle数据库采用了下述方法:

交叉数据库连接方法——所有的Oracle数据库都有一定的存储程序的逻辑性,当一些操作被运行的时候,这些逻辑性交叉移入所有数据库。在每一个存储程序中,分布的事务被建立,以便事务通过一个双向处理,自动地传递到所有的复制数据库中进行事务处理。更新材料作为双向事务处理确保了所有数据库或被更新或作为一个简单的个体重新被放到数据库中。
通过重做日志复制——重写日志复制从软件引入到他们的系列产品以后已经日益流行了。系列产品直接从Oracle的日志缓存读取并且建立SQL声明,这些声明立刻被供给所有的复制系统。当该产品可靠的工作,Oracle Crop.将会使该产品不再被Oracle正式的支持,因为在日后的释放中Oracle存储要决定改变怎样的信息结构被存储在日志缓存器的随机存储器中。而且,后来,在2001年发放的Oracle9i的逻辑数据库是这个概念得到了规范,而且现在在Oracle9i中,客户能够安心地通过重做日志复制来保存大量数据库的适时同步性。
建立可升级Oracle体系结构
虽然许多大公司为了可测试性正在收购Oracle9i工具,一些公司还通过一些创建一个客户化的复制的体系结构来选择可测试性。通过拥有Oracle数据库得多重拷贝,请求服务器能够直接引入数据请求来复制系统,加倍数据备份的吞吐量。

这些技术虽然都在不同时期内进行着不同的变化,但是许多体系结构都是依据下属方法进行的:

把所有的SQL放到存储程序中——这个技术压缩了逻辑的过程,并把它存储在数据引擎里。
为了更新数据资料反复的建立数据库连接——这种方法允许所有的数据库在传播的数据库备份之间更新数据资料。存储的进程访问两个数据库作为一个双向处理,确保所有的复制数据库保持同步(见图一)。
增加复制数据库来增加系统的负载量——通过认真的跟踪Oracle的负载,你可以增加信的数据库复制,以确保终端用户可以享受到更快的响应时间。


结束语
其实在这篇文章中还有很多东西要补充。在充分利用Oracle数据库的复制到可升级的体系结构下可以允许Oracle体系去处理所有系统的升级。通过利用Oracle的优点调整像多线程服务器这样的部件,Oracle9i大目标和物化的观点,你可以确保你的系统将提供足够的响应时间和可信性极高的可靠度。


九佰 edited on 2003-07-25 17:49



flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923