数据库服务器:Oralce数据库中的 专用服务器模式 和 共享服务器模式



  、共享服务器模式

  共享服务器模式也叫做多线程服务器模式在这种模式下Oracle数据库允许多个用户进程共享非常少服务器进程所以可以同时实现用户并发访问人数也就大大增加如果使用专用服务器模式则每个用户连接数据库时每个用户进程需要他自己专用服务器进程也就是说客户端进程和服务器端进程是对应

  而如果采用共享服务器模式则多个用户可以共用个服务器进程也就是说此时客户端进程和服务器进程是多对情况这主要是通过调度来实现调度将多个加入数据库访问会话请求指引到个共用队列服务器进程共享池中某个闲置共享服务器进程依次从队列中获得个请求也就是说个很小服务器进程共享池可以为大量客户机提供服务

  共享服务器优缺点可以利用两句话概括优点是客户端进程多对增加了数据库可以支持用户数缺点就是各个用户共享个进程对用户访问数据库性能有所影响

  具体来说在以下应用情景下可以选择采用共享服务器模式

  1、 前台客户端数量比较多

  当大量用户需要连接到数据库并且需要有效使用可用系统资源时候则需要考虑采用共享服务器模式具体来说像现在采用些客户端/服务器端模式网络应用软件Software如ERP系统等等方面用户人数比较多;另方面企业由于资金有限所以购置服务器这些服务器由于硬件方面些限制如数据库系统和前台应用服务器采用统台服务器所以往往要求数据库能够充分使用硬件资源以减少两者的间冲突

  在这种情况下往往采用共享式服务器模式比较合适

  2、 服务器内存限制比较大

  共享服务器模式下当连接用户增加时其内存使用率增加不会很多他们共享个服务器进程所以从这个角度讲共享服务器模式可以减少内存使用但在专用服务器模式下内存使用几乎和用户数量成比例增加

  所以用户若在些老服务器上部署Oracle数据库其主板对内存升级有所限制所以为了得到个不错数据库性能往往采用共享服务器模式如此即时同时访问数据库用户有所增加其内存也不会有多大影响可以大大降低内存压力

  3、 某些特定功能要求采用共享服务器模式

  虽然说共享服务器模式和专用服务器模式在大部分情况下都是通用支持Oracle数据库系统大部分功能但是些特定功能仍然需要数据库管理员在共享服务器模式下才能够启用比较典型如Oracle数据库服务器连接共享、连接集中和负载均衡技术等等他们必须在共享模式下才能够运行

  负载均衡用来在群集环境下实现多机共享数据库以保证应用高可用性同时可以自动实现并行处理以及均分负载还能够实现数据库在故障时容错和无断点恢复所以些对于性能和稳定性要求比较高应用场景中如银行中往往都会采用负载均衡技术此时数据库管理员在配置数据库时候就需要考虑采用共享服务器模式

   2、专用服务器模式

  在专用服务器模式下数据库服务器要求每个用户拥有个专用服务器进程也就是说每个服务器拥有个服务器进程数据库服务器把现有服务器进程地质发回客户机然后客户机将连接请求重新发送到提供服务器地质和专用服务器比较专用服务器模式由于客户端和服务器端进程是对应所以其性能上可能会比较有优势但是当用户比较多时候则其对服务器硬件资源特别是内存会产生比较大压力

  若企业应用场景符合如下特征则采用专用年服务器模式能够取得比较好效果

  1、 只有少数客户端

  若连接到数据库用户比较少则专用服务器模式是首选如企业前台是个财务管理系统则其使用人数就会比较少其往往只涉及到个部门但是其数据量会比较多我们知道对于每笔交易都需要在财务系统中进行详细纪录所以虽然只是财务个部门用但是其纪录量往往是其他各个部门纪录量总合在纪录量多、连接用户又比较少情况下采用专用服务器模式可以说是比较明智选择



  2、 为数据仓库搭建数据库系统

  数据仓库是数据库技术个非常典型应用他是个面向主体、集成、时变、非易失数据集和是支持管理部门决策过程他跟Oracle数据库都是关系型数据库其中纪录以表格方式存储并且能够用统结构化语言进行数据查询采用数据仓库主要目是为了及时完成业务处理及时给和客户响应

  虽然说关系数据库能够适应大型数据库应用需要但是不能够将其简单堆砌就直接成为数据仓库来使用数据仓库主要用来处理多维数据他存储纪录方式跟普通有所区别数据仓库主要通过方式来存储纪录即没有统规律可循也没有统多维模型可循他只恩能够购按其所属类别进行归类虽然说传统 2维数据库不能够简单堆砌来成为数据仓库但是在设计数据仓库时候并不是说要完全另起炉灶而是可以利用现有Oracle数据库系统来处理数据从中进行信息综合从而构造出满足区别需要数据仓库

  所以如果这个数据库是为了实现数据仓库而搭建则必须要采用专属服务器模式这是Oracle数据库强制要求

  3、 联机事务处理系统

  联机事务处理系统英文简称为OLTP在这种应用下采用什么模式为好呢?这在业界没有统标准联机事务处理系统使用人数比较多应该采用共享连接服务器模式;而有又说联机处理系统对于及时性要求比较高而共享服务器模式可能会有比较长等待时间所以应该采用专用连接服务器模式笔者是比较倾向于后面这种意见

  联机事务处理系统通常来说有比较多长事务和大事务如用户某几个操必须作为个事务处理等观念此时若用户请求数大于共享服务器进程数此时就会发生排队现象假设现在有个共享服务器进程正在执行个长事务那么请求队列就需要直等直道这个事务完成为止若从客户端角度来讲则客户请求响应时间就加长了所以当用户连接请求数比共享进程要多时那么长事务共享连接必将会造成共享进程排队事务越长其排队时间也就越长用户响应时间也就越长如此恶性循环下去很多联机事务作业都会受到区别程度影响所以若联机事务处理系统统是符合两个条件(用户连接请求数大于共享进程并且其事务大部分是长事务或者大事务)则采用专用服务器连接模式比采用共享服务器连接模式效率要高为了保障联机事务处理系统正常运行笔者建议数据库管理员为其配置专用服务器连接模式



  若不符合这两个条件则采用共享连接模式更加合理

Tags:  数据库服务器配置 什么是数据库服务器 数据库服务器地址 数据库服务器

延伸阅读

最新评论

发表评论