最近几周一直在最做数据集成方面的POC,真正感觉到了金融危机对信息化建设方面的影响。一个客户要求做实时的信贷风险分析,具体要求是当客户办理信贷业务时,首先从业务规则库中将数据模型加载到数据库中,然后再从几个相关数据库加载与客户相关的业务数据,最后根据数据模型对加载的业务数据进行计算,得出风险指数。该项目的限制有两个方面:
1. 原来的系统实时性要求不高,2天出结果就可以,现在要求2小时内必须算出结果。
2. 尽量利用现有的硬件,原则上不购置新的硬件服务器。
其实想一想,这也是目前金融危机条件下大部分客户的现状,,一方面所有的企业都必须勒紧腰带渡过难关。CIO们要求或者被要求降低IT成本。另一方面,IT还必须为帮助高层加强企业监管、控制风险提供必须的底层技术支持,反应在具体技术上就是如何在IT成本限制非常大的情况下建立卓有生效的数据集成系统。
以前去客户的机房,见到很多以前淘汰下来的机器堆在旮旯里,布满了灰尘,如果我们通过某种软件把这些机器组成一个网格,充分发挥各个节点的计算能力,组成一个虚拟的计算平台,其计算能力是完全能够满足当前的实时数据集成需求的,而对这些节点进行管理的软件平台其实就是数据网格的一种实现。
图1:数据网格
数据网格说白了就是通过软件把一大堆服务器组成一个虚拟的并行计算平台,该平台有以下特点:
1. 它可以和各种数据源连接,如数据库、文件、ERP、web服务、JMS等等,并将数据源的数据加载到数据网格中,根据计算的需要将所有的数据存储在网格内的节点上,在极限情况下,可以将所有数据源中的所有数据都加载到数据网格中,这样前端应用访问数据时,可以直接从数据网格取数据,从而避免访问数据源,这样可以节省物理I/O的访问,而且即使数据源出现问题,也不影响前端应用的业务连续性。
2. 数据网格平台的扩展能力很强,数据网格平台应用的一个初衷就是为了应付互联网时代前端用户的不可预测性,当负载增加时,我们可以通过增加节点的方式往数据网格中添加服务器,从而近似线性地增加网格的处理能力。
3. 数据网格采用优化的算法处理并行计算,当一个计算任务到达时,数据网格可以根据数据网格的配置情况将该任务分为N个子任务,分配到各个节点去执行,最大程度地进行并行计算,从而大大提高吞吐量和减少系统响应时间。
图2:数据网格并行计算
实时的数据集成其实主要是两个方面的问题,一是从各种异构数据源取出原始数据,二是根据数据模型对原始数据进行加工计算。记得以前在做数据仓库项目时,数据库厂商做性能测试POC,其实测的无非两个方面:谁的数据仓库磁盘I/O处理的好,谁的数据仓库引擎多线程技术写得好,可以充分利用硬件服务器的计算资源。采用数据网格技术可以做到:
1. 我们将所有的异构数据源的数据事先都加载在数据网格中,这样就避免的数据加载。
2. 数据网格采用并行计算的方式对原始数据进行加工计算,从而大大降低系统的响应时间,虽然淘汰的机器单台处理能力有限,但多台机器一起算,如果调度方法的当,其能力可以做到非常强大。
在当前金融危机IT投资受限的大背景下,我们采用数据网格技术可以充分挖掘企业现有的计算能力,来满足新业务系统的IT需求,当然它只是一种计算技术,对于数据质量的问题(Garbage-In,Garbage-Out),还需要其它的手段加以解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16312004/viewspace-506436/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16312004/viewspace-506436/