| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 深度分享:OLAP CUBE、空间换时间、MDX(下) -> 正文阅读 |
|
[大数据]深度分享:OLAP CUBE、空间换时间、MDX(下) |
前面的文章把空间换时间的原理给大家介绍了一下,接着我们再来看看OLAP CUBE具体是如何来实现的。 CUBE 比如时间、区域、产品和销售收入这三个维度和指标的组合。它会先跑一遍SELECT SUM(收入)FROM 表 GROUP BY 时间,接着就是SELECT SUM(收入)FROM 表 GROUP BY 时间、区域,接着就是SELECT SUM(收入)FROM 表 GROUP BY 时间、区域、产品,然后就可以是SELECT MAX(收入)FROM 表 GROUP BY 时间、区域、产品,就是把各种聚合函数、各种指标、各种维度、各种维度属性的查询SQL全都执行一遍,把结果存储起来管理起来,就变成了一个多维立方体就是CUBE。 数据可视化 - 派可数据商业智能BI可视化分析平台 这个CUBE本身的描述是通过一个或者一组XML文件来组成的,把里面所有可能用到的SQL在XML文件里面组织起来。真正处理这个CUBE的时候,实际上跑的是这些SQL语句,在关系型数据库中比如数据仓库中把数据取出来进行存储。所以CUBE的空间有时比数据仓库还要大,各种数据的组合都考虑到了。 当然,实际开发中并不会是所有的维度、所有的属性、所有的指标都有组合分析的必要,因此还可以提前做一些配置,把哪些认为可能组合分析的维度、指标关联上就可以了。 数据可视化 - 派可数据商业智能BI可视化分析平台 在CUBE里面就可以很灵活的做各种透视分析,数据都是秒出的。但是有一些非直接通过维度和指标组合就可以出来的数据结果就需要通过查询的方式把数据给查询出来,这个时候就要用到MDX语句。 MDX 在关系型数据库上的数据操作我们通过SQL语句去搞定,在多维分析数据库CUBE上的数据操作就要使用MDX的语句去搞定。 从代码量上比,MDX比SQL要少很多。比如分析去年在TOP 10消费的客户今年不在的客户有哪些,MDX可能两句话就搞定了,但是SQL就需要写一堆。 不过从便利性上来说,MDX语法更加复杂,三个月不写基本上就可以忘记差不多了,因为CUBE它是一个多维空间,不像关系型数据库是一个二维的、行列交叉一眼就能看明白。学习CUBE还是需要有一定的想象力空间,跟关系型数据库取数的逻辑思考方式完全不一样。 数据可视化 - 派可数据商业智能BI可视化分析平台 CUBE在一些海量数据,特别是大维度表,比如百万级别的维度、千万级的维度这种场景下分析优势还是比较明显的。 但是现在也有很多MPP数据库、列式数据库,再结合对数据仓库建模的优化,也可以解决一部分场景下的分析性能问题。现在OLAP的引擎也已经很多了,比如ClickHouse、Impala、Doris、Kylin 等等。 OLAP CUBE 的数据来源一般是来自规范的数据仓库,最好是基于Kimball 维度建模的数据仓库,本身就是标准的维度和事实,CUBE处理起来就更加的简单方便。但是在ETL调度的时候,周期就会拉的比较长,因为要先处理数据仓库的数据,再才能处理OLAP CUBE里面的数据。 OLAP 里面还有一些分类比如MOLAP、HOLAP、ROLAP,这些查查资料基本上就看明白,大概理解了就可以了。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 11:05:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |