超大型Oracle数据库应用系统的设计

豆豆网   技术应用频道   2007年05月10日  【字号: 收藏本文

本文详细介绍超大型Oracle数据库应用系统的设计

  一、概论

  超大型系统的特点为:

  1.处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB;

  2.系统必须提供实时响应功能,系统需不停机运行,要求系统有很高的可用性及可扩展性。

  为了能达到以上要求,除了需要性能优越的计算机和海量存储设备外,还需要先进的数据库结构设计和优化的应用系统。

  一般的超大型系统采用双机或多机集群系统。下面以数据库采用ORACLE 8.0.6并行服务器为例来谈谈超大型数据库设计方法:

  ·确定系统的ORACLE并行服务器应用划分策略;

  ·数据库物理结构的设计;

  ·系统硬盘的划分及分配;

  ·备份及恢复策略的考虑。

  二、ORACLE并行服务器应用划分策略

  ORACLE并行服务器允许不同节点上的多个INSTANCE实例同时访问一个数据库,以提高系统的可用性、可扩展性及性能。ORACLE并行服务器中的每个INSTANCE实例都可将共享数据库中的表或索引的数据块读入本地的缓冲区中,这就意味着一个数据块可存在于多个INSTANCE实例的SGA区中。那么保持这些缓冲区的数据的一致性就很重要。ORACLE 使用 PCM( Parallel Cache Management) 锁维护缓冲区的一致性,ORACLE同时通过I DLM( 集成的分布式锁管理器)实现PCM 锁,并通过专门的LCK进程实现INSTANCE实例间的数据一致。

  考虑这种情况:INSTANCE1对BLOCK X块修改,这时INSTANCE2对BLOCK X块也需要修改。ORACLE并行服务器利用PCM锁机制,使BLOCK X从INSTANCE 1的SGA区写入数据库数据文件中,又从数据文件中把BLOCK X块读入INSTANCE2的SGA区中。发生这种情况即为一个PING。PING使原来1个MEMORY IO可以完成的工作,变成2个DISK IO和1个 MEMORY IO才能够完成,如果系统中有过多的PING,将大大降低系统的性能。

作者:misslo    责编:豆豆技术应用

正在加载评论...