第一章
informix动态可伸缩体系结构dsa
(dynamic scalability architecture)
一、关系型数据库(relational database)系统体系结构
目前比较流行的商用关系型数据库多采用一下三种体系结构:
1、一请求一服务体系结构
采用对于每一数据库服务请求,数据库系统将为之分配一个数据库服务进程服务的方式。
优点:可以充分隔离不同用户的数据库服务,并且可以比较容易发挥采用smp体系结构的机器的资源。
缺点:系统内存资源、cpu资源消耗大;由于使用操作系统的进程调度,系统运行效率不高。
2、多线索体系结构
优点:不需要频繁的操作系统的进程切换,节约内存、cpu资源;系统并行运行程度高,运行效率高。
缺点:系统比较脆弱,一个线索的误操作,可能导致系统瘫痪;数据库自己的线索切换较操作系统的切换简单;大数据量的操作可能引起系统资源的不均衡分布。
3、混合体系结构
该系统由(1)多线索的网络监听器(2)任务分发器,包括请求/响应队列(3)可重用数据库服务器组成。
优点:任务处理采用并行和排队的方式,系统运行效率高。
缺点:负载均衡较简单。
二、ids系统组成
ids(informix dynamic server)数据库系统由一下部分组成:
1、共享内存部分
共享内存部分包括:长驻内存部分、虚拟内存部分、消息区。
(1)长驻内存部分主要是用于磁盘数据在内存的缓冲、系统数据等等(bufffers,physical/logical buffers,lrus,chunks,dbsapces,users,locks…)。
(2)虚拟内存部分主要用于vp的管理信息和缓冲区。(global pool,dictionary pools,procedure pools,sort pools,session pools,big buffer pools,mt pools)。虚拟内存部分在使用过程中可以动态增长,增长大小在配置文件中定义。
(3)消息区主要用于应用(client)和数据库引擎(server)之间的信息交换。
2、磁盘数据空间部分
3、数据库引擎-虚拟处理器vp(virtual processors)
三、ids多线索体系结构
online7.0改变了online5.0中一对一的客户/服务器模式:由原来的一个数据库请求启动一sqplexec数据库引擎服务的client/server方式转变为对于所有数据库请求由多个数量固定(除非动态调整)的数据库引擎(即vp虚拟处理器)服务的方式。online7.0把数据库引擎按功能划分为多个vp,这些vp是长驻内存的oninit进程。对于每一个数据库服务请求都将被分割成多个可并行的线索,由不同vp并行服务。线索(thread)可以定义为一段顺序执行的程序。虚拟处理器vp可以定义为完成一定义数据库服务功能的数据库进程。vp包括一下类型:cpu,pio(负责写物理日志),lio(负责写逻辑日志),aio(负责磁盘i/o)等等。线索运行在vp上,线索的调度由cpu vp完成。从这一点来看,vp类似于硬件上的cpu,线索类似与运行其上的进程。多线索体系结构的优点:
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器