Oracle 数据库中并行处理技术剖析
并行处理技术是数据库的一项核心技术,它使组织能够高效地管理和访问 TB 级的数
据。如果不能提供高效的并行处理技术,这些大型数据库(通常用于数据仓库但也越来越
多地出现在业务系统中)将不会存在。
简而言之,并行处理就是利用多个 CPU 和 I/O 资源来执行单个数据库操作。尽管现在
每个主要的数据库供应商都声称可以提供并行处理能力,但每个供应商所提供的体系结构
其实存在关键的差异。
本文讨论 Oracle 9i 并行处理的体系结构,并说明于在实际应用中其相对于其它体系
结构的优越性。需要着重指出的是,Oracle9i 并行处理体系结构的主要优点在于它能在
任何情况下完全利用底层硬件基础架构——每个处理器单元、每个内存字节以及所有可用
的 I/O 带宽。本白皮书还讲述 Oracle 并行处理组件与其它关键业务组件(例如:Oracle
RealApplication Cluster)的无缝集成。
简介
现在的数据库,无论是用于数据仓库、操作数据存储(ODS)或 OLTP 系统,都包含丰
富的信息。然而,由于其中涉及海量数据,及时查找和展示信息是一个巨大的挑战。并行
处理技术能够解决这一挑战。使用并行处理技术,数分种内 (而非数小时或数天)就可以
处理数 TB 级的数据。并行处理技术通过利用所有可用的硬件资源取得这样的高性能:多
个 CPU、多个 I/O 通道、多个存储阵列和 磁盘驱动器,以及大量的内存。数据库软件越能
有效地利用所有这些资源,处理查询和其它数据库操作就越有效。
此外,现在的数据库应用的复杂性大大都增强了,不仅需要支持大量并发用户,而且
需 要管理不同类型的用户。因此,一个并行查询体系结构不仅应该确保底层硬件平台的所
有资源都得到充分利用,而且应该更进一步,将这些资源适当地分配给多个并 发请求。很
显然,支持 CEO 的战略决策的请求比执行批处理报表更加重要,并行查询体系结构应该能
够处理这些商务要求:不仅基于请求自身,而且应该基于发出 请求的人以及当前可用的系
统资源的数量来做出动态的分配。
Oracle9i 的并行处理体系结构能够全面满足这些要求,Oracle9i 的体系结构不仅提
供业界领先的高性能,而且是唯一可以自适应和动态调整的。
Oracle9i 的并行处理体系结构充分利用每种硬件投资――SMP、群集或 MPP 的优势
——在任何时间保证最佳的吞吐量和连续的、优化的系统使用量。
Oracle9i 数据库根据可用资源、请求优先级和实际系统负载控制来平衡所有并行操
作。
并行化设计策略——静态与动态
并行处理的思想就是将单个任务分解为多个更小的单元。不是通过一个进程完成所有
工作,而是将任务并行化而使多个进程同时在更小的单元上运行。这可以极大地提高性能