数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle中并行处理技术原理深入分析1


发布日期:2020年03月09日
 
Oracle中并行处理技术原理深入分析1

并行处理技术是数据库的一项核心技术它使组织能够高效地管理和访问TB级的数据如果不能提供高效的并行处理技术这些大型数据库(通常用于数据仓库但也越来越多地出现在业务系统中)将不会存在

简而言之并行处理就是利用多个CPU和I/O资源来执行单个数据库操作尽管现在每个主要的数据库供应商都声称可以提供并行处理能力但每个供应商所提供的体系结构其实存在关键的差异

本文讨论Oracle i 并行处理的体系结构并说明于在实际应用中其相对于其它体系结构的优越性需要着重指出的是Oraclei并行处理体系结构的主要优点在于它能在任何情况下完全利用底层硬件基础架构——每个处理器单元每个内存字节以及所有可用的I/O带宽本文还讲述Oracle 并行处理组件与其它关键业务组件(例如Oracle RealApplication Cluster)的无缝集成

简介

现在的数据库无论是用于数据仓库操作数据存储(ODS)或OLTP 系统都包含丰富的信息然而由于其中涉及海量数据及时查找和展示信息是一个巨大的挑战并行处理技术能够解决这一挑战使用并行处理技术数分种内(而非数小时或数天)就可以处理数TB级的数据并行处理技术通过利用所有可用的硬件资源取得这样的高性能多个CPU多个I/O通道多个存储阵列和磁盘驱动器以及大量的内存数据库软件越能有效地利用所有这些资源处理查询和其它数据库操作就越有效

此外现在的数据库应用的复杂性大大都增强了不仅需要支持大量并发用户而且需要管理不同类型的用户因此一个并行查询体系结构不仅应该确保底层硬件平台的所有资源都得到充分利用而且应该更进一步将这些资源适当地分配给多个并发请求很显然支持CEO的战略决策的请求比执行批处理报表更加重要并行查询体系结构应该能够处理这些商务要求不仅基于请求自身而且应该基于发出请求的人以及当前可用的系统资源的数量来做出动态的分配

Oraclei 的并行处理体系结构能够全面满足这些要求Oraclei的体系结构不仅提供业界领先的高性能而且是唯一可以自适应和动态调整的

Oraclei 的并行处理体系结构充分利用每种硬件投资――SMP群集或MPP的优势——在任何时间保证最佳的吞吐量和连续的优化的系统使用量

Oraclei 数据库根据可用资源请求优先级和实际系统负载控制来平衡所有并行操作

并行化设计策略——静态与动态

并行处理的思想就是将单个任务分解为多个更小的单元不是通过一个进程完成所有工作而是将任务并行化而使多个进程同时在更小的单元上运行这可以极大地提高性能和最佳地利用系统然而并行处理的最关键部分是如何作出将单个任务分成更小的工作单元的正确决策

典型地有两种方法用于实现数据库系统的并行处理主要区别在于是否需要进行物理数据布局将静态的数据分区作为并行处理的前提

通过物理数据分区的静态并行——不共享

在纯不共享数据库体系结构中必须将数据库文件在多计算机系统的节点上进行分区才能进行并行处理每个节点拥有一个数据子集拥有节点使用单一进程或线程以独占方式执行对此数据子集的所有访问数据访问不能在分区内并行(有时也用术语虚拟处理器来代替节点虚拟处理器是在SMP计算机上模拟不共享节点的一种机制为了简单在讨论不共享体系结构时我们将统一使用节点作为术语)换句话说纯不共享系统使用分区或受限访问方法在多个处理节点间划分工作节点对数据所有权的改变相对少见——为了适应业务需求的改变而进行的数据库重组添加或删除节点以及节点故障是所有权更改的典型原因这种数据所有权的改变对纯不共享系统而言总是意味着要进行人工管理

上一篇:讲解Oracle数据库B-tree索引

下一篇:Oracle误删恢复