上周在上海的Oracle Developer Day上有人问oracle coherence能否加速j2ee应用的访问速度,在以前的blog中大概提到过,Oracle数据网格解决方案是一个架构级的方案,它大概可以应用在以下四个方面:
1. 数据缓存,说白了就是类似于内存数据库timesten的功能,将原来存储在数据库中的数据通过数据网格缓存在数据网格中,这样当前端应用需要访问数据时可以直接从内存数据网格中获得数据。
2. 并行计算:主要是充分利用数据网格中各个节点的计算能力,当一个前端大的查询计算请求到达,各个节点会在本节点对自己缓存的部分数据进行计算,然后将计算结果返回给发起的节点,该方式主要应用在实时风险控制、欺诈管理等分析应用场景。
3. 极限计算XTP(extreme transaction processing):主要是针对大型的交易型计算,数据网格将数据缓存在内存中,当前端交易进行时,直接从内存获取数据,该方式是第一种方式(数据缓存)的延续。
4. 实时事件处理:如现在通用的WEB2.0,网上游戏等,用户在和网络交互的过程中,存在大量的事件触发,而且网络和客户的状态都随着事件的处理实时改变,此时可以利用数据网格将用户和网络的状态都存储在数据网格中,利用数据网格进行实时事件处理,从而大大增强网站的响应速度和并发能力。
因此从理论上数据网格可以加速现有的JAVA应用,但数据网格更关心的是您的系统可扩展性,举个例子,您现在的单笔交易响应时间可能是1秒钟,利用数据网格技术缓存数据,您的单笔交易可能能达到0.8秒,提升的效率不会特别大,但是在不用网格技术的情况下,当您的系统并发量达到200时,单笔交易响应时间可能会是5秒,500并发时可能会是10秒,1000并发系统就没有响应了。采用数据网格技术以后,它可以保证我们的应用保持良好的扩展性,如并发200时可能响应时间会从1秒增加到2秒,500并发是还是2秒,1000并发时还是2秒。数据网格的原理是无论网格多大,程序从网格中获得数据只需要两步,因此获取数据的时间基本是固定的,其原理类似于oracle数据库的RAC。
无论哪种应用场景,如果您想利用数据网格来加速您的应用,可能都会涉及到对您的应用做一些修改,主要是数据库访问接口。具体的文档请到otn网站查看。http://www.oracle.com/technology/products/coherence
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16312004/viewspace-600389/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16312004/viewspace-600389/