《基于数据块顺序读取和VPD的伪并行数据提取方法的研究与应用》.docVIP

  • 3
  • 0
  • 约2.22万字
  • 约 20页
  • 2016-12-11 发布于贵州
  • 举报

《基于数据块顺序读取和VPD的伪并行数据提取方法的研究与应用》.doc

基于数据块顺序读取和VPD的 伪并行数据提取方法研究与应用 目 录 目 录 2 摘 要 3 (一) 并行执行特性 4 1.1 并行执行特性的概念 4 1.2 并行执行的优缺点 5 1.3 并行执行在数据转换过程中的应用 6 (二) 伪并行的实现方案 6 2.1 什么是伪并行 6 2.2 伪并行的实现 7 1) 任务分解功能 7 2) 任务管理功能 9 3) 任务执行控制 9 (三) 伪并行的实际应用 11 (四) 伪并行的优点和局限性 12 附 录 13 摘 要 在多年的数据转换工作过程中,接触过很多大型业务系统大数据量的迁移的任务,业务系统切换过程中对数据的及时性和准确性一直是工作过程中的一个重点。本文从理论和实际操作的角度阐述了Oracle数据库并发特性的优缺点,并根据Oracle数据库的ROWID特性以及VPD(Virtual Private Database 虚拟专用数据库)特性和SCHEDULE/JOB特性,提出了一种虚拟并行的数据读取方案,为大数据量读取提供了一种全新的可靠读取方案,该方案对于跨系统数据迁移过程中实施数据转换的操作而言,具有更好的指导意义。 关键词:数据块、顺序读取、ROWID、VPD、JOB、SCHEDULE、数据转换 并行执行特性 并行执行特性的概念 并行执行(parallel execution)最早于1994年在Oracle 7.1.6中引入,是Oracle企业版才有的特性,目前已经成为Oracle数据库的标准特性之一。所谓并行执行,是指能够将一个大型串行任务(任何DML,或者一般的DDL)物理地划分为多个较小的部分,这些较小的部分可以同时得到处理。Oracle中的并行执行正是模拟了我们在实际生活中经常见到的并发处理。你可能很少看到一个人单枪匹马地盖房子;更常见的是由多个团队并发地工作,迅速地建成房屋。采用这种方式,某些操作可以划分为较小的任务,从而并发地执行。例如,铺设管线和电路配线就可以同时进行,很多工人共同完成一面墙壁的垒砌,多台水泥车同时完成搅拌和运输工作,通过这些共同的协作,减少整个工作所需要的总时间。 对于并行的任务执行过程,我们可以使用下面一个例子来了解一下: 执行过程如下图所示: 如果使用了并发特性,假设在2并发的条件下: 这个时候SQL的执行过程如下: 我们可以看到,系统分配的进程和资源增加了,并且,内部的一些机制保证了输出结果的准确性。 并行执行的优缺点 并行执行可能很神奇。一个过程原本需要执行数小时或者数天,通过使用并行执行,可能几分钟内就可以完成。将一个大问题分解为小部分,这在有些情况下可以显著地减少处理时间。不过,再考虑使用并行特性执行任务时,要记住一个基本概念,这可能很有用。Jonathan Lewis所著的Practical Oracle8i: Building Efficient Databases(Addison-Wesley, 2001)由这样一句话,尽管很简短,但它对这个概念做了很好的总结: “并行查询(PARALLEL QUERY)选项本质上是不可扩缩的。” 并行执行本质上是一个不可扩缩的解决方案,设计为允许单个用户或特定SQL语句占用数据库的所有资源。如果某个特性允许一个人使用所有可用的资源,倘若再允许两个人使用这个特性,就会遇到明显的竞争问题。随着系统上并发用户数的增加,要应付这些并发用户,系统上的资源(内存、CPU和I/O)开始表现出有些勉为其难,此时能不能部署并行操作就有疑问了。例如,如果你有一台4CPU的主机,平均有64个用户同时执行查询,那你很可能不希望并行执行他们的操作。如果允许每个用户执行一个“并行度为2”的查询,这就会在一台仅有4个CPU的主机上发生128个并发操作。即使并行执行之前这台机器原本不算疲于奔命,现在也很可能难逃此劫。 简单地说,并行执行也可能是一个很糟糕的想法。在许多情况下,应用并行处理后,可能只会带来资源占用的增加,因为并行执行试图使用所有可用的资源。在一个系统(如一个OLTP系统)中,如果资源必须由多个并发事务所共享,你就会观察到,并行执行可能导致响应时间增加。Oracle会避开某些在串行执行计划中能高效使用的执行技术,而采用诸如全面扫描等执行路径,希望能把较大的批量操作划分为多个部分,并且并行地完成这些部分,从而能优于串行计划。但是如果并行执行应用不当,不仅不能解决性能问题,反而会成为性能问题的根源。 所以,在应用并行执行之前,需要保证以下两点成立: 必须有一个非常大的任务,如对20GB数据进行全面扫描。 必须有足够的可用资源。在并行全面扫描20GB数据之前,你要确保有足够的空

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档