跨库多维分析后台的实现 1
可阅读原文:http://c.raqsoft.com.cn/article/1535601728534?r=alice
问题的提出
多维分析(BI)系统后台数据常常可能来自多个数据库,这时就会出现跨库取数计算的问题。
例如:从性能和成本考虑,往往会限制生产库的容量,同时将历史数据分库存放,由ETL定期把生产库中新产生的数据同步到历史库中,同步周期根据数据的生成量,可能是1天、一周或者一个月。如果多维分析系统仅仅连上历史库取数,那么用户就只能对历史数据做分析,也就是实现T+1、T+7、T+30的多维分析。如果想要实现T+0的实时分析,就要从生产库和历史库分别取得数据进行计算并最终合并结果。很多时候,生产库和历史库还是异构的数据库,很难直接做跨库混合运算。
即使不是T+0场景,历史数据量很大时也可能分成多个数据库存储,而且也会是是异构数据库的情况。这时,多维分析系统也需要从多个不同数据仓库中取数、计算、合并结果展现。
解决思路与过程
作为数据计算中间件(DCM),构建数据前置层是集算器的重要应用模式。集算器具备可编程网关机制,可以同时连上多个数据库取数,并将结果合并提交给前台展现。
案例场景说明
在下面的案例中,多维分析系统要针对订单数据做自助分析。为了简化起见,我们采用了以下模拟环境:
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
跨库多维分析后台的实现 1相关推荐
- 跨库多维分析后台的实现
问题的提出 多维分析(BI)系统后台数据常常可能来自多个数据库,这时就会出现跨库取数计算的问题. 例如:从性能和成本考虑,往往会限制生产库的容量,同时将历史数据分库存放,由ETL定期把生产库中新产生的 ...
- 对于ACCESS跨库的一些研究
今天入侵了一个ACCESS的站,思考了一些问题,记性不好,怕忘了,记录一下: 这个站设置很变态,什么都没有,连FSO都删了,好不容易找到一个宝贵的注入,点几经周折进了后台,看到可以更改上传类型,大喜, ...
- 微服务改造中解决跨库问题的思路
今年一直在和团队做微服务的架构改造(相关的一些详情,有兴趣的朋友,可以参见之前的这篇分享).但是做过改造的朋友都知道 从"All-In-One" 到 "Micro-Ser ...
- 查询blob字段_一次注解开发实战-我使用注解对微服务的跨库查询做了封装
背景 在开发过程中,你肯定会遇到这样一个场景: "获取订单列表,需要显示订单id,下单人member_id,下单人姓名member_name.数据库订单表只有member_id字段,memb ...
- Spring-Boot + Atomikos 实现跨库的分布式事务管理
一.何为事务 定义:事务是指多个操作单元组成的合集,多个单元操作是整体不可分割的,要么都操作成功,要么都不成功. 其必须遵循的四个原则(ACID): 原子性(Atomicity -- 美 [ˌætəˈ ...
- lumen mysql 事务_简单几部搞定laravel/lumen跨库操作
1.跨库数据库配置 在网站跟目录下的config文件中增加database.php作为数据库配置文件.配置如下: //当前默认数据库'mysql' => [ 'driver' => 'my ...
- MySQL 跨库分页/ 分表分页/ 跨库分页,为什么这么难?
来源:https://www.cnblogs.com/yjmyzz/p/12149737.html 当业务数据达到一定量级(比如:mysql单表记录量>1千万)后,通常会考虑"分库分表 ...
- EF跨库查询,DataBaseFirst下的解决方案
EF跨库查询,DataBaseFirst下的解决方案 参考文章: (1)EF跨库查询,DataBaseFirst下的解决方案 (2)https://www.cnblogs.com/zyug/p/586 ...
- Oracle 跨库 查询 复制表数据
在目前绝大部分数据库有分布式查询的需要.下面简单的介绍如何在oracle中配置实现跨库访问. 比如现在有2个数据库服务器,安装了2个数据库.数据库server A和B.现在来实现在A库中访问B的数据库 ...
最新文章
- Microsoft PlayReady DRM
- 浅谈Android五大布局——LinearLayout、FrameLayout和AbsoulteLa
- Deep Learning 教程(斯坦福深度学习研究团队)
- 用微信小程序开发的Canvas绘制可配置的转盘抽奖
- SAP的会计凭证类别
- .net2.0 orm_Hibernate 4.3 ORM工具
- 【正在直播】:CSDN直播间专属福利!1399买Airpods Pro
- 13. 在O(1)时间删除链表节点(C++版本)
- JDBC更新10W级以上数据性能优化
- ⚡写一个有发音的背单词软件⚡——四六级必过系列
- 用计算机打出来自天堂的魔鬼抖音,抖音来自天堂的魔鬼卡点视频教程
- PIL获取照片exif 批量修改手机照片名字为拍摄时间
- vue 超出三行隐藏_文字超出三行省略...显示全文
- 【mcuclub】蓝牙模块-ECB02
- Visual Studio 2013如何显示代码行数
- 如何解决HTTP Error 503. The service is unavailable问题
- 艾永亮:戴森,你凭什么卖得这么贵?
- 软件工程技术发展思索
- FreeMind介绍
- 公交车人数统计系统设计
热门文章
- CF 915E. Physical Education Lessons 思维+set维护
- 使循环队列中的元素都能得到利用的算法
- 离线服务器系统补丁如何打,如何给不联网的windows2003打补丁~
- snagit截图工具的官方路径
- 南非世界杯 小组赛 巴西vs葡萄牙
- 亚马逊云科技依托人工智能进行游戏数据分析,解决游戏行业痛点,助力游戏增长
- unity3d学习笔记-光照(5.光照探测器Light Probes)
- Service Locator 模式
- 车牌识别:现代科技的“火眼金睛不”
- 机器人视觉成像主要工作过程