跨库多维分析后台的实现

可阅读原文:http://c.raqsoft.com.cn/article/1535601728534?r=alice

问题的提出

 

        多维分析(BI)系统后台数据常常可能来自多个数据库,这时就会出现跨库取数计算的问题。

例如:从性能和成本考虑,往往会限制生产库的容量,同时将历史数据分库存放,由ETL定期把生产库中新产生的数据同步到历史库中,同步周期根据数据的生成量,可能是1天、一周或者一个月。如果多维分析系统仅仅连上历史库取数,那么用户就只能对历史数据做分析,也就是实现T+1、T+7、T+30的多维分析。如果想要实现T+0的实时分析,就要从生产库和历史库分别取得数据进行计算并最终合并结果。很多时候,生产库和历史库还是异构的数据库,很难直接做跨库混合运算。

即使不是T+0场景,历史数据量很大时也可能分成多个数据库存储,而且也会是是异构数据库的情况。这时,多维分析系统也需要从多个不同数据仓库中取数、计算、合并结果展现。

解决思路与过程

作为数据计算中间件(DCM),构建数据前置层是集算器的重要应用模式。集算器具备可编程网关机制,可以同时连上多个数据库取数,并将结果合并提交给前台展现。

                                              undefined

       

案例场景说明

在下面的案例中,多维分析系统要针对订单数据做自助分析。为了简化起见,我们采用了以下模拟环境:

l   多维分析系统前台用tomcat服务器中的jdbc.jsp进行模拟。Tomcat安装在windows操作系统的C:\tomcat6。

l   集算器JDBC集成在多维分析应用中。jdbc.jsp模仿多维分析应用系统,产生符合集算器规范的SQL,通过集算器JDBC提交给集算器SPL脚本处理。

l   多维分析系统的数据一部分来自于生产数据库(Oracle数据库) demo中的ORDERS表,另一部分来自历史库(Mysql数据库)test。当天数据连接生产库取数,实现实时分析。

l   ETL过程每天将当天的最新数据同步到历史库中。日期以订购日期ORDERDATE为准,假设当前的日期是2015-07-18。ORDERDATE的开始和结束日期是多方位分析的必选条件。

案例中包含生产库和1个历史库,实际上集算器也支持一个生产库和同时多个历史库,或者没有生产库但有多个历史库的情况。

 

后台数据脚本处理阅读原文:http://c.raqsoft.com.cn/article/1535601728534?r=alice

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值