ibm决策支持系统(dss)应用程序处理

ibm决策支持系统(dss)应用程序处理

ID:6321684

大小:61.50 KB

页数:10页

时间:2018-01-10

ibm决策支持系统(dss)应用程序处理_第1页
ibm决策支持系统(dss)应用程序处理_第2页
ibm决策支持系统(dss)应用程序处理_第3页
ibm决策支持系统(dss)应用程序处理_第4页
ibm决策支持系统(dss)应用程序处理_第5页
资源描述:

《ibm决策支持系统(dss)应用程序处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、IBM决策支持系统(DSS)应用程序处理JackParkerArtenTechnologyGroup2002年4月随着相对较新的决策支持系统(DSS)在UNIX®/RDBMS领域中的出现,数据库专业人士面临着数十年来大型机编程员一直在解决的问题。我们编写OLTP应用程序已经有很长时间了,以致于我们在进入DSS领域时头脑里还保留着OLTP的那种思维方式和方法。这对于硬件和数据库“不公平”,因为它们有能力把事情做得好得多。在OLTP领域中,我们可能会关心单个用户输入客户订单。我们想确保产品表、订单表以及可能的库存和客户表都

2、被一致更新。如果产品表更新失败,那么只更新订单表以反映产品价格对我们没有任何好处。我们能够知道客户订购了5.00美元的商品,但我们不知道是什么货。为了保证正确处理这些更新,我们使用事务来确保一致地执行(或不执行)所有操作。因此我们要特别在意事务日志,以便我们可以重做或撤销工作。我们的数据库软件有专用于支持这种处理方法的完整开销层。我们的思考模式也局限于“事务性方法”。在DSS领域中,我们需要对大量数据执行操作。我们不需要个别用户针对单独行或行集合发出更新操作,而是执行数百万次的插入或更新,或者是甚至几百万次的删除。如果

3、我们在DSS领域中使用事务性方法,那么我们就会作茧自缚。本文中介绍的技术的最初测试是在带有16个处理器、RAM为16GB以及磁盘为1.2TB的Sun6500上完成的。最后测试是在RAM为500MB和磁盘为40GB的Sony133MhzPentiumII上完成的。有趣的是,在排除规模因素后,这两台机器的运行情况类似。读者将在本文中找到有关对记时采用外推法的相应参考资料。可以用算术方法得出这些值,这些值反映了这两台机器的性能。示例1:DSS插入在最近的一个案例中,我处理了一个用新数据装入10亿行表的过程:插入。由于不希望有

4、重复数据,开发人员对该表附上了一个唯一性索引,并以高级方式(在这种方式中,装入的行遵守所有验证标准)使用IBMInformix(R)ExtendedParallelServer(TM)(XPS)并行装入器来拒绝重复。装入过程大约以每小时装入1百万行的速度运行。当过程在每个月要插入1千多万行时,逻辑日志将溢出并且引擎开始回滚所有插入操作。因为回滚花费在撤销操作上的时间远比原始操作多,所以这意味着回滚要花费另外的20至30小时。换言之,如果该过程失败,将有30到40个小时专门花费在这上面。为什么该方法无效为了理解为什么该方

5、法很糟,让我们仔细研究一下引擎做些什么:1.装入器从输入文件(或多个文件)读取记录。1.记录被转换成内部格式(现在我们称之为行)。2.执行索引查找操作,以查看该行的索引是否已经存在。因为这是一个大型表而且索引的深度为6级,所以这可能意味着每个索引查找操作要读6次。3.如果未找到索引,则该行被附加到一个有空间的页面上;因此该页面被读取(或者仍可以驻留在上一次插入的缓冲区中)。4.这也许意味着对该表分配更多的数据块。5.该页面“以前的”映象保留在物理日志中(在任何更改之前)6.插入被记录在事务日志中。7.通过检查点或者通过

6、前台写操作,定期将这些数据页面存储到磁盘上。在数据极少的开发环境中,该过程决不会使日志溢出,索引查找操作将快很多而且要插入的行数会比较少。整个过程可能运行20到30分钟,这是完全可以接受的。直到我们碰到大型表时,才会开始有麻烦。在事务性方法中,我们想将最新读写的数据保留在缓冲区中,这样不仅可以把写操作组合在一起,从而使写操作更有效,而且被请求的数据通常在该缓冲区中。至此,我们将大量内存分配给这些缓冲区,我们担心最近最少使用(LRU)队列来管理它们。我们正在探索使缓冲区读命中率大于90%,使高速缓存写比率高于80%。当我

7、们处理一个很小的行集合时,这很有效;然而,这产生了一层开销,当处理大量行时,开销会使速度慢下来。这层开销有时被称为“缓冲区墙”。避免“缓冲区墙”:轻型扫描和轻型添加插入的选通因素是:·我们正设法通过该缓冲区墙插入数据。·我们正在为打算插入的每一行进行索引查找操作。如果我们能够以某种方式使这些操作加速或者避免这些操作,则可以更快地移动数据。幸运的是,有轻型扫描和轻型添加特性。在轻型扫描中,从表读取的数据存储在其自己的专用缓冲池中,根据这个条件,将不需要为进一步的操作保留该数据。有一个内在含意:将读取整个表或者至少表的一整

8、段。使用轻型扫描,引擎不会使缓冲池中填满大型表内容,避免了缓冲区管理的开销。轻型扫描的速度明显快于传统扫描。轻型添加以相似的方式起作用,但它是个逆向操作。它不会试图将数据缓冲到缓冲池中,而是将数据直接写到新的页面。在一次成功的装入操作结束时,新页面被添加到现有表。使用轻型添加,预期可以达到的最低负载率为每小时每个CPU为2GB。为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。