这个CUBE本身的描述是通过一个或者一组XML文件来组成的 , 把里面所有可能用到的SQL在XML文件里面组织起来 。 真正处理这个CUBE的时候 , 实际上跑的是这些SQL语句 , 在关系型数据库中比如数据仓库中把数据取出来进行存储 。 所以CUBE的空间有时比数据仓库还要大 , 各种数据的组合都考虑到了 。
当然 , 实际开发中并不会是所有的维度、所有的属性、所有的指标都有组合分析的必要 , 因此还可以提前做一些配置 , 把哪些认为可能组合分析的维度、指标关联上就可以了 。
在CUBE里面就可以很灵活的做各种透视分析 , 数据都是秒出的 。 但是有一些非直接通过维度和指标组合就可以出来的数据结果就需要通过查询的方式把数据给查询出来 , 这个时候就要用到MDX语句 。 在关系型数据库上的数据操作我们通过SQL语句去搞定 , 在多维分析数据库CUBE上的数据操作就要使用MDX的语句去搞定 。 从代码量上比 , MDX比SQL要少很多 。 比如分析去年在TOP 10消费的客户今年不在的客户有哪些 , MDX可能两句话就搞定了 , 但是SQL就需要写一堆 。
但是从便利性上来说 , MDX语法更加复杂 , 三个月不写基本上就可以忘记差不多了 , 因为CUBE它是一个多维空间 , 不像关系型数据库是一个二维的、行列交叉一眼就能看明白 。 学习CUBE还是需要有一定的想象力空间 , 跟关系型数据库取数的逻辑思考方式完全不一样 。
CUBE在一些海量数据 , 特别是大维度表 , 比如百万级别的维度、千万级的维度这种场景下分析优势还是比较明显的 。
但是现在也有很多MPP数据库、列式数据库 , 再结合对数据仓库建模的优化 , 也可以解决一部分场景下的分析性能问题 。 现在OLAP的引擎也已经很多了 , 比如ClickHouse、Impala、Doris、Kylin等等 。
OLAP CUBE的数据来源一般是来自规范的数据仓库 , 最好是基于Kimball维度建模的数据仓库 , 本身就是标准的维度和事实 , CUBE处理起来就更加的简单方便 。 但是在ETL调度的时候 , 周期就会拉的比较长 , 因为要先处理数据仓库的数据 , 再才能处理OLAP CUBE里面的数据 。
【papi酱|关于OLTP 和OLAP 干货知识分享】OLAP里面还有一些分类比如MOLAP、HOLAP、ROLAP , 这些查查资料基本上就看明白 , 大概理解了就可以了 。
- 网贷平台|一加11没有凑数酱油镜头!李杰:相机一定会让你惊喜
- 一加|一加11没有凑数酱油镜头!李杰:相机一定会让你惊喜
- 本文转自:人民日报客户端...|关于XBB毒株,这些事情你需要知道!
- 网传有一张关于华为、三星新旧小折叠的参数对比图|华为、三星新旧小折叠参数对比
- wi-fi|关于WiFi广告模式的收益来源,你知道多少?
- Windows|关于更好发挥数据要素专题PPT课件分享
- 户外酱料随心做,东菱百味佐料机开启无线料理新时代
- |关于集成商们的托盘式的测试方案有哪些?
- 评测|关于手机厂商远程施法那些事
- 小编最近看了一部关于毕业季的电影|毕业论文如何转换成pdf?教你一招!