随着大数据技术的发展,数据挖掘、数据探索等专有名词的曝光度越来越高,但是在类似于Hadoop系列的大数据分析系统大行其道之前,数据分析工作已经历了长足的发展,尤其是以BI系统为主的数据分析,已经有了非常成熟和稳定的技术方案和生态系统,对于BI系统来说,大概的架构图如下:
可以看到在BI系统里面,核心的模块是Cube。Cube是一个更高层的业务模型抽象,在Cube之上可以进行多种操作,例如上钻、下钻、切片等操作。
大部分BI系统都基于关系型数据库,而关系型数据库使用SQL语句进行操作,但是SQL在多维操作和分析的表示能力上相对较弱,所以Cube有自己独有的查询语言MDX。
MDX表达式具有更强的多维表现能力,因此以Cube为核心的分析系统基本占据着数据统计分析的半壁江山,大多数的数据库服务厂商直接提供BI套装软件服务,轻易便可搭建出一套OLAP分析系统,不过BI的问题也随着时间的推移逐渐暴露出来:
BI系统更多以分析业务数据产生的密度高、价值高的结构化数据为主,对于非结构化和半结构化数据的处理非常乏力。例如图片、文本、音频的存储、分析。
由于数据仓库为结构化存储,当数据从其它系统进入数据仓库这个东西,我们通常叫做ETL过程,ETL动作和业务进行了强绑定,通常需要一个专门的ETL团队去和业务做衔接,决定如何进行数据的清洗和转换。
随着异构数据源的增加,例如如果存在视频、文本、图