两步完成跨库分析,轻松跨越数据鸿沟

168
1

忘记你 初学数据Lv2

发表于2019-6-26 11:13

楼主
本帖最后由 忘记你 于 2019-6-26 11:22 编辑

跨库分析顾名思义,就是跨数据库进行数据的联合查询分析。

跨库分析一般做法是:新建多个数据链路,通过sql语句访问不同数据库下的数据;或者通过ETL工具,将不同数据库下的数据库表整合到一个数据库下进行查询。

今天,在这里分享一个极速跨库分析的方法。在亿信ABI一站式数据处理分析平台中,只需要简单的两步,就能完成跨数据库的查询分析。

亿信ABI跨库分析做法详解
这里用两张表做一个简单的示例。两张表分别存放在下面两个不同数据库的连接池中。Oracle数据库中存放汽车销量表(QC_XL),Mysql数据库中存放一张汽车价格表(QC_JG)。

截图201906261112476104.png 截图201906261113005858.png

第一步:建立SQL主题表
在数据集中主题表列表界面,点击“新建主题表”,选择SQL语句方式创建主题表。

截图201906261114294417.png

SQL主题表新建界面,首先选择数据库表所在的数据库连接池,这里选择oracle连接池,然后在sql查询语句处,输入要查询的sql语句。点击右上角的“测试”可以看到sql语句查询的结果集。

截图201906261115001315.png

下一步之后,在字段属性界面,可以编辑主题表字段的别名、标题、对应维表等。

截图201906261115282319.png

下一步,设置SQL主题表的特殊属性。

截图201906261115551627.png

最后设置SQL主题表的标题、名称、缓存时间以及缓存类型等。缓存类型决定了缓存数据存储的位置,缓存时间决定了缓存数据被储存的时间。

缓存类型规则
选择为内存时,系统会将原表数据根据sql生成结果缓存到内存中。
选择为数据库时,会将结果集缓存到系统库中。
选择为不缓存时,则直接访问不同数据库下原始数据库表的数据。
所以,要想实现跨库分析,那么联合分析的所有SQL主题表的缓存类型都要选择内存或者数据库

缓存时间规则
第一次访问数据后,在缓存时间之内,再次访问数据,得到的是已经缓存的数据。超过缓存时间时,缓存数据在内存或系统库中会被自动清除。如果再访问数据,则重新将原始数据表的数据缓存过来。

所以,设置合适的缓存时间,有助于我们及时获取最新数据。

截图201906261116324661.png

确定保存后,一张SQL主题表就建好了,同理,我们再根据Mysql库的汽车价格表创建另一个SQL主题。

截图201906261116584052.png

第二步:建立关联关系
在主题集属性的表关联关系中,新建关联关系。

截图201906261117296447.png

给之前建立的两个SQL主题表创建关联关系。这里用USERID字段作为连接,连接方式为内连接。

截图201906261117587807.png
截图201906261118158093.png

如此一来,就已经可以对它们进行关联查询了。这里简单地使用亿信ABI报表分析做一个联合查询的例子,例如:查询某年各月份的汽车销量及销售价格。

截图201906261118426899.png
截图201906261118561268.png

亿信ABI中的这种跨库分析手段,本质上,是通过创建SQL主题表将不同数据库下表的数据缓存到内存或系统库下进行分析展示。不需要编写复杂的sql语句,不需要使用ETL工具,简单的两步就能轻松实现跨库分析。

如此简单快捷的方式,还犹豫什么,赶紧用起来吧!

最近看过此主题的会员

土豆我是马铃薯

辰哥

biubiu

下个路口见

太阳当空照

本主题由辰哥于2019-9-27 17:24置顶

1个回答

只看楼主

辰哥 管理员

发表于2019-9-27 17:23

只看该作者

取消 关注该作者的回复

沙发

感谢大神的技能分享

登录后可回答问题,请登录注册

回帖消息提醒
快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

渠道咨询电话:137-0120-6790直销咨询电话:137-0121-6791

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱service@esensoft.com

关注我们

扫TA学习更多干货

进群交流、一对一指导

©2019ESENSOFT北京亿信华辰软件有限责任公司版权所有:京ICP备07017321号京公网安备11010802016281号