您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > INFORMIX系统管理员培训教材
1、INFORMIX系统总体结构介绍1.1INFORMIX数据库简介作为一个先进的关系数据库管理系统(RDBMS),与其先进的体系结构是分不开的,尤其是系统的DSA(DynamicScalableArchitecture,动态可伸缩体系结构),做得了系统核心的并发处理,能充分利用硬件的性能并具有极大的可伸缩性。1.2INFORMIX系统结构INFORMIX系统结构可以分成为三个部分:虚拟处理器,共享内存,磁盘空间。INFORMIX数据库服务器进程被称为虚拟处理器,就象一个CPU运行多个进程来为多个用户服务一样,一个INFORMIX虚拟处理器运行多个线索来为多个SQL客户应用服务。INFORMIX7.1版本以上动态服务器采用了一种先进的RDBMS结构,INFORMIX称其为动态可伸缩体系结构(DSA)。动态可伸缩体系结构的核心组成部分是被称为虚拟处理器的服务器进程。共享内存是UNIX操作系统下的一种进程通讯的机制,其实质是为多个用户进程共同使用的内存段,进程间的协调、通讯和资料共享及缓冲可以借助它来完成。INFORMIX共享内存的使用大大减少了磁盘I/O的次数以及数据库操作的时间。磁盘部分是一块或多块由INFORMIX管理的磁盘空间,所有数据库中的资料和支撑INFORMIX系统的系统信息都存储在磁盘部分。INFORMIX可以使用UNIX操作系统下已加工的文件,也可以使用原始的磁盘设备(即裸设备)来作为自己的资料存储空间。因UNIX操作系统对文件系统的管理采用定位寻址的方法,一个文件所在的空间并不意味着一定是相对连续的磁盘空间。而在原始磁盘设备上创建的资料存储系统能够实现连续的磁盘空间存储。并且原始磁盘资料存储可以完成直接存储访问(DMA),DMA可以直接从共享内存获取资料。1.3INFORMIX系统特性1.3.1动态可伸缩体系结构动态可伸缩体系结构(DSA)的核心部分是数据库服务进程,他们被称为虚拟处理器(VIRTUALPROCESS,VP),在UNIX系统下,这些进程是oninit。每个虚拟处理器分属于不同的虚拟处理器组,一个虚拟处理器组负责特定的系列任务进程。Oninit既负责管理数据库本身,又是用户操作数据库的引擎。多个用户共同使用这些服务器进程,因此当用户数目增加时,需较少的数据库服务器资源就可以满足用户的请求。而虚拟处理器的资料可以在联机的方式下动态的增加。所谓并发多线索(MCT)技术,是指客户的请求可以产生多个线索,由数据库服务器进程直接调度并发执行。数据库服务器实际是一个虚拟的处理器池,由不同的类别VP组成线索调度器,提供比操作系统更为智能的调度能力;当一个线索在等待时,其上的VP可以去执行另一个线索。正是一个VP可以响应多个客户的请求,使得能够以少量的UNIX进程来管理大量的用户,这样就明显的请求数据库服务器的UNIX进程数目及上下文切换的次数,由于线索之间的上下文切换比进程之间的切换有效得多,从而最大限度地绕过了操作系统地限制,减少了操作系统的负担,从而实现了动态的负载平衡。1.3.2共享内存管理所有使用同一个数据库服务实例的应用都能共享数据库服务器内存空间的资料,当一个应用从一个表中读取资料后,其它的应用可以访问任何已在内存中的资料,这样磁盘访问以及相应的性能都有很大的提高。且INFORMIX7.1版本以上可以在需要的时候动态的增加共享内存段。1.3.3多线索、多进程能力多线索是通过以一种称为线索的轻巧的机制来对用户的需求进行管理实现的,这样的机制称为线索,线索是通过数据库进程的池(数据库进程称为虚处理器,VP)来规划和处理的。INFORMIX给予一种独特的能力,使您能够动态地调谐VP,也可以通过将大任务划分为子任务来加快处理。INFORMIX使用VP来管理活动的线索,并高效地进行线索切换。线索产生、排队、然后由第一可用的VP为其服务以保证高效的硬件使用和无瓶颈。INFORMIX的VP设计成具有内部的智能,可以高效地协调多个并发线索。当一条线索正在等待资源时,VP能够为另一条线索工作。通过提供这种灵活性,INFORMIX允许少量UNIX进程管理大量的用户,因为一个VP可响应多个用户的要求。尽管可能产生多个VP用于响应用户的要求,但用户看到的只是一个数据库服务器。不仅一个VP能够响应多个用户的请求,一个用户请求也可由多个虚处理器来服务;例如,对于一个处理密集型的多表连接,数据库把这个任务分成多个数据库子任务,并把这些子任务放到所有可用虚处理器同时进行处理。由于把任务分到多个VP并行处理,INFORMIX有效地减少处理一个用户请求的时间。1.3.4支持对称多处理(SMP)DSA经过完全改写的目的在于充分发挥对称多处理器(SMP)和单处理器结构的能力,以提供在数据库可伸缩性、可管理性和性能等方向的突破。INFORMIX最佳地利用了多线索、多进程、共享内存的对称多处理器(SMP)环境。其核心内部采用了虚拟处理器,使其体系结构与对称多处理器的体系结构自然匹配。进入90年代,只有INFORMIX重新设计了其产品独特的体系结构(即DSA),其目的在于充分利用90年代的多CPU、多磁盘的硬件系统。尤其是,INFORMIX数据库无论运行在简单的单处理器系统,还是运行在巨型的大规模并行系统,都是基于一个相同的基本体系结构。因此,INFORMIX具有最好的SMP及MPP的支持能力和伸缩力,这是其它数据库所无法比拟的。1.3.5并行索引INFORMIX能够并行建立索引。象数据库表一样,也可将索引分片,并存放在不同的磁盘上,以提供最大性能。1.3.6并行装载INFORMIX提供并行插入数据库表的功能。INFORMIX通过提供并行批量装载程序,以完善并行插入功能。其目标是为了满足资料仓库中大量资料需要在短时间内插入到数据库的应用需求。1.3.7并行排序排序是建立索引、排序、合并连接、SQL中的ORDERBY查询等常用的数据库操作所需的基本活动。排序速度的提高将对许多应用程序的性能提高发挥作用。按邮政编码去排序一个长长的邮递清单,或按生产成本将一个长长的零件号码清单重新排序,这都是典型的能够从并行排序直接得到好处的任务。INFORMIX提供并行排序的实用程序。根据系统性能需求,排序线索的数目可配置和调节,从而大大地提高了系统的运行效率。另外,INFORMIX提供的并行查询将一个任务清单分解为多个段,并将每一段送到一个处理器上去处理,使得处理速度得到进一步提高。实际上,排序操作的速度受表中扫描资料所需时间的限制。这一限制由于PDQ(并行数据库查询)并行扫描功能的提供,使处理速度又大大加快了。基于以上几点,INFORMIX的排序效率是其它数据库管理系统所无法比拟的。1.3.8并行扫描在当今大多数的应用中,当在大型数据库上工作时,报表、连接、索引建立都需要很长的扫描操作。INFORMIX的并行查询(PDQ)技术大大缩减了扫描时间。表分割的能力将表分成几个小的逻辑片段,并将它们分布到几个硬盘上,于是多个处理器可以并行地扫描这些磁盘,从而获得性能的成倍增长。对于顺序表或索引扫描,可以动态的将INFORMIX设置成提前读方式。这样,在当前页正被处理时,可异步地提前读入若干页。这样的结果,应用系统花在等待磁盘完成存取操作上的时候减少了,系统就可以维持较大的吞吐量。1.3.9并行连接复杂的查询通常需要从两个或更多个表中检索资料,然后将两个表中的记录进行匹配,并将结果返回给请求者。这一任务称作连接。DSA采用先进的算法,让多个处理器去扫描资料,然后并行地连接几个片段,从而使连接操作并行地执行1.3.10并行聚合复杂查询可能经常需要资料的总和或聚合。由于INFORMIX具有许多并行处理的能力,包括GROUPBY命令,SUM,AVERAGE,MIN,MAX等聚合函数,因此,复杂的查询操作执行起来要快得多。1.3.11并行的资料查询随着硬件发展到对称多处理器、松耦合的群集机、以及大规模并行处理器结构,DSA中的PDQ技术将充分利用底层CPU的优势,以比以往的数据库体系快若干倍的速度去执行任务。在某些情况下,原来需要数小时的查询可以在数分钟内完成。这种性能上的收益适用于所有那些需要排序、扫描大量资料,进行表连接和执行聚合运算的复杂的数据库操作,尤其是批作业操作。INFORMIX提供了强有力的嵌套式SQL查询能力,用户可以使用第三代语言C、COBOL,FORTRAN等,嵌入SQL语言进行资料的插入、更新和删除的操作。这些工作都是由INFORMIX引擎提供的并行处理技术完成的。1.3.12并行备份INFORMIX在多设备可用的情况下,提供了将系统备份到第二处设备的方法(例如磁带、硬盘),大大降低了备份的时间。1.3.13并行恢复INFORMIX用Onarchive并行恢复物理和逻辑系统。如果可用多个磁带机,恢复时间将大大降低。对于非正常退出的情况,INFORMIX会立即进行快速恢复。快速恢复可使用户在存取资料前,依照逻辑日志文件检查事务完成情况,并对未完事务回滚保证资料一致性。1.3.14资料分割能力(平行并行)在水平并行方面,INFORMIX支持基于数据库表分割的并行处理。并且是目前唯一的在数据库服务器核心内部提供基于表分割的并行处理的厂商。INFORMIX并行的数据库表分割是将一个大的数据库表分散在多个物理设备上。并行优化算法能够利用这种分片调度多个线索并行查询各设备上的资料,或根据查询条件排除和跳过不符合条件的分区或设备。INFORMIX提供四种形式的资料分割手段:a.byHash――按散列函数进行数据分割b.byRange――按指定范围进行资料分割c.byExpresion――根据条件表达式和键值范围进行资料分割d.byRound-Robin――轮流将资料分配到不同的分区通过对数据库表的分割,能够在原有的基础上进一步提高并行处理的效果。2、INFORMIX数据库进程2.1虚拟处理器与线索前面讲到INFORMIX数据库服务器进程被称作为“虚拟处理器”。一个虚拟处理器可以为多个用户请求服务,同时一个用户请求可以有多虚拟处理器来响应。一个线索可以理解为一系列在程序中执行的指定。当多个线索在同一个进程中运行时,这就是“多线索”,利用多线索技术,一个进程就可以为多个用户交互服务,而不用在操作系统级别上构造多个进程实例。由于线索对操作系统请求的资源较少,因而有些地方称其为“轻量级进程”或“线程”。INFROMIX虚拟处理器运行多个并行线索(MCT),因此是多线索进程。因其执行多线程线索处理完全是在用户级别上的,而不在UNIX核心级别上,这样的进程就像其它的进程一样是单个的进程。在用ps-ef查看时,它的名字是oninit。2.2虚拟处理器类型虚拟处理器根据它们所做处理的类型分为不同的类,每一类虚拟处理器用来处理某些特定类型的线索:虚拟处理器类型类别作用CPU运行所有的会话线索和一些系统线索PIO磁盘I/O运行写物理日志的内部线索LIO磁盘I/O运行写逻辑日志的内部线索AIO磁盘I/O运行除写日志之外的所有磁盘I/OSHM网络运行内部共享内存通讯线索TLI网络使用TLI(传输层接口)进行网络通讯SOC网络使用SOC(套接字接口)进行网络通讯OPT光盘执行对光盘的I/OADM管理执行管理功能(运行时钟)ADT审计运行安全审计的线索MSC多方面运行其它多方面任务线索2.3虚拟处理器运行线索的机制在某一时刻,一个虚拟处理器只能运行一个线索,正象操作系统靠进程间的切换来运行多个进程一样,一个虚拟处理器通过多个线索间的切换来同时为多个线索服务,通过连续的线索间的频繁切换,虚拟处理器保持CPU的连续处理,由于处理发生的速度很快,在效果上看起来是虚拟处理器同时处理多个子任务。运行多个并发线索需要调度和协调以防止一个线索受另一个线索的干扰,INFORMIX虚拟处理器使用以下五种结构和方法来协调多个线索的并行处理:a.控制结构当一客户与INFORMIX连接时,INFORMIX建立一个会话结构,叫做会话控制块,用于存放有关连接和用户信息。然后,INFORMIX为这个会话建立一
本文标题:INFORMIX系统管理员培训教材
链接地址:https://www.777doc.com/doc-2878812 .html