数据分析的结果对决策、业务发展有着举足轻重的作用。
BI系统大概的架构
在BI系统里面,核心的模块是Cube,Cube是一个更高层的业务模型抽象,在Cube之上可以进行多种操作,大部分BI系统都基于关系型数据库,关系型数据库使用SQL语句进行操作。
BI系统存在的问题
BI系统更多的以分析业务数据产生的密度高、价值高的结构化数据为主,对于非结构化和半结构化数据的处理非常乏力;
由于数据仓库为结构化存储,在数据从其他系统进入数据仓库,叫做ETL过程,通常需要一个专门的ETL团队去和业务做衔接,决定如何进行数据的清洗和转换;
随着异构数据源的增加,要解析数据内容进入数据仓库,则需要非常复杂等ETL程序,从而导致ETL变得过于庞大和臃肿;
当数据量过大的时候,性能会成为瓶颈,在TB/PB级别的数据量上表现出明显的吃力;
数据库的范式等约束规则,着力于解决数据冗余的问题,是为了保障数据的一致性,但是对于数据仓库来说,并不需要对数据做修改和一致性的保障,这些约束反而会成为影响性能的因素;
ETL动作对数据的预先假设和处理,导致机器学习部分获取到的数据为假设后的数据,因此效果不理想。
Hadoop大数据分析平台出现
侧重从以下几个维度去解决做数据分析面临的瓶颈:
分布式计算:
思路是让多个节点并行计算,并且强调数据本地性,尽可能的减少数据的传输;
分布式存储:
分布式存储是指将一个大文件拆成N份,每一份独立的放到一台机器上,以及管理等操作;
检索和存储的结合:
目前的存储不单单的存储数据内容,同时会添加很多元信息。
Hadoop体系的大数据架构
传统的大数据架构
流式架构
Lambda架构
Kappa架构
Unifield架构